-
Notifications
You must be signed in to change notification settings - Fork 38
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
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.
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.
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.