Engineering/ROS 2

Docker로 ROS를 사용하면 안 되는 이유

container기술을 통해 개발 환경 종속성 문제를 해결할 수 있다. 그 중 가장 많이 쓰이는 것은 당연 Docker이다. ROS + Docker 조합은 강력하지만 여러 보안 이슈를 안고 있다. 그래서 Canonical은 'Snapcraft'같은 대안 기술을 제공한다. 1. 내부 자원 접근 보안 문제 embedded programming을 하다보면 GPIO와 같은 하드웨어에 접근이 필요하다. 이 때 관리자 권한이 필요하다. 컨테이너에 관리자 권한을 주면, 하드웨어 해킹의 문제가 생길 수 있다. 2. 네트워크 보안 문제docker container에서 통신은 storage를 사용한다. 결국 네트워킹이 어렵고 보안에 취약하다.3. 지속적인 보안 업데이트가 어렵다. 위의 해킹 문제를 막기 위해, 보안 업데이..

Engineering/ROS 2025.01.06

ROS2, DDS와 QoS

1. DDS(Data Distribution Service) 정의OMG 에서 표준화한 middle ware 서비스이다. 즉, middle ware(프로세스) + 프로토콜(통신규약, API)이 DDS이다. ROS2에서는 DDS의 RTPS (Realtime Publish Subscribe)를 사용한다. Open source로는 Fast DDS와 Cyclone DDS(Eclipse Foundation)가 있고 사설 DDS를 활용하면 고성능 네트워킹이 가능하다. Gurum DDS(GurumNetwork)은 국내 자체 개발 DDS다. ROS2에서 노드들은 DDS(Data Distribution Service)에 참여한다.1.1 DDS 4가지 특징IDL(Interface Description Language)를 활..

Engineering/ROS 2025.01.04