@@ -77,6 +77,7 @@ for the framework:
7777
7878``` bash
7979pip3 install --upgrade pip
80+ pip3 install pyyaml
8081pip3 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
8889pip3 install --upgrade pip
90+ pip3 install pyyaml
8991pip3 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
98100executing 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
228144starts moving towards TurtleBot3 robot.
229145To start the TurtleBot3 robot, condition 1 and either one of the conditions 2 or 3
230146from 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
267183Please make sure to source the ` /opt/ros/jazzy/setup.bash ` file (or ` /opt/ros/humble/setup.bash ` )
268184at first before executing any command in a new terminal.
269185You 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
377215the TurtleBot3 robot and guide robot in the ` Gazebo ` GUI as in
378216[ Run Demo with 2D Lidar] ( #run-demo-with-2d-lidar ) .
379217
380218There 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
384222The user can modify the parameters depending on the respective robot, sensor
385223configuration and environments (if required) before running the tutorial.
386224Find 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