Launch 파일 사용하기
- 파이썬 파일을 여러개 실행하기 위해 rosrun <패키지명> < 파이썬 파일>을 여러 번 치는 것은 매우 불편하다. 따라서, *.launch 파일을 사용해서 여러 노드를 한꺼번에 실행시킬 수 있다.
- 사용법은 아래와 같다.
roslaunch [options] [package name] <filename> [arg_name:=value...]
Launch 파일 작성에 사용되는 Tag
- node 태그
실행할 노드 정보를 입력할 때 사용되는 태그
<node pkg="패키지 명" type="노드가 포함된 소스파일 명" name="노드 이름" />
<!-- 예시 -->
<node pkg="tutorial" type="turtle_cmdVel_pub.py" name="turtle_cmdVel_pub" />
<node pkg="tutorial" type="turtle_cmdVel_sub.py" name="turtle_cmdVel_sub" />
- include 태그
다른 launch 파일을 불러오고 싶을 때 사용하는 태그
<include file="$(find 패키지명)/launch/launch 파일 이름" />
#$(를 사용해서 패키지 폴더를 자동으로 찾아준다.
<include file="같이 실행할 *.launch 파일 경로" />
<include file="../launch/tutorial_send.launch" />
- param 태그
ROS 파라미터 서버에 변수를 등록하고 그 변수에 값을 설정하기 위한 태그
<param name="변수의 이름" type="변수의 타입" value="변수의 값" />
여기서 type에 사용할 수 있는 종류는 str, int, double, bool, yaml이 있다.
다음과 같이 .launch 파일을 작성했을 때,
<node pkg="패키지명" type="노드가 포함된 소스파일 명" name="노드" output="screen" >
<param name="age" type="int" value="11" />
</node>
파이썬 코드는 다음과 같이 작성한다.
import rospy
rospy.init_node('node')
print(rospy.get_param('~age')) # private parameter는 앞에 '~'을 붙인다.
'Programming > ROS' 카테고리의 다른 글
SLAM 정의 (0) | 2022.02.22 |
---|---|
Navigation stack 설명 (0) | 2022.02.22 |
오일러와 쿼터니언 (0) | 2022.02.10 |
Vector 알아보기 (0) | 2022.02.09 |
ROS 카메라 원격 설정 (0) | 2022.02.07 |