University of Trento – Robotic Perception and Action Course

A.A. 2018/2019

Supervisor: Prof. Mariolino De Cecco Students: Davide Stocco & Federico Frison


Path planning is one of the most important elements for mobile robot. Path planning is the determination of a path that a robot must take in order to pass over each point in an environment and path is a plan of geometric locus of the points in a given space where the robot has to pass through. Generally, the problem of path planning is about finding paths by connecting different locations in an environment. Moreover, Path planning “enables” mobile robots to see the obstacle and generate an optimum path so as to avoid them. The general problem of path planning for mobile robots is defined as the search for a path which a robot (with specified geometry) has to follow in a described environment, in order to reach a particular position and orientation B, given an initial position and orientation A. As mobile robot is not a point in space, it has to determine the correct direction or perform a proper movement to reach destination and this is called maneuvering planning.


Robot Model – Rear Driven Car-Like Model

It had been chosen that the robot will have a car-like shape with rear-wheel driving, thus the kinematic model is derived as

where v_1​ and v_2​ are the driving and the steering velocity input, respectively. While δ is the orientation of the car body with respect to the x​ axis, and α is the steering angle. There is a model singularity at α = ±π/2​, where the first vector field has a discontinuity. This corresponds to the car becoming jammed when the front wheel is normal to the longitudinal axis of the body. However, the importance of this singularity is limited, due to the restricted range of the steering angle α in most practical cases.

Chained Form

The existence of canonical forms for kinematic models of nonholonomic robots is essential for the systematic development of both open-loop and closed-loop control strategies. The most useful canonical structure is the chained form. The two-input driftless control system

is called (2,n) single-chain form, which can be shown to be completely controllable.

Necessary and sufficient conditions for the conversion of a two-input system into chained form are a change of coordinates x = φ(q) and an invertible input transformation v = β(q)u. By applying these conditions, one can show that non-holonomic systems with m = 2 inputs and n = 3 or 4 generalized coordinates can be always put in chained form.

Let us now consider the car-like robot model. Using the change of coordinates

together with the input transformation

the system will be in (2,4) chained form.

Input Functions

Functions of the inputs u_1 and u_2 can be of three types

  • sinusoidal input function;
  • polynomial input function;
  • piecewise continuous function.
Maple Implementation

The implementation of the codes, the resolution of the system had been carried out by means of Maple. Maple is a symbolic and numeric computing environment, and is also a multi-paradigm programming language. Developed by Maplesoft, Maple also covers other aspects of technical computing, including visualization, data analysis, matrix computation, and connectivity.

User Interface & General Theme

We tried to be as simple and effective as possible. The game develops in two scenes, the first is the main menu, the second is the interactive part, with which the player can try to perform different paths by using different input functions.

Main MenuThe main menu contains the following buttons.

  • Play: which allows to switch to the more interactive game scene.
  • Theory: which allows to get a deeper understanding of the theoretical and formal aspects that there are behind the game.
  • Credits: which reports some information about the context of when, where, who and why developed this game.
  • Quit: which allows to exit the game.

Game EnvironmentThe game menu contains the following buttons.

  • Demonstrations: which contains the demos the same path (0,0,0,0)->(20,50,0,π/3) is covered using different kind of inputs, thus showing the differences between them – and an optimization example.
  • Set Path: which allows to set a random or a specific final position starting from the initial configuration (x,y,α,δ)=(0,0,0,0).
  • Exit Game: which allows to go back to the main menu.

The final configuration and the input kind can be set by hand or randomly.

The game environment includes also an on-line updated plot display of the inputs. Moreover, in the top right corner the camera button allows to switch between frontal, rear and sky cameras. Notice that the sky camera can orbit (Alt + Mouse Scroll Wheel Button), shift (Left Ctrl + Mouse Scroll Wheel Button) and zoom (Mouse Scroll Wheel).


The game can be played in both PCs and mobile devices with touch screens. Even if the game had been originally developed for 16:9 screens, it can be played also in devices with other screen formats. In order to get a better feeling with touch screens we developed a special feature for the theory part, as images containing the theory can be easily slided by hand.


Leave a Reply