-
Notifications
You must be signed in to change notification settings - Fork 98
Connections Validator Tool
Nate Koenig edited this page May 21, 2020
·
3 revisions
This tutorial explains how to use the connections validator tool to visualize tile connections in the practice worlds.
- Open a terminal and launch a world following the instructions below (if you setup a catkin workspace):
cd ~/subt_ws/
source ~/subt_ws/install/setup.bash
ign launch -v 4 validate_connections.ign worldName:=[e.g. urban_qual or tunnel_circuit_practice_01]
If you installed the SubT Simulator as a docker image, then run these commands:
./run.bash osrf/subt-virtual-testbed validate_connections.ign worldName:=[e.g. urban_qual or tunnel_circuit_practice_01]
The above launches the world with a marker, a spotlight, and two camera displays (as shown below); which can be moved to various connections.
- Open another terminal and run these commands:
cd ~/subt_ws/
source ~/subt_ws/install/setup.bash
# Use any of the following commands to iterate the through the connections:
ign service -s /connection/next --reqtype ignition.msgs.StringMsg --reptype ignition.msgs.StringMsg --timeout 1000 --req 'data: ""'
ign service -s /connection/prev --reqtype ignition.msgs.StringMsg --reptype ignition.msgs.StringMsg --timeout 1000 --req 'data: ""'
# Then iterate through connections using the /connection/next service; which will respond with the connection name (e.g. data: "TBD") that the two cameras
# are displaying (top-down and at a 45 deg angle).
ign service -s /connection/next --reqtype ignition.msgs.StringMsg --reptype ignition.msgs.StringMsg --timeout 1000 --req 'data: ""'
If you are running the SubT Simulator inside a docker container, then run these commands to join the container:
containerid=$(docker ps -aqf ancestor=osrf/subt-virtual-testbed:latest) && echo $containerid
docker exec --privileged -e DISPLAY=${DISPLAY} -e LINES="`tput lines`" -it ${containerid} bash
# Once inside the docker container, then run these commands:
. install/setup.bash
ign service -s /connection/next --reqtype ignition.msgs.StringMsg --reptype ignition.msgs.StringMsg --timeout 1000 --req 'data: ""'