ROS Launch

roslaunch merupakan sebuah tool untuk mengeksekusi satu atau beberapa nodes sekaligus. Launch file bisa ditulis menggunakan format XML. Beberapa fitur roslaunch:

  • Setting parameter

  • Auto respawn jika node died

  • Remap topik

  • Setting namespace untuk topik

  • Enable gdb debug untuk C++

Berikut adalah contoh roslaunch untuk menjalankan simple_server node C++ dan Python:

Simple roslaunch

0 <?xml version="1.0"?>
1 <launch>
2   <node pkg="roscpp_simple_service_client" type="simple_server" name="simple_server_cpp" output="screen" />
3   <node pkg="rospy_simple_service_client" type="simple_server.py" name="simple_server_python" output="screen" />
4 </launch>
  • Argumen:

    • pkg: nama package

    • type : nama executable filenya seperti yang di CMakeLists.txt untuk C++ dan sesuai dengan nama file untuk Python

    • name : name dari nodenya (tidak harus sama dengan nama executable atau nama filenya)

    • output : menampilkan seluruh stdout/stderr ke terminal (opsional)

Roslaunch parameter dan argumen

0 <?xml version="1.0"?>
1 <launch>
2   <arg name="count_articles" default="false"/>
3   <node pkg="simple_roslaunch" type="simple_client" name="simple_client_cpp" output="screen" >
4     <param name="count_articles" value="$(arg count_articles)" />
5   </node>
6 </launch>
  • Argumen untuk param:

    • arg: memungkinkan passing argument melalui terminal

    • name: nama parameter

    • value : default value untuk parameter tersebut