ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

Hi I summary of the idea

1 -Face Recognition:

Use the ROS2 package for face recognition. https://www.theconstructsim.com/robotigniteacademy_learnros/ros-courses-library/ros-perception-in-5-days/ This package will detect faces in the robot's field of view and provide coordinates of the detected face.

2-Determine Distance:

Once a face is detected, determine the distance between the robot and the face. This can be done using depth sensors or stereo cameras.

3- Send Boolean to cmd_vel:

If a face is detected and it's within a certain threshold distance, send a boolean signal to the robot's velocity controller (cmd_vel). This signal will instruct the robot to start slowing down.

4- Brake Mechanism:

As the robot approaches the face, continuously monitor the distance. Reduce the robot's velocity proportionally as it gets closer to the face. Once the robot is within the close distance threshold, bring the robot to a complete stop.

5- Integration with Nav2:

Modify the Nav2 parameters to avoid all obstacles except for the detected face. This can be achieved by setting higher costs for all obstacles in the costmap except for the detected face.

6- Safety Mechanisms:

Implement safety mechanisms to ensure that the robot doesn't collide with the person if face detection fails or if there are any other unforeseen issues. Flowchart:

Here's a flowchart to visualize the process:

https://showme.redstarplugin.com/d/PXmIOl55