Ros 공부 1일차 - roslaunch 생성(turtlesim), package생성
ROS package
ROS package는 코드와 문서 등등 다양한 것들이 조합되어있는 패키지로 구성되어있다. 우리는 우리만의 워크스페이스에 패키지를 하나 생성해서 우리만의 roslaunch파일을 생성해볼 예정이다.
$ cd ~/RC_ws/src
$ catkin_create_pkg turtle rospy roscpp
$ cd ..
$ $ catkin_make
여기까지 하면 우리는 turtle이라는 cpp와 python의 의존성을 갖는 turtle이라는 패키지를 만들었다.
roslaunch생성
이제 우리는 turtle이라는 패키지안에 launch디렉토리를 만들것이다. 그 후 launch파일을 생성해보겠다.
$ cd ~/RC_ws/src/turtle
$ mkdir launch
$ cd launch/
$ gedit remapping.launch
추가로 remapping.launch파일안에 밑과 같은 코드를 넣으면 된다.
<launch>
<group ns="right">
<node pkg="turtlesim" name="turtlesim" type="turtlesim_node"/>
<node pkg="turtlesim" name="draw_square" type="draw_square"/>
</group>
<node pkg="turtlesim" name="turtlesim_node1" type="turtlesim_node"/>
<node pkg="turtlesim" name="draw_square1" type="draw_square"/>
<node pkg="rqt_graph" name="rqt_graph" type="rqt_graph"/>
<node pkg="turtlesim" name="draw_square" type="draw_square">
<remap from="turtle1/pose" to="turtle/pose2"/>
<remap from="turtle1/cmd_vel" to="turtle/cmd_vel2"/>
</node>
<node pkg="turtlesim" name="turtlesim" type="turtlesim_node">
<remap from="turtle1/cmd_vel" to="turtle/cmd_vel2"/>
<remap from="turtle1/pose" to="turtle/pose2"/>
</node>
</launch>
-
group으로 묶어준 부분이 상위 namespace로 remapping 해준부분이다.
-
group 다음 세줄은 node의 이름만 바꿔준 부분이다.
-
remap을 사용해서 topic의 이름을 바꿔 보았다.
ps) 제대로 이해하고 사용해서 그런지 매우 편하게 와닿았다. roslaunch가 확실히 편하다.
$ cd ~/RC_ws
$ catkin_make
$ roslaunch turtle remapping.launch

git clone https://github.com/jeong-han-kim/turtle
직접 복붙하기도 귀찬은 분들은 catkin_ws/src안에 git clone하시길 바란다.