Navigation Demo
The our_map_example behavior tree is a simpler demo focused on multi-waypoint
navigation and basic body movements (head and torso). It is a great starting point if
you are new to behavior trees or just want to see TiAGo move around without the
complexity of manipulation.
Before you start
Bring up the stack. Either the test_world or the full world works here:
ros2 launch tiago_demos tiago_bringup.launch.py world:=world
Running the demo
ros2 launch tiago_demos tiago_demo.launch.py tree:=our_map_example
What happens step by step
Setup - Initializes the controller names for the head and torso, and loads the joint trajectory definitions.
Navigate to Office - Drives to the Office waypoint (-8.25, -7.0 on the map, facing 180 degrees).
Head sweep - Executes a head sweep motion, like TiAGo is scanning the area.
Torso up - Raises the torso to its upper position.
Torso down - Lowers the torso back down.
Navigate to Trash - Drives to the Trash waypoint (-1.70, -5.5 on the map).
The whole sequence runs once and exits (no retry loop, unlike the pick demo).
Predefined waypoints
Both locations used in this demo come from tiago_demos/config/map_locations.yaml:
Office:
frame_id: map
pose:
x: -8.25
y: -7.0
z: 0.0
yaw_deg: 180.0
Trash:
frame_id: map
pose:
x: -1.70
y: -5.5
z: 0.0
yaw_deg: 90.0
All six predefined waypoints in the config file are:
Location |
X |
Y |
Yaw |
|---|---|---|---|
Dining |
4.48 |
5.93 |
0 deg |
Bedroom |
6.0 |
-2.57 |
135 deg |
Kitchen |
-2.94 |
-1.75 |
0 deg |
Trash |
-1.70 |
-5.5 |
90 deg |
Closet |
-8.5 |
7.0 |
180 deg |
Office |
-8.25 |
-7.0 |
180 deg |
Want to add your own waypoints? Just add a new entry to the YAML file following the
same format and reference it in your behavior tree as {loc.YourLocationName}.
What to try next
Once you are comfortable with this demo, check out Pick Object Demo for a more advanced walkthrough involving arm manipulation and object grasping. Or head over to Custom Behavior Trees to start building your own tree.