[ROS 프로그래밍] 3. ROS 프로그래밍 기초(2)

YH·2023년 9월 3일
0

3. ROS 프로그래밍 기초(2)

1) roslaunch

  • $ roslaunch
    • *.launch 파일 내용에 따라 여러 노드들을 한꺼번에 실행시킬 수 있음
  • roslaunch 사용법
    • $ roslaunch [패키지이름][실행시킬 launch 파일 이름]
    • ex) $ roslaunch my_pkg1 aaa.launch
    • 이때 [실행시킬 launch 파일]은 반드시 패키지에 포함된 launch 파일이어야 함

2) *.launch 파일

  • roslaunch 명령어를 이용하여 많은 노드를 동시에 실행시키기 위한 파일
  • 실행시킬 노드들의 정보가 XML 형식으로 기록되어 있음

3) *.launch에서 사용하는 Tag : node

  • node 태그 : 실행할 노드 정보를 입력할 때 사용되는 태그
<node pkg="패키지 명" type="노드가 포함된 소스파일 명" name="노드 이름" />
  • 속성
    • pkg : 실행시킬 노드의 패키지 이름을 입력하는 속성
      • 반드시 빌드된 패키지의 이름을 입력해야 함
    • type : 노드의 소스코드가 담긴 파이썬 파일의 이름을 입력하는 속성
      • 이때 .py 파일을 반드시 실행권한이 있어야 함
    • name : 노드의 이름을 입력하는 속성
      • 소스코드에서 지정한 노드의 이름을 무시하고, launch 파일에 기록된 노드의 이름으로 노드가 실행됨

4) *.launch에서 사용하는 Tag : include

  • include 태그 : 다른 launch 파일을 불러오고 싶을 때 사용하는 태그
<include file="같이 실행 할 *.launch 파일 경로" />
  • 속성
    • file : 함께 실행시킬 *.launch 파일의 경로를 입력하는 속성

5) *.launch에서 사용하는 Tag : param

  • param 태그 : ROS 파라미터 서버에 변수를 등록하고 그 변수에 값을 설정하기 위한 태그
<param name="변수의 이름" type="변수의 타입" value="변수 값" />
  • 속성
    • name : 등록할 변수의 이름
    • type : 등록할 변수의 타입. 사용 할 수 있는 타입의 종류는 str, int, double, bool, yaml
    • value : 등록할 변수의 값
  • ROS 파라미터 서버에 등록된 변수는 노드 코드에서 불러와 사용할 수 있음

5) launch 파일 작성

  • 여러 노드를 함께 실행시킬 때 편리
    • $ roslaunch [package_name][file.launch]
    • 다수의 노드를 한꺼번에 실행 가능
    • 파라미터 값을 노드에 전달 가능
  • launch 파일 작성
    • $ gedit pub-sub.launch

6) launch 파일 실행

  • launch 파일 실행 방법
    • $ roslaunch my_pkg1 pub-sub.launch
  • $ roslaunch 명령을 사용할 때는
    • 별도로 $ roscore 명령을 실행할 필요가 없다.
    • 내부적으로 roscore가 자동으로 실행되어 매우 편하다.

7) 노드 동작 확인

  • 노드가 잘 동작하고 있는지 확인
    • $ rqt_graph
profile
Keep Recycling Your Dreams

0개의 댓글

관련 채용 정보