ROS 2주차 스터디
https://youtube.com/playlist?list=PLX-Ur4rl2-qwNB3cD5UAGo-RPe5IBw1pu&feature=shared
ROS 용어
- Node : 최소 단위의 실행 가능한 프로세서 (하나의 실행 가능한 프로그램)
- Package : 하나 이상의 노드, 노드 실행을 위한 정보 등을 묶어 놓은 것
- Message : 메세지를 통해 노드간의 데이터를 주고 받게 된다.
Publisher → (Topic) → Subscriber
Topic에 대해 1:1의 Publisher Subscriber 통신도 가능하며, 목적에 따라서 1:N, N:1, N:N 통신도 가능하다.
Action, Action server, Action Client
액션 목표 전달
서버 ← 클라이언트
액션 피드백(중간결과) 전달, 액션 결과 전달
서버 → 클라이언트
마스터 구동 : 서버- XMLRPC(XML - Remote Prodecure Call)
https://ROS_MASTER_URL:11311 노드정보관리 — $roscore
$rosrun - 서브스크라이버, 퍼블리셔 노드 구동
마스터는 서브스크라이버 노드에게 새로운 퍼블리셔 정보를 알린다.
퍼블리셔 노드에 접속 요청
마스터로부터 받은 퍼블리셔 정보를 이영하여 TCPROS 접속을 요청
메시지는 노드 간에 데이터를 주고받을 때 사용하는 데이터의 형태
토픽, 서비스, 액션은 모두 메세지를 사용
단순 자료형
메세지 안에 메세지를 춤고 있는 간단한 데이터 구조
메시지들이 나열된 배열과 같은 구조
네임(Names)
노드, 메세지(토픽, 서비스, 액션, 파라미터) 가지는 고유의 식별자
ROS는 그래프라는 추상 데이터 형태 지원
글로벌(Global)
문자 없이 네임을 바로 쓰거나 네임 앞에 슬래쉬(/)를 붙임
프리베이트(private)
네임 앞에 틸트(~)를 붙임
좌표 변환(TF, transform)
각 조인트(joint)들의 상대 좌표 변환
트리 형태로 조인트들간의 관계도를 표시함
ROS 셸 명령어
$roscd - 지정한 ROS패키지의 디렉터리로 이동
$rosls - ROS 패키지의 파일 목록 확인
$rosed - ROS 패키지의 파일 편집
$roscp - ROS 패키지의 파일 복사
$rospd - ROS 디렉터리 인덱스에 디렉터리 푸가
$rosd - ROS 디렉터리 인덱스 확인
ROS 실행 명령어
$roscore - master(ROS 네임 서비스), rosout(로그 기록), parameter server(파라미터 관리)
$rosrun - 노드 실행
$roslaunch - 노드를 여러 개 실행 및 실행 옵션 설정
$rosclean - ROS 로그 파일을 검사하거나 삭제
Rviz (ROS Visualization Tool)
ROS의 3D 시각화툴
센서 데이터의 시각화
레이저 거리 센서(LDS)센서의 거리 데이터
RealSense, Kinect, Xtion 등의 Depth Camera의 포인트 클라우드 데이터
카메라의 영상 데이터
IMU 센서의 관성 데이터 등..
로봇 외형의 표시와 계획된 동작을 표현
URDF( Unfined Robot Description Format)
네비게이션
매니퓰레이션
원격 제어
RViz 설치 및 실행
RViz 설치
$sudo apt-get install ros-kinetic-rviz
Rviz 실행
$rosrun rviz rviz, $rviz
RQT : 플러그인 방식의 ROS의 종합 GUI 툴
설치 - $sudo apt-get install ros-kinetic-rqt ros-kinetic-rqt-common-plugins
실행 - $rqt
rqt_graph 예시)
'FOSCAR-(Autonomous Driving) > ROS 스터디' 카테고리의 다른 글
[2024 ROS 스터디] 정성진 #2주차 - ROS 명령어 및 도구 (2) | 2024.02.04 |
---|---|
[2024 ROS 스터디] 민경서 #2주차 - ROS 명령어 및 도구 (0) | 2024.02.04 |
[2024 ROS 스터디] 성창엽 #2주차 - ROS 명령어 및 도구 (0) | 2024.02.04 |
[2024 ROS 스터디] 변수양 #2주차 - ROS 명령어 및 도구 (0) | 2024.02.03 |
[2024 ROS 스터디] 안선영 #2주차 - ROS 명령어 및 도구 (0) | 2024.01.31 |