Interfaces¶
ROS-Topics¶
Below is the list of ROStopics in the Mowito Navigation Stack. In order to check the data from any of the topics below, on terminal
1. source ROS source /opt/ros/<your ros version>/setup.bash
2. rostopic echo <ros topic address>
| Topic name | address | description |
| Command Velocity Publisher | /cmd_vel |
it contains the linear and angular velocity which the robot should follow. |
| Plan Publisher | /plan |
it contains the global path/plan which the robot will follow |
| Goal Queue Publisher | /goal_queue |
Publishes all the goals in the queue |
| Odometry | /odom |
Contains the odometry of the robot. It is used as input by the Navigation Stack |
| Mission Executive Status Publisher | /mission_status |
Contains the navigation status of the robot. |
Service Calls¶
In order to make a service call, on terminal (after sourcing ROS) do rosservice call <address of the service> <tab><tab> . Tab-tab to autocomplete the data structure, which user can modify. Service calls are best done programmatically, rather than through terminal. Here is a list of the service calls in the navigation stack.
| Service Name | Address | Description |
| Set Plan | /mission_executive/set_plan |
It lets the user to set a custom plan for the mission.
In other words, this service is used to when custom global planner is used
to plan the path, and pass it to the navigation stack for the robot to follow it.
one example of program using this service is rosrun mission_executive set_plan_client |
| Set Route | /mission_executive/set_route |
It lets the user to set multiple waypoints programatically. One example of a
program using this service is set_route_client (checkout Route based Navigation in Step 4). |
| Route Status | /mission_executive/get_route_status |
returns the status of current route the robot is executing |
| Change Planner | /mission_executive/change_planner |
changes the path planner used by the robot dynamically ( without terminating the stack). |
| Change Controller | /mission_executive/change_controller |
changes the controller used by the robot dynamically |
| Abort Planner Goals | /mission_executive/abort_controller_goals |
cancels all the controller goals |
| Abort Mission | /mission_executive/abort_mission |
cancels all the planner and controller goals thereby aborting the mission |
| Abort Controller Goal | /mission_executive/abort_controller_goals |
cancels all the controller goals. |
| Trigger Recovery | /mission_executive/trigger_recovery |
triggers the robot into recovery mode |
| Set Manual Override | /mission_executive/set_manual_overrride |
It lets the user take over the executive giving user complete control over the movement the robot. In Manual mode, the executive will not publish command velocities. The executive will also not accept any goals, routes or plans until this service is called again and manual_mode is set to false |
| Change primitives | /mw_maxl_planner/change_mprims |
It allows you to change motion primitives at runtime.For service call mention path to motion primitive’s Files you would like to change to as argument as an argument to service |