Robotics

    Modern Robotics -  Configuration Space (2) - Topology/Representation/constraint

    Modern Robotics - Configuration Space (2) - Topology/Representation/constraint

    Definition topologically equivalent : 어떤 space를 자르기와 붙이기 없이 다른 space로 변경이 가능하다면 두 space는 topologically equivalent라고 한다. (어떤 물체를 변경하는데 구부리거나, 늘이거나, 줄일 수 있지만 구멍을 뚫을 수는 없다고 할 때, 찰흙공은 적절한 변형을 통해 접시와 같은 형태로 만들 수 있고 도넛 모양의 찰흙 모형은 적절한 변경을 통해 컵과 같은 형태로 만들 수 있다.) explicit representation : n-dimensional space를 표현하기 위해 n-coordinates를 선택하는 방법. (구 표면 위의 한 점을 latitude, longitude로 표현) implicit representation :..

    DDS RTPS 패킷 확인해보기 (wireshark)

    DDS RTPS 패킷 확인해보기 (wireshark)

    이전 글에서 DDS RTPS의 message, structure, behavior, discovery protocol 등에 대해서 알아보았다. 2022.02.04 - [Robotics/ROS] - DDS와 RTPS 개념정리 2022.02.05 - [Robotics/ROS] - DDS RTPS의 구조(structure)와 메세지(message) 2022.02.11 - [Robotics/ROS] - DDS RTPS의 동작(behavior) 2022.02.12 - [Robotics/ROS] - DDS RTPS의 Discovery Protocol 이번에는 publisher와 subscriber를 실행시켜 보고 discovery 하고, user data를 주고받는 과정에서 RTPS protocol이 어떻게 동작하..

    DDS RTPS의 Discovery Protocol

    DDS RTPS의 Discovery Protocol

    이전 시간에 DDS RTPS의 특징으로 publisher가 실시간으로 subscriber의 존재를 발견하거나 subscriber가 실시간으로 publisher의 존재를 발견할 수 있는 discover 기능을 갖추고 있다는 점을 언급었했다. 이번 시간에 어떻게 RTPS participant(ROS node)가 네트워크 상에 다른 participant(ROS node)를 찾고 매칭되는 endpoints(publisher 또는 subscriber)를 찾는지 알아보겠다. Discovery Protocol의 종류 discovery protocol은 PDP와 EDP라는 두 개의 독립적인 protocol로 나뉘게 된다. 먼저, PDP(Participant Discovery Protocol)를 통해 participai..

    DDS RTPS의 동작(behavior)

    DDS RTPS의 동작(behavior)

    이전 글에서 DDS RTPS의 구조와 메세지에 대해서 알아보았다. 이번 시간에는 behavior specification을 통해 DDS RTPS의 동작(Writer와 Reader 사이에 메세지가 어떠한 sequence로 교환되는지)에 대해 알아보도록 하겠다. * RTPS message는 빨간색으로 표시하였다. 메세지에 대한 내용은 이전 글(DDS RTPS의 구조(structure)와 메세지(message)) 참조. RTPS reader와 writer의 종류 RTPS의 reader와 writer에는 stateless, stateful 두 가지 종류가 존재한다. stateless writer : writer는 reader에 대한 어떠한 상태 정보도 관리하지 않는다. 단지 어떤 reader에게 정보를 보내야 ..

    DDS RTPS의 구조(structure)와 메세지(message)

    DDS RTPS의 구조(structure)와 메세지(message)

    이전 글에서 DDS와 RTPS가 무엇인지와 그 관계에 대해서 간단하게 정리했다. (DDS와 RTPS 개념정리) 이번 시간에는 DDS-RTPS의 communication의 주체인 RTPS Entity의 structure와 RTPS Entity들이 주고 받는 RTPS message에 대해 알아보고 정리해보겠다. DDS-RTPS Structure DDS-RTPS의 communication의 주체인 RTPS Entity는 아래와 같은 구조로 되어있다. Entity : RTPS communication의 주체로 DDS domain상에서 고유한 id를 갖고 있다. Participant : Entity로서 Endpoint들을 담고 있는 컨테이너이다. ROS에서 node를 생성하면 RTPS Participant가 생성..

    DDS와 RTPS 개념정리

    DDS와 RTPS 개념정리

    ROS2의 node간 통신으로 DDS가 이용되고 있다. 앞으로 DDS란 무엇인지 또 어떻게 동작하는지에 대해 내가 이해한 부분을 정리해보겠다. DDS(Data Distribution Service)란? DDS는 OMG(Object Management Group)에서 정의한 machine-to-machine 통신 standard이다. DDS는 publish-subscribe pattern을 바탕으로 높은 실시간성/신뢰성/퍼포먼스(빠른 속도)등을 목표로 하고 있다. DDS의 기본 communication model은 unidirection data exchange이다. data를 publish하는 쪽(DataWriter)에서 data를 subscribe하는 쪽(DataReader)으로 data update ..

    ROS 2 설치 (Windows WSL 이용)

    ROS 2 설치 (Windows WSL 이용)

    WINDOWS 환경에서 WSL을 설치하고 ROS2-galactic을 설치하는 방법에 대해 설명한다. Ubuntu OS를 사용 중이라면 "Install WSL2"는 skip하면 된다. ROS2를 설치하는 방법에 대해서는 Debian package를 이용하는 방법과 building하는 방법에 대해 다룰 것이다. Debian package를 이용하면 쉽고 빠르게 ROS2 설치가 가능하지만, ROS2 package들의 최신 버전을 적용하거나 code를 살펴보고 싶다면 building을 통해 ROS2를 설치하는 것을 추천한다. (둘 중 하나의 방법만 따르면 된다.) Install WSL2 WSL설치 (WINDOWS에서 Linux GUI apps 이용하기) 참조 Install ROS2 prerequisites 먼저..

    Modern Robotics - Configuration Space (1) - degree of freedom

    Modern Robotics - Configuration Space (1) - degree of freedom

    Definition Configuration : 한 로봇의 모든 포인트들의 포지션을 정의할 수 있는 specification. C-space : 로봇의 모든 가능한 configuration을 포함하는 n-dimensional space. DOF(degrees of freedom) : robot의 configuration을 표현(정의)하는데 필요한 최소한의 dimension(좌표) 수. Rigid Body : 형태가 변경되지 않는 물체. 배게와 같이 힘을 주면 형태가 변화하는 물체는 rigid body가 아니다. Link : 로봇의 body. (rigid body만을 다룬다.) Joint : 로봇에서 links 사이를 연결하는 부품. Actuator : 로봇에서 motor와 같이 forces 또는 torq..