본문 바로가기
728x90

ros3

rosserial rosserial PC와 제어기 간의 메시지 통신을 위해 중계자 역할을 수행하는 ROS 패키지 rosserial 제약사항 1. 메모리 퍼블리셔, 서브스크라이버 개수 및 송신, 수신 버퍼의 크기를 미리 정의해야 함 2. Float64 MCU는 64비트 실수연산을 지원하지 않아 32비트형으로 변경함 3. String 문자열 데이터를 String 메시지 안에 저장하지 않고 외부에서 정의한 문자열 데이터의 포인터 값만 메시지에 저장함 4. Array 메모리 제약사항으로 배열의 크기를 지정해서 사용 5. 통신 속도 UART 같은 경우 115200bps와 같은 속도로는 메시지의 개수가 많아지면 응답 및 처리속도가 느려짐 2022. 12. 21.
ROS 통신방식 / package / roslaunch 사용법 ROS에서는 단방향 통신일 때, ‘Topic’이라는 메시지 통신 사용. 송신 측을 Publisher, 수신 측을 Subscriber 라고 부른다 catkin_create_pkg : package 생성 명령어 패키지 설정 파일(package.xml) 수정 패키지 정보를 담은 XM L 파일로서 패키지 이름, 저작자, 라이센스, 의존성 패키지 등을 기술 roslaunch 사용법 rosrun이 하나의 노드를 실행하는 명령어 roslaunch는 하나 이상의 정해진 노드를 실행 노드를 실행할 때 패키지의 매개변수나 노드 이름 변경, 노드 네임스페이스 설정, ROS_ROOT 및 ROS_PACKAGE_PATH 설정, 환경 변수 변경 등의 옵션을 붙일 수 있음. XML 기반이며, 태그별 옵션을 제공 실행 명령어는 “ r.. 2022. 12. 21.
ROS란? 로봇 소프트웨어를 개발하기 위한 소프트웨어 프레임워크 - 노드간 메시지 교환방법으로 복잡한 프로그램을 잘게 나눠 공동 개발 가능 - 명령어 도구, 시각화 도구 Rviz, GUI 도구 모음 rqt, 3차원 시뮬레이터 Gazebo 지원 ROS의 진정한 목적 - 로보틱스 소프트웨어 개발을 전세계 레벨에서 공동 작업 가능하도록 생태계를 구축하는 것 ROS를 사용 가능한 운영체제 - 기본적으로 Ubuntu, OS X 에서 구동하는 것을 추천 - OS를 탑재할 수 없는 MCU의 경우, 시리얼 통신, 블루투스, LAN 경유로 통신할 수 있는 라이브러리 제공 ROS 특징 통신 인프라 - 노드 간 데이터 통신 제공 통상적 미들웨어로 지칭되는 메시지 전달 인터페이스 지원 메시지 파싱 기능 메시지의 기록 및 재생 메시지 사.. 2022. 12. 20.
728x90