분류 전체보기

    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이 어떻게 동작하..

    WSL2에 USB device 연결

    WSL2에 USB device 연결

    WSL2를 사용하다 보면, 아쉬운 점 중 하나가 PC에 연결된 hardware 인식이 어렵다는 점이다. VirtualHere를 이용하면 Windows에 연결된 USB device를 WSL2에서 인식할 수 있다. WSL2 kernel 버전 확인 및 업데이트 VirtualHere을 이용하기 위해서는 Kernel이 USB/IP를 지원해야 한다. WSL2 Linux kernel 5.10.60.1 버전 이전까지만 하더라도 정식 배포 버전에는 USB/IP를 지원해주지 않아서 kernel을 수정하여 USB/IP를 활성화시켜줘야 했다. 하지만 kernel 5.10.60.1부터는 USB/IP를 지원해 주기 시작했다. WSL command창에서 아래 명령어를 통해 버전을 확인해보자. $ uname -r 5.10.60.1-..

    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에게 정보를 보내야 ..

    WSL설치 (WINDOWS에서 Linux GUI apps 이용하기)

    WSL설치 (WINDOWS에서 Linux GUI apps 이용하기)

    WSL(Windows Subsystem for Linux)란 개발자들이 Windows에서 GNU/Linux 환경을 사용할 수 있도록 Microsoft에서 제공하는 기능이다. dual boot나 3rd-party virtual machine 없이도 Linux환경에서 돌아가는 대부분의 utilities나 applications을 실행시킬 수 있다. 현재 WSL을 통해 nautilus, rqt 등을 잘 사용하고 있다. Windows 버전 확인 Linux GUI apps를 이용하기 위해서는 먼저 Windows 11 Build 22000 버전 이상이 필요하다. Setting -> System -> About (설정 -> 시스템 -> 정보) 에서 확인할 수 있다. (다행히 아직까지 Windows 11 업데이트로 인..

    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 ..