13.08.2018 Views

[Studies in Computational Intelligence 481] Artur Babiarz, Robert Bieda, Karol Jędrasiak, Aleksander Nawrat (auth.), Aleksander Nawrat, Zygmunt Kuś (eds.) - Vision Based Systemsfor UAV Applications (2013, Sprin

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

170 A. <strong>Babiarz</strong>, R. <strong>Bieda</strong>, and K. Jaskot<br />

orientation. Similar equations apply to the rest of quadrants and backward distance<br />

calculations. Hav<strong>in</strong>g such distance calculated at real time, we can limit the speed<br />

accord<strong>in</strong>gly.<br />

4.3 Control Algorithms<br />

Control <strong>in</strong>strument signals have to be translated <strong>in</strong> order to give the user a way to<br />

control a given object. Input devices differ from each other <strong>in</strong> some ways, but also<br />

some th<strong>in</strong>gs may be <strong>in</strong> common. Best practice is to jo<strong>in</strong> the common th<strong>in</strong>gs together<br />

and create one jo<strong>in</strong>t controller, then creat<strong>in</strong>g more advanced controllers on<br />

its basis for each of control <strong>in</strong>strument. As there can be numerous control <strong>in</strong>struments<br />

connected to qView, <strong>in</strong> order to provide proper control, only one <strong>in</strong>put device<br />

can be allowed to control a given robot. This is done by simple lock<strong>in</strong>g mechanism,<br />

<strong>in</strong> which <strong>in</strong>put devices ask for permission to control a robot, and if one is<br />

not controlled at a time, permission is granted and lock is activated. In this time no<br />

other control <strong>in</strong>strument can get access to that robot.<br />

Two th<strong>in</strong>gs <strong>in</strong> the robot can be controlled - l<strong>in</strong>ear and angular speed. Both are<br />

accessible directly through functions and this direct approach is most frequently<br />

used:<br />

1. Robot::setSpeed(speed).<br />

2. Robot::setTurn<strong>in</strong>gSpeed(angSpeed).<br />

Although the on-board controller on the robot also gives another way to control<br />

the angular speed, through the Robot::setTurn<strong>in</strong>gAngle(radAtan) function. It is a<br />

turn<strong>in</strong>g radius control algorithm implemented <strong>in</strong> the robot software and detail<br />

description is presented <strong>in</strong> work [7]. It allows to control turn<strong>in</strong>g of the robot at<br />

constant radius. The parameter given to this function - atan - can be understood<br />

as an angle at which robot would turn if it had third lead<strong>in</strong>g wheel. Although<br />

<br />

<strong>in</strong> order to keep the turn<strong>in</strong>g radius constant, the algorithm has to limit the l<strong>in</strong>ear<br />

speed accord<strong>in</strong>gly, which could cause that the actions of operator are not natural<br />

and not as <strong>in</strong>tended.<br />

5 Experimental Results<br />

This section describes <strong>in</strong> detail three taken experiments test<strong>in</strong>g the performance of<br />

proposed algorithms. The plots of trajectories shown at Figures 16(a) and 19(a)<br />

describe position of robot <strong>in</strong> x and y coord<strong>in</strong>ates, where the edges of playground<br />

are at follow<strong>in</strong>g values:<br />

0.75 (16)<br />

0.65 (17)

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

Saved successfully!

Ooh no, something went wrong!