Skip to content

topological navigation 2 testing

adambinch edited this page Feb 15, 2021 · 5 revisions

Topological Navigation 2 Testing

UNDER CONSTRUCTION

As members of the topological navigation 2 development team implement new features, please add instructions for testing them to this wiki - edit it as you see fit.

Upstream: https://github.com/LCAS/topological_navigation/tree/toponav2-devel

Next changes to be merged after testing: https://github.com/LCAS/topological_navigation/pull/54

Map Manager 2

To convert an old format map tmap.tmap to a new format map tmap.yaml first load the old map using the map manager:

rosrun topological_navigation map_manager.py -f /path/to/old/map/tmap.tmap

The -f arg tells the map manager to load the tmap directly from its file, rather than mongodb. The conversion will happen automatically. Call the following service to write the new format map to a file:

rosservice call /topological_map_manager2/write_topological_map "filename: ''"

If you dont provide a filename the map manager 2 will save the new format map to the same location as the old format map, and with the same name (except with a yaml extension rather than a tmap extension).

To load a new format map tmap.yaml use the map manager 2:

rosrun topological_navigation map_manager2.py /path/to/new/map/tmap.yaml

The map manager 2 converts new format maps (broadcast on the topic /topological_map_2) to the old format (broadcast on the topic /topological_map). This allows nodes/actions that rely on the old map format to function whilst using/testing features from the new map.

TMULE and Launch Files

A tmule script /RASberry/rasberry_bringup/tmule/toponav2-devel.yaml has been made which launches the components needed to run the navigation only, including the move_base, row_traversal and row_change actions. It runs topological navigation 2 using the following 2 launch files:

/RASberry/rasberry_navigation/launch/topological_map_manager2_central.launch: loads new format maps using the map manager 2

/RASberry/rasberry_navigation/launch/topological_navigation2_robot.launch: launches everything needed to run topological navigation, with an arg use_tmap2 which tells topological localisation and navigation to use the new map type.

These files will be developed as topological navigation 2 is developed.

Edge Reconfigure

Each edge in the new format map has a config field (see below), which contains a list of parameters to be reconfigured when the edge is traversed.

config:
- name: forward_speed
  namespace: row_traversal
  value: 1.2

This can be tested by running the tmule scenario /RASberry/rasberry_bringup/tmule/scenarios/toponav2-devel.sh. Have your .rasberryrc set like this:

export ROBOT_NAME="thorvald_024"
export SCENARIO_NAME="toponav2-devel"

Then

tmule -c $(rospack find rasberry_bringup)/tmule/toponav2-devel.yaml launch

which will bring up the Riseholme simulation and topological map (converted to the new format).

Two edges t1-r1-c1_t1-r1-c2 and t1-r2-c1_t1-r2-c0 in the map tell the robot to reconfigure its row traversal speed to maximum. Get the robot to traverse these edges to test Edge Reconfigure.

You can try testing you own Edge Reconfigure settings. The map manager 2 provides two services /topological_map_manager2/add_param_to_edge_config and /topological_map_manager2/rm_param_from_edge_config for adding and removing parameters from an edge's config, respectively.