User Tools

Site Tools


robots:computer:talos:software:program_structure

Program structure

To provide a easy and modular programming of the robot, every device can be seperately started by a launch file. They provide the startup setting whats neccessary

Launch files for the actors and sensor devices:

  • Laserscanner (start_laserscanner.launch)
  • IMU (start_imu.launch)
  • Joystick (start_…)
  • Motorcontrollers
  • GPS

Launch Files for setting up the position estimation of the robot (odometry, path estimation, etc.):

  • start_local_positioning.launch
  • start_global_positioning.launch

Launch files for starting the basic control layers for following waypoints and avoid obstacles:

  • start_deterministic_control.launch
  • start_adaptive_control.launch

Launch files for the decision layer, what decides what singals finaly goes to the motorcontrollers and some visualisation:

  • start_decision_layer.launch
  • start_visualisation.launch

Under normal circumstances all launchfiles can be started with one command in a terminal: <note>roslaunch talos start_navigation.launch</note>

a detailed graph of all programmed nodes can be found in the next picture of the overall node graph…

Node graph:

Mission files

The robot navigation follow a 2D kartesian koordinate system. At outdoor navigation task we can use the UTM Koordinate System to navigate. So the positions can be set by absolute coordinates in UTM. This is sufficient for deterministic navigation. But if we want to perform a special task at a certain point, some more information for success is neccessary! This additional information could be:

  • how precice do the robot need to reach the “goal point”
  • how long should it stay there
  • does it need to wait for other tasks to accomplish (z.B. picking a fruit)
  • what to do if goal is unreachable
  • are some special control parameters neccessary
  • etc…

typically these information can be provided by a .txt or .xml file, because of the easy way of programming and uncomplicated change for different programmes.

Example mission file:

<mission> <route>

    <point 
    utme="0"
    utmn="0"
    comment="Point1"
  />    
<point
    utme="7.3103272608"
    utmn="-8.2351758052"
    speed="0.500"
    comment="Point2"
  />
  <point
    utme="9.7020082594"
    utmn="-6.5281831669"
    wait="5"
    comment="Point3"
  />
  <point
    utme="2.4196230196"
    utmn="1.5525352387"
    comment="Point4"
  />
  <point
    utme="4.51991709"
    utmn="3.5841530077"
    wait_until_task_ready="true"
    comment="Point5"
  />

</route> </mission>

robots/computer/talos/software/program_structure.txt · Last modified: 2021/08/14 04:21 (external edit)