Welcome to ROSMASTER R2 repository
6. Voice control multi-point navigation
6. Voice control multi-point navigation
6. Voice control multi-point navigation6.1. Function description6.2. Configure navigation points6.3. Use voice multi-point navigation6.4. Node analysis6.4.1. Display calculation graph6.4.2. Voice control node details
The operating environment and software and hardware reference configuration are as follows:
Reference model: ROSMASTER X3
Robot hardware configuration: Arm series main control, Silan A1 lidar, AstraPro Plus depth camera
Robot system: Ubuntu (no version required) + docker (version 20.10.21 and above)
PC virtual machine: Ubuntu(22.04)+ ROS2(Humble)
Usage scenario: Use on a relatively clean 2D plane
6.1. Function description
By interacting with the voice recognition module on ROSMASTER, voice control can be used to realize multi-point navigation in the established map;
Note: Before using the functions in this section, please first learn to use the [Lidar Series Courses ----- Mapping Navigation Function] module;
6.2. Configure navigation points
Raspberry Pi PI5 master needs to enter the docker container first, Orin master does not need to enter,
Enter the docker container (for steps, please refer to [docker course chapter ----- 5. Enter the robot's docker container]),
and execute the following commands on each terminal:
ros2 launch yahboomcar_nav laser_bringup_launch.py
Open the virtual machine, configure multi-machine communication, and then execute the following command to display the rviz node
xxxxxxxxxxros2 launch yahboomcar_nav display_nav_launch.py
Execute navigation node in docker container
xxxxxxxxxxros2 launch yahboomcar_nav navigation_teb_launch.py
At this time, click [2D Pose Estimate] in the rviz interface of the virtual machine, then compare the pose of the car and mark an initial pose for the car on the map;
The display after marking is as follows:

Compare the overlap between the radar scanning point and the obstacle, and set the initial pose of the car multiple times until the radar scanning point and the obstacle roughly overlap;
Open another terminal to enter the docker container and execute
xxxxxxxxxxros2 topic echo /goal_pose # Monitor /goal_pose topic
Click [2D Goal Pose] to set the first navigation target point. At this time, the car starts to navigate, and the monitored topic data will be received in step 6:

Open the code at the following location:
xxxxxxxxxx~/yahboomcar_ros2_ws/yahboomcar_ws/src/yahboomcar_voice_ctrl/yahboomcar_voice_ctrl/voice_Ctrl_send_mark.py
Modify the pose of the first navigation point to the one printed in step 7:

Use the same method to modify the poses of the other four navigation points.
After modification, cd ~/yahboomcar_ros2_ws/yahboomcar_ws
Compile, colcon build --packages-select yahboomcar_voice_ctrl
Update environment, souce install/setup.bash
6.3. Use voice multi-point navigation
Raspberry Pi PI5 master needs to enter the docker container first, Orin master does not need to enter,
Enter the docker container (for steps, please refer to [docker course chapter ----- 5. Enter the robot's docker container]),
and execute the following commands on the terminal:
xxxxxxxxxxros2 launch yahboomcar_nav laser_bringup_launch.py
Open the virtual machine, configure multi-machine communication, and then execute the following command to display the rviz node
xxxxxxxxxxros2 launch yahboomcar_nav display_nav_launch.py
Execute navigation node in docker container
xxxxxxxxxxros2 launch yahboomcar_nav navigation_teb_launch.py
At this time, click [2D Pose Estimate] in the rviz interface of the virtual machine, then compare the pose of the car and mark an initial pose for the car on the map;
The display after marking is as follows:

Compare the overlap between the radar scanning point and the obstacle, and set the initial pose of the car multiple times until the radar scanning point and the obstacle roughly overlap;
Open another terminal and enter the docker container, and execute to enable the voice control navigation node.
xxxxxxxxxxros2 run yahboomcar_voice_ctrl voice_Ctrl_send_mark
Say "Hi Yahboom" to the voice module on the car. Wake up the voice module. After hearing the voice module feedback "at", continue to say "Navigate to No. 1"; the voice module will feedback "Okay" , "Going to position 1", and at the same time, the car starts to navigate to position 1. Navigation in other locations can be used in the same way.
6.4. Node analysis
6.4.1. Display calculation graph
xxxxxxxxxxrqt_graph

6.4.2. Voice control node details
