14.11.2012 Views

Submitted version of the thesis - Airlab, the Artificial Intelligence ...

Submitted version of the thesis - Airlab, the Artificial Intelligence ...

Submitted version of the thesis - Airlab, the Artificial Intelligence ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

42 Chapter 4. Control<br />

⎡ ⎤ ⎡<br />

−cosA sinA −1<br />

⎢ ⎥ ⎢<br />

where MF = ⎣ cosA sinA −1⎦<br />

, V = ⎣<br />

VF<br />

VL<br />

⎤<br />

⎥<br />

⎦<br />

0 −1 −1 omega∗Rrobot<br />

A is <strong>the</strong> angle <strong>of</strong> <strong>the</strong> front wheels, which is 30 ◦ for our robot. Indeed <strong>the</strong><br />

values (0.866, 0.5 ; -0.866, 0.5 ; 0, -1) in <strong>the</strong> Figure 4.1 coming from <strong>the</strong><br />

projection <strong>of</strong> cosine and sine <strong>of</strong> <strong>the</strong> motor vectors in <strong>the</strong> X-Y plane, which<br />

are later used statically in <strong>the</strong> microcontroller for <strong>the</strong> calculation <strong>of</strong> <strong>the</strong> motor<br />

contributions. VF represents <strong>the</strong> frontal speed, VL lateral speed and<br />

omega∗Rrobot represents <strong>the</strong> angular velocity <strong>of</strong> <strong>the</strong> body.<br />

The vector <strong>of</strong> tangential wheel speed is represented as Vt1,Vt2,Vt3 and<br />

vector <strong>of</strong> ”sliding” velocity <strong>of</strong> <strong>the</strong> wheels due to rollers is represented as<br />

Vn1,Vn2,Vn3. The vectors can have a positive or negative direction which<br />

represents <strong>the</strong> direction in which <strong>the</strong> motor has to move (forward or backwards<br />

respectively). The desired speeds set as frontal speed (VF) and lateral<br />

speed (VL) are projected through <strong>the</strong> motor axes in order to find motor contributions.<br />

The angular velocity <strong>of</strong> <strong>the</strong> wheels is found by dividing <strong>the</strong> Vt <strong>of</strong> <strong>the</strong><br />

desired wheel to <strong>the</strong> radius <strong>of</strong> <strong>the</strong> wheel. It can be formulated as follows:<br />

⎡<br />

⎢<br />

⎣<br />

4.2 Matlab Script<br />

ω1<br />

ω2<br />

ω3<br />

⎤ ⎡ ⎤<br />

V t1<br />

⎥ ⎢ ⎥<br />

⎦ = ⎣V<br />

t2<br />

V t3<br />

⎦/Rwheel<br />

Inordertotest <strong>the</strong>behaviorweimplementedas<strong>of</strong>twaresimulator inMatlab,<br />

that is calculating <strong>the</strong> motor contributions in order to go a specified position<br />

in <strong>the</strong> world. It is possible to obtain three different movement model using<br />

<strong>the</strong> inverse kinematics model. These are:<br />

• Linear Movement<br />

• Rotation<br />

• Mixed Angular and Linear Movement<br />

Linear Movement

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!