Você está na página 1de 3

Ecole Centrale de Nantes Nantes, France SYSTI: Intelligent Transportation System

Lab No 1: Mobile robot navigation 1

Philippe Martinet Professor at Ecole Centrale de Nantes Researcher at IRCCYN, Nantes, France Associated Researcher at Pascal Institute, Clermont-Ferrand, France

Mobile robot modelling

In this part you will make the models of two mobile robots and you will validate them using matlab simulink. You will write a report explaining both theoretical and experimental aspects. Comments are more than welcome!!

1.1

Dierential drive: Unicycle


x

Remember the main equation of a dierential drive robot: = V cos y = V sin = = (1)

Using R as the radius of the wheel, deduce the relation between: L R V (2)

Using simulink, make a block called unicycle for this mobile robot. It will have 2 inputs (V, ) and 3 outputs (x, y, ). Save it to unicyle.mdl.

1.2

Ackermann model
x y

Remember the main equation of the Ackermann robot: = V cos = V sin V = tan L =

(3)

where L represents the wheelbase. Using simulink, make a block called Ackermanndrive for this mobile robot. It will have 2 inputs (V, ) and 4 outputs (x, y, , ). Save it to Ackermanndrive.mdl

1.3

Open Loop control

For both type of robots, make a simulink scheme using the previous designed simulink. Fixing the longitudinal velocity V to a desired value, use the function generator to simulate and validate your model.

Mapping

Install the robot Toolbox. For this download it from the SYSTI link website : http : //www.irccyn.ec nantes.f r/ martinet/systi.html.

2.1

Using a predened map and the Bug2 Algorithm

Under matlab, load map1: 2

load map1 This will dene a 100 100 map in the workspace. Can you interpret how is made this map? We will use a particular class bug 2 of the toolbox. Create an instance bug of the bug 2 class: bug Bug 2(map) Set the goal to reach using: bug.goal = [50; 35] Run the simulation using: bug.path([20, 10]) Interpret the algorithm. Explain what are the advantages and disadvantages of theis Bug2 algorithm. Execute it again using [15,80] for the starting point. How can you extract the path? Draw it on a gure (point by point). How you transform it as a continuous path?

2.2

Creating your own map for extended test

As you have discovered in the previous part, map is dened in a particular way. How can you dene a new map? Do it, and

2.3

Improvment of the Bug2 algorithm

Is it possible to improve the current Bug2 algorithm with simple concept? If yes, try to do it by implementing a Bug3 algorithm!!

Você também pode gostar