Software

General:

Visualisation tool (Example):

General Programming structure

Launch files:

as typical in the ROS environment, the whole system parameters can be defined by launch files. At the current status of the TALOS robot every Sensor-System got its own launch file. A launch file defines the running programms (nodes) and the neccessary starting parameters for the device/programm or algorithm. Description of ROS launch files can be found here: link

Example for a minimum setup:

  1. Start programm for accessing the motorcontrollers
  2. Start programm to recceive some signals of a joystick
  3. Start programm to send the joystick signals to the motorcontroller

In our system system these parts get started by two different launch files:

In each of this launch files start several programes (nodes) and set the parameters for them:

<launch>

<node pkg="joy" type="joy_node" name="joy_node" output="screen">
		<param name="joy_node/dev" value="/dev/input/js0"/>
</node>
<node pkg="talos" type="joystick_core" name="joy" output="screen">
		<param name="joy_sub" value="/joy"/>
		<param name="cmd_vel" value="/cmd_vel_joy"/>
		<param name="cmd_vel_frame" value="/robot_frame"/>
</node>

</launch>

in this example, the joystickdriver gets started (pkg=“joy”) and the port gets defined. The second node (pkg=“talos”) is responsible for providing the joystickvalues at defined variables, so that other programmes can use the values later.

For autonomous mode there are a lot of more different nodes neccessary. The rough programming structure gets explained here:

Program structure