공부중

[ROS2] 본문

프로그래밍/ROS

[ROS2]

복습 2024. 10. 24. 16:05
728x90

1. ROS2의 특징 

- 플랫폼 : 리눅스, 윈도우, 맥OS를 모두 지원한다. 

- Real-time : 실시간성을 지원. 하지만 선별된 하드웨어, 리얼 타일 지원 운영체제, DDS의 RTPS와 같은 통신 프로코콜, 리얼타임 코드가 사용될 경우임. 

- 보안성: ROS1에서의 ip와 port만 노출되면 모든 시스템을 죽일 수 있었음. 즉 보안적우로 매우 취약했음. 따라서 ROS2에서는 TCP 기간의 통신을 DDS를 도입, 또한 SROS2를 개발하여 보안 관련 RCL 서포트를 강화하였다. DDS에서는 IDL을 사용하여 메시지 정의 및 직렬화를 더 쉽고 포관적으로 다룰 수 있음. 

- 노드 메니저 : ROS1에서는 로스 마스터와, 로스 마라미터 서빗, 로스 아웃 로깅 노드가 수행되어야 함. 2에서는 3가지 프로그램이 각각 독립적으로 수행되도록 바뀜. ROS MASTER는 완전히 사라지고 DDS의 기능으로 대체됨. 

- 언어 : C++과 파이썬 

- 빌드 시스템 : ament. ROS2dptjsms ahems vkdlTjs vozlwlrk dhkswjsgks ehrflqdmf dlfndp ehldjTdma. 

- build tools : colcon(collective construction)

- 빌드 옵션 : 복수의 독립된 워크스페이스 사용 가능 .

또한 모든 패키지를 별도로 빌드 가능. -> 설치용 폴더를 분리하거나 병합 가능 

패키지를 빌드하고 설치해야 패키지를 사용가능 

- 라이프 사이클 : 로봇의 현재 상태를 파악하고 현재 상태에서 다른 상태로 변경되는 ㅡ상태 천이 제어. . 패키지의 각 노드들의 현재 상태를 모니터링 하고 상태를 제어가 가능한 라이프사이클을 클라이던트 라이브러리에 포함시켰으며, 이를 통해 ROS 시스템의 상태를 보다 효과적으로 제어 . 이를 통해 노드의 상태를 모니터링하고 상태를 천이시키는 것이 가능. 또한 노드의 상태에 따라 재시작하거나 교체하는 것이 가능 . 

 

 

2. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

---

https://product.kyobobook.co.kr/detail/S000001891112

 

ROS 2로 시작하는 로봇 프로그래밍 | 표윤석 - 교보문고

ROS 2로 시작하는 로봇 프로그래밍 | 이 책은 ROS 공식 플랫폼인 TurtleBot3의 개발자이자 10여 년간 ROS 기반 프로젝트를 진행한 로보틱스 엔지니어인 필자들이 실무에서 얻은 경험과 커뮤니티 활동을

product.kyobobook.co.kr

728x90