Skip to content

Commit af36772

Browse files
authored
Update FollowMe docs for latest changes. (open-edge-platform#2111)
1 parent d9ac06a commit af36772

File tree

2 files changed

+78
-283
lines changed

2 files changed

+78
-283
lines changed

robotics-ai-suite/docs/robotics/dev_guide/tutorials_amr/navigation/follow_me/Simulation_demos/followme-with-gesture-audio.md

Lines changed: 55 additions & 217 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ for the framework:
7777

7878
```bash
7979
pip3 install --upgrade pip
80+
pip3 install pyyaml
8081
pip3 install -r /opt/ros/jazzy/share/followme_turtlebot3_gazebo/scripts/requirements_audio_jazzy.txt
8182
```
8283

@@ -86,6 +87,7 @@ pip3 install -r /opt/ros/jazzy/share/followme_turtlebot3_gazebo/scripts/requirem
8687

8788
```bash
8889
pip3 install --upgrade pip
90+
pip3 install pyyaml
8991
pip3 install -r /opt/ros/humble/share/followme_turtlebot3_gazebo/scripts/requirements_audio_humble.txt
9092
```
9193

@@ -98,133 +100,47 @@ Please make sure to source the `/opt/ros/jazzy/setup.bash` file at first before
98100
executing any command in a new terminal. You can get more details in
99101
[Prepare the Target System](../../../../../gsg_robot/prepare-system.md) page.
100102

101-
Run the following commands one by one in five separate terminals:
103+
Run the following script to launch Gazebo simulator and ROS 2 rviz2.
102104

103-
1. Terminal 1: This command will open ROS 2 rviz2.
104-
105-
<!--hide_directive::::{tab-set}
106-
:::{tab-item}hide_directive--> **Jazzy**
107-
<!--hide_directive:sync: jazzyhide_directive-->
108-
109-
```bash
110-
rviz2 -d /opt/ros/jazzy/share/followme_turtlebot3_gazebo/rviz/followme_lidar.rviz
111-
```
112-
113-
<!--hide_directive:::
114-
:::{tab-item}hide_directive--> **Humble**
115-
<!--hide_directive:sync: humblehide_directive-->
116-
117-
```bash
118-
rviz2 -d /opt/ros/humble/share/followme_turtlebot3_gazebo/rviz/followme_lidar.rviz
119-
```
120-
121-
<!--hide_directive:::
122-
::::hide_directive-->
123-
124-
You will see the ROS 2 rviz2 with a panel for `Image` visualization. It will
125-
display the published RGB image in the simulated RGB camera.
126-
127-
![rviz_display_follow_me](../../../../../images/rviz_display_follow_me.png)
128-
129-
2. Terminal 2: This command will launch `ros-jazzy-text-to-speech-pkg`.
130-
131-
<!--hide_directive::::{tab-set}
132-
:::{tab-item}hide_directive--> **Jazzy**
133-
<!--hide_directive:sync: jazzyhide_directive-->
134-
135-
```bash
136-
ros2 run text_to_speech_pkg text_to_speech_node.py --ros-args --params-file /opt/ros/jazzy/share/text_to_speech_pkg/config/text_to_speech_config.yaml
137-
```
138-
139-
<!--hide_directive:::
140-
:::{tab-item}hide_directive--> **Humble**
141-
<!--hide_directive:sync: humblehide_directive-->
142-
143-
```bash
144-
ros2 run text_to_speech_pkg text_to_speech_node.py --ros-args --params-file /opt/ros/humble/share/text_to_speech_pkg/config/text_to_speech_config.yaml
145-
```
146-
147-
<!--hide_directive:::
148-
::::hide_directive-->
149-
150-
You will see the ROS 2 node starting up and loading the parameter files for the underlying neural networks. This operation may take ~5-10 seconds depending on the system speed.
151-
152-
![text_to_speech_launch_follow_me](../../../../../images/text_to_speech_launch_follow_me.png)
153-
154-
3. Terminal 3: This command will launch `Gazebo`.
155-
156-
```bash
157-
export TURTLEBOT3_MODEL=waffle
158-
ros2 launch followme_turtlebot3_gazebo empty_world_followme_w_gesture_audio_1.launch.py
159-
```
160-
161-
You will see the `Gazebo` GUI with two simulated robots in an empty `Gazebo` world.
162-
We suggest to rescale and place the `Gazebo` and rviz panels side by side
163-
(like the following picture) for better visualization of the demo.
164-
165-
![follow_me_demo_gazebo_rviz](../../../../../images/follow_me_demo_gazebo_rviz.png)
166-
167-
- The green square robot is a guide robot (namely, the target), which will
168-
follow a pre-defined trajectory.
169-
- The gray circular robot is a
170-
[TurtleBot3](https://emanual.robotis.com/docs/en/platform/turtlebot3/simulation/#gazebo-simulation)
171-
robot, which will follow the guide robot.
172-
173-
TurtleBot3 robot is equipped with a 2D Lidar and an Intel® RealSense™ Depth Camera.
174-
In this demo, the 2D Lidar is selected as the point cloud input.
175-
176-
In this demo, we used a pre-defined trajectory for the guide robot and published
177-
gesture image as well as pre-recorded audio at different points of time to show
178-
`start`, `follow` and `stop` activities of the TurtleBot3 robot.
179-
180-
4. Terminal 4: This command will launch the `adbscan` node, which will publish
181-
`twist` msg to the `tb3/cmd_vel` topic:
182-
183-
<!--hide_directive::::{tab-set}
184-
:::{tab-item}hide_directive--> **Jazzy**
185-
<!--hide_directive:sync: jazzyhide_directive-->
186-
187-
```bash
188-
ros2 run adbscan_ros2_follow_me adbscan_sub_w_gesture_audio --ros-args --params-file /opt/ros/jazzy/share/adbscan_ros2_follow_me/config/adbscan_sub_2D.yaml -r cmd_vel:=tb3/cmd_vel -p use_sim_time:=true
189-
```
190-
191-
<!--hide_directive:::
192-
:::{tab-item}hide_directive--> **Humble**
193-
<!--hide_directive:sync: humblehide_directive-->
105+
<!--hide_directive::::{tab-set}
106+
:::{tab-item}hide_directive--> **Jazzy**
107+
<!--hide_directive:sync: jazzyhide_directive-->
194108

195-
```bash
196-
ros2 run adbscan_ros2_follow_me adbscan_sub_w_gesture_audio --ros-args --params-file /opt/ros/humble/share/adbscan_ros2_follow_me/config/adbscan_sub_2D.yaml -r cmd_vel:=tb3/cmd_vel -p use_sim_time:=true
197-
```
109+
```bash
110+
sudo chmod +x /opt/ros/jazzy/share/followme_turtlebot3_gazebo/scripts/demo_lidar_audio.sh
111+
/opt/ros/jazzy/share/followme_turtlebot3_gazebo/scripts/demo_lidar_audio.sh
112+
```
198113

199-
<!--hide_directive:::
200-
::::hide_directive-->
114+
<!--hide_directive:::
115+
:::{tab-item}hide_directive--> **Humble**
116+
<!--hide_directive:sync: humblehide_directive-->
201117

202-
You will view the following information in the terminal.
118+
```bash
119+
sudo chmod +x /opt/ros/humble/share/followme_turtlebot3_gazebo/scripts/demo_lidar_audio.sh
120+
/opt/ros/humble/share/followme_turtlebot3_gazebo/scripts/demo_lidar_audio.sh
121+
```
203122

204-
![adbscan_screenshot_lidar](../../../../../images/adbscan_screenshot_lidar.png)
123+
<!--hide_directive:::
124+
::::hide_directive-->
205125

206-
5. Terminal 5: This command will launch the pre-defined trajectory for the guide
207-
robot as well as the simulated gesture images and pre-recorded audio publisher nodes:
126+
You will see two panels side-by-side: Gazebo GUI on the left and ROS 2 rviz display on the right.
208127

209-
```bash
210-
ros2 launch followme_turtlebot3_gazebo empty_world_followme_w_gesture_audio_2.launch.py
211-
```
128+
![follow_me_demo_gazebo_rviz](../../../../../images/follow_me_demo_gazebo_rviz.png)
212129

213-
> **Note**:
214-
>
215-
> If you are running the demo in 13th Generation Intel® Core™ processors with
216-
> Intel® Iris® Xe Integrated Graphics (known as Raptor Lake-P), please replace
217-
> the commands in terminal with the following:
218-
>
219-
> ```bash
220-
> ros2 launch followme_turtlebot3_gazebo empty_world_followme_w_gesture_audio_2.launch.py soc:='rpl'
221-
> ```
130+
- The green square robot is a guide robot (namely, the target), which will
131+
follow a pre-defined trajectory.
132+
- The gray circular robot is a
133+
[TurtleBot3](https://emanual.robotis.com/docs/en/platform/turtlebot3/simulation/#gazebo-simulation)
134+
robot, which will follow the guide robot.
222135

223-
This command will display the following information:
136+
TurtleBot3 robot is equipped with a 2D Lidar and an RealSense™ Depth Camera.
137+
In this demo, the 2D Lidar is selected as the point cloud input.
224138

225-
![publisher_screenshot](../../../../../images/publisher_screenshot.png)
139+
In this demo, we used a pre-defined trajectory for the guide robot and published
140+
gesture image as well as pre-recorded audio at different points of time to show
141+
`start`, `follow` and `stop` activities of the TurtleBot3 robot.
226142

227-
As soon as the last command is executed, you will view that the guide robot
143+
After the command is executed, you will view that the guide robot
228144
starts moving towards TurtleBot3 robot.
229145
To start the TurtleBot3 robot, condition 1 and either one of the conditions 2 or 3
230146
from the following list needs to be true:
@@ -262,132 +178,54 @@ the `start` and `stop` activity of the TurtleBot3 robot.
262178
> be ignored if it does not match `thumbs up` or `thumbs down`.
263179
> Thereby, any undesired manipulation of the robot is blocked.
264180
265-
## Run Demo with Intel® RealSense™ Camera
181+
## Run Demo with RealSense™ Camera
266182

267183
Please make sure to source the `/opt/ros/jazzy/setup.bash` file (or `/opt/ros/humble/setup.bash`)
268184
at first before executing any command in a new terminal.
269185
You can get more details in [Prepare the Target System](../../../../../gsg_robot/prepare-system.md) page.
270186

271-
Execute the following commands one by one in three separate terminals:
187+
Run the following script to launch Gazebo simulator and ROS 2 rviz2.
272188

273-
1. Terminal 1: This command will open ROS 2 rviz2.
274-
275-
<!--hide_directive::::{tab-set}
276-
:::{tab-item}hide_directive--> **Jazzy**
277-
<!--hide_directive:sync: jazzyhide_directive-->
278-
279-
```bash
280-
rviz2 -d /opt/ros/jazzy/share/followme_turtlebot3_gazebo/rviz/followme_lidar.rviz
281-
```
282-
283-
<!--hide_directive:::
284-
:::{tab-item}hide_directive--> **Humble**
285-
<!--hide_directive:sync: humblehide_directive-->
286-
287-
```bash
288-
rviz2 -d /opt/ros/humble/share/followme_turtlebot3_gazebo/rviz/followme_lidar.rviz
289-
```
290-
291-
<!--hide_directive:::
292-
::::hide_directive-->
293-
294-
You will see ROS 2 rviz2 GUI with a panel for `Image` visualization. It will
295-
display the published RGB image in the simulated RGB camera.
296-
297-
![rviz_display_follow_me](../../../../../images/rviz_display_follow_me.png)
298-
299-
2. Terminal 2: This command will launch `ros-jazzy-text-to-speech-pkg`.
300-
301-
<!--hide_directive::::{tab-set}
302-
:::{tab-item}hide_directive--> **Jazzy**
303-
<!--hide_directive:sync: jazzyhide_directive-->
304-
305-
```bash
306-
ros2 run text_to_speech_pkg text_to_speech_node.py --ros-args --params-file /opt/ros/jazzy/share/text_to_speech_pkg/config/text_to_speech_config.yaml
307-
```
308-
309-
<!--hide_directive:::
310-
:::{tab-item}hide_directive--> **Humble**
311-
<!--hide_directive:sync: humblehide_directive-->
312-
313-
```bash
314-
ros2 run text_to_speech_pkg text_to_speech_node.py --ros-args --params-file /opt/ros/humble/share/text_to_speech_pkg/config/text_to_speech_config.yaml
315-
```
316-
317-
<!--hide_directive:::
318-
::::hide_directive-->
319-
320-
You will see the ROS 2 node starting up and loading the parameter files for
321-
the underlying neural networks. This operation may take ~5-10 seconds depending on the system speed.
322-
323-
![text_to_speech_launch_follow_me](../../../../../images/text_to_speech_launch_follow_me.png)
324-
325-
3. Terminal 3: This command will launch `Gazebo`.
326-
327-
```bash
328-
export TURTLEBOT3_MODEL=waffle
329-
ros2 launch followme_turtlebot3_gazebo empty_world_followme_w_gesture_audio_1.launch.py
330-
```
331-
332-
4. Terminal 4: This command will launch the `adbscan` node, which will publish
333-
`twist` msg to the `tb3/cmd_vel` topic:
334-
335-
<!--hide_directive::::{tab-set}
336-
:::{tab-item}hide_directive--> **Jazzy**
337-
<!--hide_directive:sync: jazzyhide_directive-->
338-
339-
```bash
340-
ros2 run adbscan_ros2_follow_me adbscan_sub_w_gesture_audio --ros-args --params-file /opt/ros/jazzy/share/adbscan_ros2_follow_me/config/adbscan_sub_RS.yaml -r cmd_vel:=tb3/cmd_vel -p use_sim_time:=true
341-
```
342-
343-
<!--hide_directive:::
344-
:::{tab-item}hide_directive--> **Humble**
345-
<!--hide_directive:sync: humblehide_directive-->
346-
347-
```bash
348-
ros2 run adbscan_ros2_follow_me adbscan_sub_w_gesture_audio --ros-args --params-file /opt/ros/humble/share/adbscan_ros2_follow_me/config/adbscan_sub_RS.yaml -r cmd_vel:=tb3/cmd_vel -p use_sim_time:=true
349-
```
350-
351-
<!--hide_directive:::
352-
::::hide_directive-->
189+
<!--hide_directive::::{tab-set}
190+
:::{tab-item}hide_directive--> **Jazzy**
191+
<!--hide_directive:sync: jazzyhide_directive-->
353192

354-
In this instance, we execute `adbscan` with the parameter file for Intel® RealSense™ camera input: `adbscan_sub_RS.yaml`.
193+
```bash
194+
sudo chmod +x /opt/ros/jazzy/share/followme_turtlebot3_gazebo/scripts/demo_RS_audio.sh
195+
/opt/ros/jazzy/share/followme_turtlebot3_gazebo/scripts/demo_RS_audio.sh
196+
```
355197

356-
You will view the following information in the terminal.
198+
<!--hide_directive:::
199+
:::{tab-item}hide_directive--> **Humble**
200+
<!--hide_directive:sync: humblehide_directive-->
357201

358-
![adbscan_screenshot](../../../../../images/adbscan_screenshot.png)
202+
```bash
203+
sudo chmod +x /opt/ros/humble/share/followme_turtlebot3_gazebo/scripts/demo_RS_audio.sh
204+
/opt/ros/humble/share/followme_turtlebot3_gazebo/scripts/demo_RS_audio.sh
205+
```
359206

360-
5. Terminal 5: This command will launch the pre-defined trajectory for the guide
361-
robot as well as the simulated gesture images and pre-recorded audio publisher nodes:
207+
<!--hide_directive:::
208+
::::hide_directive-->
362209

363-
```bash
364-
ros2 launch followme_turtlebot3_gazebo empty_world_followme_w_gesture_audio_2.launch.py
365-
```
210+
You will see two panels side-by-side: Gazebo GUI on the left and ROS 2 rviz display on the right.
366211

367-
> **Note**:
368-
> If you are running the demo in 13th Generation Intel® Core™ processors with
369-
> Intel® Iris® Xe Integrated Graphics (known as Raptor Lake-P), please replace
370-
> the commands in terminal 5 with the following:
371-
>
372-
> ```bash
373-
> ros2 launch followme_turtlebot3_gazebo empty_world_followme_w_gesture_audio_2.launch.py soc:='rpl'
374-
> ```
212+
![follow_me_demo_gazebo_rviz](../../../../../images/follow_me_demo_gazebo_rviz.png)
375213

376-
After running all of the above commands, you will observe similar behavior of
214+
After the command is executed, you will observe similar behavior of
377215
the TurtleBot3 robot and guide robot in the `Gazebo` GUI as in
378216
[Run Demo with 2D Lidar](#run-demo-with-2d-lidar).
379217

380218
There are reconfigurable parameters in the
381219
`/opt/ros/jazzy/share/adbscan_ros2_follow_me/config/` directory for both LIDAR
382-
(`adbscan_sub_2D.yaml`) and Intel® RealSense™ camera (`adbscan_sub_RS.yaml`).
220+
(`adbscan_sub_2D.yaml`) and RealSense™ camera (`adbscan_sub_RS.yaml`).
383221

384222
The user can modify the parameters depending on the respective robot, sensor
385223
configuration and environments (if required) before running the tutorial.
386224
Find a brief description of the parameters in the following list:
387225

388226
- ``Lidar_type``
389227

390-
Type of the point cloud sensor. For Intel® RealSense™ camera and LIDAR inputs,
228+
Type of the point cloud sensor. For RealSense™ camera and LIDAR inputs,
391229
the default value is set to ``RS`` and ``2D``, respectively.
392230

393231
- ``Lidar_topic``

0 commit comments

Comments
 (0)