# Development of Path Planning and Path Following Algorithms for a Robotic Car

The research and application of mobile robots is nowadays increasingly widespread. Beyond industrial applications they are getting popular in personal usage as well. However, there are a lot of theoretical and practical issues to be resolved. One of the most fundamental aspects of mobile robotics is motion planning and control in environments populated with obstacles. In this paper we discuss global and local geometric path planning, velocity profile generation and motion control along the path. We simulated the investigated methods and tested with a real car-like robot as well.

In this paper we present the most commonly used path planning algorithms and their benefits and disadvantages. We discuss the kinematic constraints for the tested robot model and the consequences of these constraints. We present an approximation method for path planning, which is based on a global and a local planner algorithm.

The Reeds-Shepp paths are commonly used in mobile robotics, which are the optimal paths for car-like robots. The C*CS algorithm is presented as an alternative to the Reeds-Shepp paths. This method uses arcs (C) and straigth segments (S) to provide a path for car-like robots. Altough this planner does not provide optimal solution, the resulted paths are rather similar to the ones used by a real driver. To reach this, a global planner method is presented. This planner uses a cell decomposition algorithm which provide a solution with straigth segments. After the global path is generated the C*CS local planner is used to approximate the global path. At the end of this section a new global planner method is presented (RTR), which is also uses straigth segments, but has many qualities which makes it more efficient than the cell decomposition algorithm.

The path generated previously does not contain any information about the robot's velocity, acceleration and angular velocity. Therefore, we present an algorithm developed to determine the velocity profile. The profile is based on parameters such as the robot's maximum velocity, maximum acceleration along the path and the maximum acceleration of the robot's wheels. After velocity profile generation the geometric path needs to be re-sampled to obtain a path having uniform time-sampling for the motion controller.

The path following algorithm controls the robot translational velocity and orientation in two independent control loops. The velocity and steering angle control signals of the decoupled system is passed directly to the robot, based on the kinematic equations of the robot. The velocity control loops are implemented on the robot by a PI controller. The orientation controller is based on orientation error between the current robot configuration and a future path point.

We have implemented and tested the algorithms in V-REP robot simulation framework and with a real robot as well. Finally we present the structure of the used real robot, the difficulties during the developement and implementation, and the future plans.