ARNL Path Planning and Navigation
From MobileRobots Research and Academic Customer Support
The path planning module in ARNL computes a safe path from the robot's current pose to a destination pose. It then sends the appropriate velocities and heading commands to the robot to make it follow the computed path as closely as possible while avoiding unmapped obstacles in its path.
The details of the method and implementation are proprietary, but are based on various algorithms shown to be reliable and efficient by past robotics research, and which are described in many robotics textbooks and published papers.
When a new goal point is set, the path planning task uses a global grid based search of the map to compute the shortest and safe path from the present robot pose to the goal point. Objects in the map (e.g. scanned fixed objects, forbidden lines and areas delineated by a users, etc.) are used to populate data associated with grid cells (occupancy grid). Various parameters such as "free space", size and shape of the robot, etc. are used to search for a suitable path through the environment. Once the global path is planned, ARNL begins driving the robot on the path, and while doing so, continuously recomputes a local segment of the path to plan around any unmapped obstacles detected with range sensors (e.g. the laser rangefinder, sonar sensors, etc.). ARNL uses the dynamic window approach to compute the translational and rotational velocities, accelerations and decelerations necessary to follow the local path as closely as possible. These are provided to the robot's controller to drive the robot.
Accurate and robust path planning and navigation requires fairly accurate robot location. Hence a localization task must also be run concurrently with the path planning task.
- Siegwart, Nourbakhsh, Scaramuzza, Introduction to Autonomous Mobile Robots, second edition], MIT Press.
- Thrun, S., Burgard, W. and Fox, Probabilistic Robotics. MIT Press.
- Fox, D.; Burgard, W.; Thrun, S. (1997). "The dynamic window approach to collision avoidance". Robotics & Automation Magazine, IEEE 4 (1): 23–33.