Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

:)

ROS 기초 본문

ROS

ROS 기초

mihee 2022. 3. 5. 23:28

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 파라미터 서버에 등록된 변수는 노드 코드에서 불러와 사용할 수 있음.

노드를 여러개 띄울때

  1. anonymous = True --> 하나의 코드로 여러 개의 노드를 연결하기 위해 노드의 이름을 자동설정

  2. 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