Automatic following obstacle avoidance module
The robot must calculate a global motion route based on the target location. During motion, it needs to adjust the motion route in real time based on dynamic obstacles until it reaches the destination. At the same time, there is some interaction design within the obstacle avoidance step to fluent the following process.
01
Navigation package: move-base
The "move_base" package consists of a global planner and a local planner. The global planner receives the global_costmap map provided by the map_server to plan the global path. The local planner receives the local_costmap map to replan the global path.
02
Selection of sensor & sensor data
Local_cosmap data is from sensor sources. Due to the high accuracy and applicability of sensor-based SLAM mapping for future improvement, Lidar is chosen. The obstacle diagram generated by Lidar (RPLIDAR A1M8) supports local planner to replan the path.
The cart’s focus is primarily on obstacles in front of it. However, the mechanical structure of the cart results in several components being positioned behind the Lidar. As a consequence, there is junk data. To mitigate this, only half of the Lidar data, specifically the obstacle information in front of the cart, is utilized.
03
Local Real-Time Planning (local_planner)
It uses algorithms: Dynamic Window Approaches to avoid obstacles and selects the current optimal path to closely follow the global optimal path.
Firstly, the algorithm collects velocity samples of the robot using its mathematical model. It then predicts and simulates the robot's motion trajectory within a certain time frame based on these velocity samples. The algorithm evaluates these predicted trajectories using predefined criteria and selects a set of optimal trajectories. The robot then follows the optimal trajectory for its movement. It contain 3 steps: Velocity sampling, trajectory prediction, and trajectory evaluation.
04
Ros Simulation
Simulation of navigation by move_base package is done on ROS platform by Rviz to test and validate algorithms. Enabling visualizing robot models, sensor data, and the overall system state and providing real-time visual feedback.
05
Human-machine interaction design
There is a human-robot relative speed design to control the cart’s speed by detecting the distance between the cart and the user. Followed by the diagram, the cart increases the cart's speed when far from the user, keeps the same speed as the user, and stops moving when the user is very close to it.
The estimated interaction of the cart when meet obstacle: