tuw_multi_robot: tuw_multi_robot_ctrl | tuw_multi_robot_demo | tuw_multi_robot_local_behavior_controller | tuw_multi_robot_msgs | tuw_multi_robot_router | tuw_multi_robot_rviz | tuw_voronoi_graph

Package Summary

A simple multi robot controller using Routes as input, which are used to execute the path synchronized.

  • Maintainer status: maintained
  • Maintainer: Benjamin Binder <benjamin.binder AT tuwien.ac DOT at>, Markus Bader <markus.bader AT tuwien.ac DOT at>, Florian Beck <florian.beck AT tuwien.ac DOT at>
  • Author: Benjamin Binder <benjamin.binder AT tuwien.ac DOT at>
  • License: BSD
  • Source: git https://github.com/tuw-robotics/tuw_multi_robot.git (branch: master)


This package provides a simple multi robot controller to follow a route. It contains a node which controls all robots at once for performance reasons with a high number of robots (> 100).

Multi Segment Controller Node

This node receives route messages from the tuw_multi_robot_router. It provides control input for all robots to move on their routes in a synchronized fashion.

Subscribed Topics

[robot_name]/path (tuw_multi_robot_msgs/Route)

  • A synchronized route for every robot containing Segment Preconditions.

robot_info (tuw_multi_robot_msgs/RobotInfo)

  • Contains the current pose of every robot used to determine the start and goal points.

[robot_name]/ctrl (std_msgs/string)

  • Topic to send debug msgs
    • run: run the whole routing table
    • step: every robot performs one step
    • stop: every robot stops at the next step

Published Topics

[robot_name]/cmdVel (geometry_msgs/Twist)

  • The cmd vel to the robot

robot_info (tuw_multi_robot_msgs/RobotInfo)

  • RobotInfo containing radius, robotName, sync


~robot_names (string[] default: "[robot_0]")

  • Sets the prefixes for all topics (e.g.: /robot_0/odom)

~robot_names_str (string default: "")

  • A string which overrides the robot_names array to prevent a method of giving the param over console. All robot names have to be seperated by ",".

~robot_radius (float[] default: "[]")

  • Sets the radius of every robot

~robot_default_radius (float default: "0.3")

  • Sets the default radius for robots. Every robot radius which is not defined by robot_radius is set to the default one.

~cmd_vel_topic (string default: "cmd_vel")

  • The topic for publishing the commands to the robot.

~route_topic (string default: "route")

  • The route from the multi robot router for each robot.

~topic_ctrl (string default: "ctrl")

  • The topic where debug msgs can be sent (see subscribed topics)

~max_v (float default: "0.8")

  • The maximum linear speed of every robot.

~max_w (float default: "1.0")

  • The maximum angular velocity of every robot.

~goal_radius (float default: "0.2")

  • The goal radius where the robot is allowed to switch to the next path segment.

~Kp (float default: "5.0")

  • Kp val of the controller.

~Kd (float default: "1.0")

  • Kd val of the controller.

~Ki (float default: "0.0")

  • Ki val of the controller.

Report a Bug

Use GitHub to report bugs or submit feature requests. [View active issues]

Wiki: tuw_multi_robot_ctrl (last edited 2018-07-03 06:58:42 by Markus Bader)