:)
ROS 기초 본문
ROS 패키지
패키지 - ROS에서 개발되는 소프트웨어를 논리적 묶음으로 만든것
ROS가 제공하는 편리한 명령들
$ rospack list - 어떤 패키지들이 있는지 나열
$ rospack find \[package\_name\] - 패키기 찾기`
ROS 패키지 만들기
$ cd ~/xycar_ws/src
패키지 새로 만들기
$ catkin_create_pkg my_pkg1 std_msgs rospy
새로만든 패키지 빌드
$ cd ~/xycar_ws
$ catkin_make -> cm으로 한벙네 실행가능
만들어진 패키지 확인
$ rospack find my_pkg1
$ rospack depends1 my_pkg1
$ roscd my_pkg1
Launch 파일 사용하기
$ roslauch
*.launch 파일 내용에 따라 여러 노드들을 한꺼번에 실행시킬 수 있음
- 위치 : src/Package/launch/*.launch
node 태그 : 실행할 노드 정보를 입력할 때 사용되는 태그
- 속성
- pkg : 실행시킬 노드의 패키지 이름을 입력하는 속성, 반드시 빌드된 패키지의 이름을 입력해야함
- type : 노드의 소스코드가 담긴 파이썬 파일의 이름을 입력하는 속성, 이때 파이썬 파일은 반드시 실행권한이 있어야 함.
- name : 노드의 이름을 입력하는 속성, 소스코드에서 지정한 노드의 이름을 무시하고, launch 파일에 기록된 노드의 이름으로 노드가 실행됨.
- 속성
include 태그 : 다른 launch 파일을 불러오고 싶을 때 사용하는 태그
- 속성
- file : 함께 실행시킬 *.launch 파일의 경로를 입력하는 속성
- 속성
$ roslaunch 명령을 사용할 때는 -> 별도로 $ roscore 명령을 실행할 필요X (내부적으로 자동 실행됨)
param 태그 : ROS 파라미터 서버에 변수를 등록하고 그 변수에 값을 설정하기 위한 태그
- name, type(등록할 변수 타입, 사용할 수 있는 타입의 종류는 str(default), int, double, bool, yaml), value
ROS 파라미터 서버에 등록된 변수는 노드 코드에서 불러와 사용할 수 있음.
노드를 여러개 띄울때
anonymous = True --> 하나의 코드로 여러 개의 노드를 연결하기 위해 노드의 이름을 자동설정
launch 파일을 이용해서 roslaunch 명령으로 여러 노드를 띄울 수 있음, name 부분을 다르게 설정
'ROS' 카테고리의 다른 글
자이카 센서 (0) | 2022.03.11 |
---|---|
RVIZ 오도메트리 활용 (0) | 2022.03.10 |
URDF기반 자동차 3D모델링 (0) | 2022.03.10 |
자이카 ROS 패키지 (0) | 2022.03.07 |
ROS 설치와 구동 실습 (0) | 2022.03.06 |
Comments