You are on page 1of 138

Exercises and worksheets

Project 1: Incoming inspection and commissioning of the Robotino® ______________________________ 1


Project 2: Linear travel for a mobile robot system in any direction ________________________________ 9
Project 3: Linear travel and positioning of a mobile robot system ________________________________ 37
Project 4: Path tracking of an automated guided vehicle system with two diffuse light sensors _______ 49
Project 5: Accurately positioned approach to a loading station __________________________________ 65
Project 6: Approaching an obstacle and maintaining a defined distance __________________________ 79
Project 7: Circling a station and approaching various transfer positions __________________________ 87
Project 8: Path tracking for an automated guided vehicle system using an
analogue inductive sensor _______________________________________________________ 93
Project 9: Ascertaining optimised travel performance ________________________________________ 107
Project 10: Path tracking of an automated guided vehicle system with the help of a webcam _________ 121
Project 11: Searching and approaching a coloured object with the help of a webcam _______________ 131

Note
The exercises and solutions are based on Version 3.0.5 of Robotino® View.

© Festo Didactic GmbH & Co. KG 8029495 I


Exercises and solutions

II © Festo Didactic GmbH & Co. KG 8029495


Project 1
Incoming inspection and commissioning of the Robotino®

Learning objectives
Trainees
• Are familiarised with the main components of a mobile system based on the example of Robotino®.
• Learn to commission a mobile robot system based on the example of Robotino®.
• Learn to test and describe motion performance of Robotino®.

Problem description
Your task is to complete incoming inspection and commissioning of a complex mechatronic system.

Project order
Complete the incoming inspection and commissioning of the Robotino®.
Incoming inspection includes:
• Creation and examination of a checklist for visual inspection

Commissioning includes:
• Executing the correct start-up sequence for the system
• Checking the charge level of the rechargeable batteries
• Testing of the Circle, Forward, Rectangle and Roaming travel programs.
• Documentation of results

Positional sketch

© Festo Didactic GmbH & Co. KG 8029495 1


Project 1 – Incoming inspection and commissioning of the Robotino®

Work assignments
1. Commission Robotino®.
2. Test travel performance.

Working aid
• Robotino® technical documentation

1. Commissioning Robotino®

a) Create a check list for visual inspection to determine whether or not the system is complete.

Refer to the technical documentation to this end, in order to determine which components the system
must include.

Some of the main components are: Three DC motors


Two rechargeable 12 V batteries with replacements
Base plate with bumper
Distance sensors
Working platform with webcam (camera)
Embedded controller

2 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 1 – Incoming inspection and commissioning of the Robotino®

– Fill out the checklist and tick all items which are complete.

Quantity Designation OK

Date

Signature

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 3
Project 1 – Incoming inspection and commissioning of the Robotino®

b) Test the functionality of the components and document your findings.

Proceed as described in the technical documentation under “commissioning” in order to complete the
work assignments below.

– Set the system onto blocks so that the wheels are freely movable.
– Connect Robotino® to main power and switch the system controller on.

c) Document your results on the worksheet.

Results

Commissioned on

Commissioned by

Power supply and status display

Battery charge level

Date

Signature

2. Checking travel performance

a) Check Robotino® travel performance by testing the demo applications including Forward, Circle,
Rectangle and Roaming.

– Set the system onto blocks.


– Switch on Robotino®
– Connect any device with the network of Robotino® (e.g. “Robotino.300.022”)
– Open the Web-Interface by entering the IP-address in any Browser. (default 172.26.1.1)
– Select “Program” in the main menu.
– Start one of the included demo applications.

4 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 1 – Incoming inspection and commissioning of the Robotino®

b) Observe travel performance with the robot on blocks and during travel on the floor.

Make sure that Robotino® only avoids obstacles at floor level in the Roaming program! Otherwise
damage may occur.

– Start the Circle, Forward, Rectangle and Roaming programs – once with the robot on blocks and once
during actual operation.

Proceed as described in the technical documentation under “Testing demo programmes”. Select the
appropriate programme in the menu at the display.

– Describe performance of each of the three multidirectional casters with regard to motion and direction
of motion in the Forward, Circle, Rectangle and Roaming programs.

Observe the “line of vision” of Robotino® during travel.


– Which sensors respond?
– Explain the behaviour. What is the correlation between movement of the wheels and motion
performance?

Description: performance in “Forward” demo program

On blocks
– Caster performance

Actual travel
– Travel performance

– Sensors

– Caster performance

Further observations

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 5
Project 1 – Incoming inspection and commissioning of the Robotino®

Description: performance in “Circle” demo program

On blocks
– Caster performance

Actual travel
– Travel performance

– Sensors

– Caster performance

Further observations

Description: performance in “Rectangle” demo program

On blocks
– Caster performance

Actual travel
– Travel performance

– Sensors

– Caster performance

Further observations

6 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 1 – Incoming inspection and commissioning of the Robotino®

Description: performance in “Roaming” demo program

On blocks
– Caster performance

Actual travel
– Travel performance

– Sensors

– Caster performance

Further observations

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 7
Project 1 – Incoming inspection and commissioning of the Robotino®

8 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 2
Linear travel for a mobile robot system in any direction

Learning objectives
Trainees
• Learn to describe and program simple linear motion of a power driven multi-axis system.
• Learn to use function blocks in Robotino® View and create sequences for controlling the motors.
• Are familiarised with the degrees of freedom of a power driven multi-axis system.
• Learn to take safety-relevant aspects into consideration so that Robotino® stops in the event of a
collision.
• Learn to program an omnidirectional drive and describe its basic functions.
• Become familiar with the main aspects of drive technology and learn to apply them.

Problem description
A robot system will carry out feed tasks in storage systems and will thus need to be highly flexible and
mobile. It is important for the robot system to be able to move at different speeds in any direction. In order
to enable travel in any direction, it must be possible to operate all of the system’s wheels in any direction,
i.e. they must be omnidirectional. This is implemented with the help of an omnidirectional drive.

In order to ensure safety and prevent the robot system from continuing at full force after hitting an obstacle,
the system must stop travel in the event of collision with an obstacle.

Project order
1. Control the Robotino® motors such that the mobile robot system moves forward and backward on a
level plane.
2. Test motor control with different rotational speeds.
3. Test the mobility of Robotino® by moving it in different directions and around its own axis without
changing orientation and speed.
4. Create and test the appropriate programs using the omnidrive function block to this end.
5. The robot system may travel along unpredictable paths during these tests. It is thus essential to protect
the environment and the robot system from damage due to collision. Create and test this program.

© Festo Didactic GmbH & Co. KG 8029495 9


Project 2 – Linear travel for a mobile robot system in any direction

Positional sketch

10 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 2 – Linear travel for a mobile robot system in any direction

Basic conditions
• Robotino® View has been installed to the PC and the software is running.
• A W-LAN connection has been established to Robotino® (technical documentation).

Project assignments
1. Control the motor and cause the robot system to travel in the forward direction
2. Collision protection function
3. Reverse travel program
4. Program sequence
5. Omnidirectional drive, all directions with control field
6. Omnidrive, travel in forward direction
7. Omnidrive, sideways travel
8. Omnidrive, travel in circle
9. Omnidirectional drive, omniwheels
10. Travel at 45° to the forward direction
11. Travel at 135° to the forward direction
12. Program sequence: travel around a diamond-shaped contour

Work aids
• Technical documentation
• Help texts in Robotino® View, motor, program sequence, omnidirectional drive
• Theory section:
Omniwheels, drive and power transmission, degrees of freedom of the omniwheels, omnidirectional
drive

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 11
Project 2 – Linear travel for a mobile robot system in any direction

1. Controlling the motor and causing the robot system to travel in the forward direction

a) Push Robotino® forward to see which motors need to be actuated. Observe the direction of rotation and
rotational speed of the omniwheels.

– Set Robotino® down in front of yourself and move it forward. In doing so, observe the direction of
rotation and rotational speed of the omniwheels.

– Which motors have to be operated for Robotino® to travel forward?

b) Create a function block diagram in Robotino® View such that Robotino® travels forward.

– Set the system onto blocks so that the wheels are freely movable.
– Switch Robotino® on.
– Start Robotino® View and establish a connection between the Robotino® controller and Robotino® View
(see technical documentation).

12 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 2 – Linear travel for a mobile robot system in any direction

– Open an empty function block diagram in Robotino® View.

– Drag two motor function blocks into the function block diagram, namely Motor #1 and Motor #3
(function block library: Robotino® Drive system).
– Save the program as “forward.rvw2”.
– Name the motors “MotorFrontLeft” and “MotorFrontRight” in the function block diagram of the motor
function block. Mark the Motor function block to this end, and activate Display name with the right
mouse key. Change the designation accordingly in the text field which then appears.
– Add two constants to the function block diagram (Function block library -> Generators), and link these
to the respective Speed set point inputs of the two motors.

The descriptions of the connections are displayed after pressing the Ctrl+T key combination, or with the
menu item Show connector descriptions in the View menu. Further information can be accessed with the
help function (F1).

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 13
Project 2 – Linear travel for a mobile robot system in any direction

– Designate the constants correspondingly as “SpeedLeft” “SpeedRight”.


– Specify a constant speed for both motors.

The technical documentation indicates that Robotino® travels in the forward direction when moving in a
linear fashion along the camera’s line of vision.

– After selecting values for the constants, e.g. SpeedLeft = –500 rpm
SpeedRight = +500 rpm
®
Robotino travels in the forward direction.

– Start the application by clicking the start icon.

The values for the function block connections are displayed by means of the Ctrl+D key combination. This
function can also be activated in the View menu.

14 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 2 – Linear travel for a mobile robot system in any direction

c) Test operation at different speeds.

– Change the values of the two constants.

Note that the target speed is entered in revolutions per minute.

– Observe robot system performance with the robot on blocks, as well as during travel on the floor.

d) Explain why the direction of rotation of the two motors must be opposite in the case of straight ahead
travel.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 15
Project 2 – Linear travel for a mobile robot system in any direction

2. Collision protection function

a) One of the motors in Robotino® needs to be controlled such that it stops when contact is made with the
bumper, and starts again when contact has ceased.

– Briefly describe the bumper on Robotino®.

– Describe the function of the bumper in Robotino® View.

– Create a function block diagram with the following function in order to elucidate the bumper’s
performance:
One of the motors in Robotino® needs to be controlled such that it stops when contact is made with the
bumper, and starts again when contact has ceased.
– Which components are required for this control program?

Quantity Component

– Create the control program in Robotino® View and save it to memory.

16 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 2 – Linear travel for a mobile robot system in any direction

– Set Robotino® onto blocks and test your function block diagram.

Test

– What has to be done with travel functions in a control program if this function is to be used for collision
protection?

– Evaluate how well this solution works with regard to the required collision protection function.

b) Create an abort function which is based on the function of the bumper. Save the program to memory

– With which function in Robotino® View can a running control program be aborted?

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 17
Project 2 – Linear travel for a mobile robot system in any direction

– Integrate the corresponding function into the control program, and designate the variable with the term
timeout.

– Establish connection with the bumper and the timeout writer.

18 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 2 – Linear travel for a mobile robot system in any direction

– Change to the main program for the sequence controller and define the abort conditions.

Note that if the program sequence is aborted after a collision, the entire sequence should be stopped.

– Start the main program.

Integrate this collision protection function into all of your previously created function block diagrams, in
order to increase their safety.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 19
Project 2 – Linear travel for a mobile robot system in any direction

3. Reverse travel program

a) Create and test a program which causes Robotino® to travel backwards, and answer the questions
regarding components, constants and degrees of freedom.

– Use the same components as you did for the forward travel program and the abort function.
– Which motors have to be operated how for Robotino® to travel backwards?

– Which components are required to this end?

– What is the difference between the forward travel and reverse travel programs with regard to values for
the two constants?

– Make a statement indicating which degree of freedom is made possible for Robotino® travel
performance with the programs run thus far.

20 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 2 – Linear travel for a mobile robot system in any direction

4. Program sequence

a) Create a new program sequence which causes Robotino® to travel in the forward direction for
5 seconds, to subsequently wait for 2 seconds and then travel in reverse for 5 seconds.

Individual programs
– First of all, create a program which causes Robotino® to travel in the forward direction for 5 seconds.

Think about which modules you will need from the function block library in order to implement the time
sequence.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 21
Project 2 – Linear travel for a mobile robot system in any direction

– Assign the following values to the constants: SpeedLeft = - 500


SpeedRight = + 500
Travel time = 5000 [ms]
– Create a corresponding sub-program which causes Robotino® to run in reverse for 5 seconds.
– Create a program which results in a waiting time of 2 seconds. Name the sub-program Waiting time.

Waiting time constant = 2000 ms

Be sure to always set the motors’ input speed back to zero, because Robotino® will otherwise continue
travel.

22 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 2 – Linear travel for a mobile robot system in any direction

– Create a sequence in the main program which causes Robotino® to travel in the forward direction for 5
seconds, to subsequently wait for 2 seconds and then travel in reverse for 5 seconds.

Be certain to exit the sequence when finished.

b) Test the sequence.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 23
Project 2 – Linear travel for a mobile robot system in any direction

5. Omnidirectional drive, all directions with Control Panel

a) Cause Robotino® to travel in all possible directions. Use the Omnidrive function block and the Control
Panel input device in the travel program to this end.

– Drag a Control Panel (Function block library  Input devices) and the Omnidrive function block
(Function block library  Robotino®  Drive system) from the function block library into a new
function block diagram.
– Connect the outputs of the Control Panel to the inputs (x, y, and omega) of the Omnidrive function
block.
– Connect the outputs of the Omnidrive to the speed set-point inputs at the three motors.

– Refer to the help texts regarding use of the Control Panel, and then start the program.
– Display the data (Ctrl+D or View  Show Connector Values), and observe the data which are displayed
for the motors.

24 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 2 – Linear travel for a mobile robot system in any direction

b) Answer the questions regarding travel performance and degrees of freedom, and refer to the Omnidrive
function block for information.

– Describe travel performance and make a statement regarding the observed degrees of freedom (ways in
which bodies are able to move).

– Learn about the omnidirectional drive in the theory section, and via the Omnidrive function block in the
help texts included in Robotino® View.

6. Omnidrive, travel in forward direction

a) Create a sub-program (Step1) with the function blocks for the Omnidrive, three Motors and a Constant,
so that the Robotino® travels forwards and backwards at the same speed with the same orientation.

The Omnidrive function block reads out the target speeds of the three motors in revolutions per minute.
The coordinate system is selected such that the positive X-axis coincides with the forward direction for
Robotino®.

– Set the system onto blocks again and open a new function block diagram in Robotino® View.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 25
Project 2 – Linear travel for a mobile robot system in any direction

– Drag the required function blocks out of the function block library.
– Connect the function blocks into an operable sub-program. Name the function blocks.

If a value of 100 is assigned to the constant, this results in a target speed of 100 mm per second, or
0.36 km per hour.

26 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 2 – Linear travel for a mobile robot system in any direction

– Activate data display (Ctrl+D or View  Show Connector Values). Observe the motor values in
particular.
– Determine whether or not the target speed for the rear motor is always 0 (see also task entitled “Motor
control without omnidrive”.

Results

– By means of experimentation, determine the forward speed in mm per second which is required in order
to obtain target speeds for the two motors of -500 and 500 rpm respectively.

Answer

Reverse motion is accomplished by specifying a negative target speed in the X direction.

– Test this proposition.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 27
Project 2 – Linear travel for a mobile robot system in any direction

– What will have to be changed in order to allow for reverse travel of Robotino® with the omnidrive?

– Test the reverse travel program

7. Omnidrive, sideways travel

a) Without adding any further function blocks, change the program so that Robotino® travels sideways to
the right and to the left at the same speed with the same orientation.

– Set the system back onto blocks.


– Connect the elements which allow for sideways travel of Robotino®.
– How many degrees of freedom are required for sideways travel?

b) Observe performance of the omniwheels.

28 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 2 – Linear travel for a mobile robot system in any direction

8. Omnidrive, travel in a circle

a) Without adding any further function blocks, change the program so that Robotino® rotates around its
central axis.

– Connect the Constant to the omega setpoint connection at the Omnidrive and observe performance.

– What does Robotino® do?

– How many degrees of freedom are required here, and why?

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 29
Project 2 – Linear travel for a mobile robot system in any direction

9. Omnidirectional drive, omniwheels

a) Describe the design and the functional possibilities of the omniwheels, as well as the characteristics of
an omnidirectional drive.

– Design and the functional possibilities of the omniwheels

– Characteristics of an omnidirectional drive

Advantage Disadvantage

10. Travel at 45° to the forward direction

a) Select a fixed orientation for Robotino®. Change the program by adding a constant such that Robotino®
travels at an angle of 45° to the forward direction with identical speed in identical orientation. Travel
should be stopped after 2 seconds.

– Think about how travel at an angle of 45° to the forward direction can be implemented. Take direction of
travel and speed into consideration.

Observe the positional sketch in the definition of the task.

– Preliminary consideration: speed

30 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 2 – Linear travel for a mobile robot system in any direction

– Think about how a specific travel duration could be implemented.

The initial value of an entered variable can be changed in the sequencing program window
(main program).

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 31
Project 2 – Linear travel for a mobile robot system in any direction

b) Without adding any further function blocks, change the program so that Robotino® travels at a -45°
angle to the forward direction at the same speed with the same orientation, and save it as a new sub-
program.

32 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 2 – Linear travel for a mobile robot system in any direction

11. Travel at 135° to the forward direction

a) Without adding any further function blocks, change the program so that Robotino® travels at a 135°
angle to the forward direction at the same speed with the same orientation, and save it as a new sub-
program.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 33
Project 2 – Linear travel for a mobile robot system in any direction

b) Without adding any further function blocks, change the program so that Robotino® travels at a -135°
angle to the forward direction at the same speed with the same orientation, and save it as a new sub-
program.

12. Program sequence: travel around a diamond-shaped contour

a) Create a program sequence which causes Robotino® to first of all travel at angles of 45° and 135°, and
then -135° and -45°, with the same line of vision. Robotino® should then travel over the same path in
the opposite direction.

34 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 2 – Linear travel for a mobile robot system in any direction

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 35
Project 2 – Linear travel for a mobile robot system in any direction

36 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 3
Linear travel and positioning of a mobile robot system

Learning objectives
Trainees
• Learn to cause a multi-axis system to travel over a defined path (with and without using the Omnidrive
function block).
• Learn to apply knowledge from the fields of trigonometry and vector calculus.
• Become familiar with the main aspects of drive technology and learn to apply them.
• Learn to conduct and evaluate measured value examinations regarding positioning accuracy.
• Learn to optimise programs so that deviation from the target path remains within the mm range.

Problem description
A robot system will carry out feed tasks in storage systems. It must be able to approach positions within a
plane to this end.

Project order
Create a program, first of all with and then without the Omnidrive function block, which causes Robotino® to
travel forward over a distance of 1 metre. Use two different methods in order to specify travel distance:
– Specify travel distance by defining the number of revolutions (without using the Omnidrive function
block).
– Travel time (with the help of the Omnidrive function block).
– Compare your results and give reasons for deviations.

© Festo Didactic GmbH & Co. KG 8029495 37


Project 3 – Linear travel and positioning of a mobile robot system

Positional sketch for “travelling forward over a given distance without using the omnidrive function
block”

Consider the motion parallelogram <A, C, C’, A’> in the following figure with regard to your solution.

w = Robotino® travel path for forward motion


s = path travelled by the wheels during forward motion over path w

Basic conditions
• Robotino® View has been installed to the PC and the software is running.
• A W-LAN connection has been established to Robotino® (technical documentation).

Project assignments
1. Travel a distance of 1 metre without using the Omnidrive function block.
2. Ascertain repetition accuracy and absolute accuracy.
3. Travel a distance of 1 metre using the Omnidrive function block.

Work aids
• Technical documentation
• Help texts in Robotino® View concerning the omnidrive
• Theory section: omnidirectional drive

38 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 3 – Linear travel and positioning of a mobile robot system

1. Travelling a distance of 1 metre without using the omnidrive function block

a) Cause Robotino® to travel a distance of 1 metre without using the omnidrive function block.

– Determine the number of revolutions which have to be completed by both wheels for Robotino® to
travel forward over a distance of 1 metre, and calculate the required number of motor increments.

In doing so, observe the following data:


Distance: 1000 mm, 2 wheels are operated
Wheel circumference = distance travelled per revolution

Observe the drawing in the positional sketch as well, and push the diagram of Robotino® in the forward
direction.

– Result: Number of revolutions

– Calculation of motor increments required for the specified distance:

The gear ratio is 1:32 (see also technical documentation).


1 revolution of the motor shaft corresponds to 2048 increments (see also technical documentation).

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 39
Project 3 – Linear travel and positioning of a mobile robot system

2. Ascertaining repetition accuracy and absolute accuracy

a) Perform 10 measurements on different floors (tile and carpet).

– Execute these tests at different speeds and enter your results to the tables.
– Always begin travel from the same starting point, in the same direction and at the same speed.
– Determine average deviation from the specified distance of 1 metre. Use a tile floor and a carpet as a
running surface.

Note
The batteries should be fully charged.

For purposes of optimisation, use the following solution:

Increment_comparison.rvw2, travel sub-program

• The reset circuit sets the increment counter for the wheels to 0 at the outset.
• Only one constant is read out to the motors for speed, and it must be assured that the target speed for
motor 1 is multiplied by -1.

The value of the constant can be changed in the main program (sequence control).

40 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 3 – Linear travel and positioning of a mobile robot system

– Activate Show Connector Values for function block connections in the View menu, or with the Ctrl+D
key combination.

After Robotino® stops, you can read the value, which indicates the actual number of travelled increments.

Calculate average deviation and the arithmetic mean value of the travelled distance:

1 n x1 + x 2 +  + x n
x=
arithm . = ∑ xi
n i =1 n
Consider your measurements and the results of your calculations as a means of quality control with
regard to your system, for example quality of the motors, the wheels and their assembly.
The measurements serve as a test in order to determine how well the system lives up to the specified
demands, and whether it fulfils the stipulated requirements.

Measurements for travel on different types of flooring


(deviation possible depending upon flooring characteristics):

Tile floor
Speed: 500 rpm

Distance travelled in metres Number of increments Deviation from target value of 1 metre

Mean value: Mean value: Mean value:

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 41
Project 3 – Linear travel and positioning of a mobile robot system

Speed: 1500 rpm

Distance travelled in metres Number of increments Deviation from target value of 1 metre

Mean value: Mean value: Mean value:

Carpet
Speed: 500 rpm

Distance travelled in metres Number of increments Deviation from target value of 1 metre

Mean value: Mean value: Mean value:

Speed: 1500 rpm

Distance travelled in metres Number of increments Deviation from target value of 1 metre

Mean value: Mean value: Mean value:

42 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 3 – Linear travel and positioning of a mobile robot system

b) Explain why different results have been obtained.

3. Travelling a distance of 1 metre using the omnidrive function block

a) Robotino® needs to travel forward over a distance of 1 metre and then stop using the Omnidrive
function block.

– Calculate the duration of travel required for Robotino® to cover a distance of 1 metre at a speed of
100 mm per second.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 43
Project 3 – Linear travel and positioning of a mobile robot system

b) Create and test a new program which includes a timing module and an Omnidrive. Create one Constant
for travel time and one Constant for speed.

• Speed = 100 mm per sec.


• Duration = 10,000 ms

c) Test the program and measure actually travelled distance.

44 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 3 – Linear travel and positioning of a mobile robot system

d) Execute this test at various speeds and compare your results with those obtained without using the
Omnidrive function block.

Measurement results may vary depending upon flooring characteristics.

Carpet
Distance: d = 1 m / velocity: v = 100 mm/sec. / time: t = 10 s = 10000 ms

Distance travelled in metres Deviation from target value of 1 metre

Mean value: Mean value:

Distance: d = 1 m / velocity: v = 400 mm/sec. / time: t = 2.5 s = 2500 ms

Distance travelled in metres Deviation from target value of 1 metre

Mean value: Mean value:

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 45
Project 3 – Linear travel and positioning of a mobile robot system

Tile floor
Distance: d = 1 m / velocity: v = 100 mm/sec. / time: t = 10 s = 10000 ms

Distance travelled in metres Deviation from target value of 1 metre

Mean value: Mean value:

Distance: d = 1 m / velocity: v = 400 mm/sec. / time: t = 2.5 s = 2500 ms

Distance travelled in metres Deviation from target value of 1 metre

Mean value: Mean value:

– Comparison of results obtained with and without the Omnidrive

46 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 3 – Linear travel and positioning of a mobile robot system

e) Explain possible reasons for deviation.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 47
Project 3 – Linear travel and positioning of a mobile robot system

48 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 4
Path tracking of an automated guided vehicle system with two diffuse light
sensors

Learning objectives
Trainees
• Learn to mount the diffuse light sensors to Robotino® and connect them to the I/O interface.
• Learn to access the diffuse light sensor’s signals via Robotino® View, and to evaluate them.
• Learn to adjust the diffuse light sensors.
• Become familiar with diffuse light sensor switching operations.
• Learn to use the diffuse light sensors to control Robotino®.
• Learn to develop a path tracking strategy.
• Learn to create a simple sequencing program which controls the required functions.
• Learn to combine all of the required functions into a closed-loop control program.

Problem description
Your task is to cause an automated guided vehicle to travel along a predefined path to a loading station and
stop when it reaches the station in order to execute the loading process. The path includes curves and is
indicated by coloured markings on the floor.
Robotino® plays the role of the automated guided vehicle for this task.

Project order
Attach the diffuse light sensors to Robotino®, connect them to the controller and conduct a functions test.
Develop a strategy for travelling along the marked out path and create the function block diagrams for the
individual sub-functions of this strategy.
Combine them into a sequencing program and then optimise your function block diagrams with regard to
overall travel time.

General conditions
• The marking must be narrower than the distance between the fibre-optic cables.
• The colour of the marking must demonstrate adequate contrast relative to the floor.
• The marking strips should be darker than the floor.

© Festo Didactic GmbH & Co. KG 8029495 49


Project 4 – Path tracking of an automated guided vehicle system with two diffuse light sensors

Project assignments
1. Create a work plan.
2. Attach the diffuse light sensors.
3. Connect the diffuse light sensors to supply power.
4. Adjust the diffuse light sensors.
5. Connect the diffuse light sensors’ inputs and outputs.
6. Create a control program in order to actuate the sensors.
7. Ascertain sensor values for the individual inputs.
8. Develop a control strategy.
9. Develop a control program.
10. Test the control program.
11. Implement the control program.

Work aids
• Ready to use programs
• Technical documentation
• Data sheets
• Theory section: diffuse light sensors
• Robotino® View help texts

Possible additional exercises


Make any required program changes in the event that the marking is brighter than the floor.
Make any required program changes in the event that the marking is wider than the distance between the
sensors.

50 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 4 – Path tracking of an automated guided vehicle system with two diffuse light sensors

1. Create a work plan

a) Create your work plan for this project. Define all required work steps in as much detail as possible. Enter
the work steps to the following table. Use the table as a checklist for project documentation during the
course of your work.

Activity Completed

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 51
Project 4 – Path tracking of an automated guided vehicle system with two diffuse light sensors

2. Attaching the diffuse light sensors

a) Mount both diffuse light sensors to the locations provided to this end on the chassis. Describe the
utilised procedure, or document your procedure for attaching the diffuse light sensors.

Mount the two fibre-optic heads as close to each other as possible. However, the distance between the
fibre-optic heads may not be less than the width of the black marking which Robotino® will follow during
the course of the project.

– Required tools and components. Procedure for mounting.

Tools and components

Mounting

52 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 4 – Path tracking of an automated guided vehicle system with two diffuse light sensors

3. Connecting the diffuse light sensors to supply power

a) Sketch the wires into the drawing included below, and label them with their respective characteristics
and colours.

b) Connect the sensors to supply power in accordance with your drawing.

Secure the wires to the included contact strip as follows:


– Insert the wires into the appropriate sockets and press them in. The wires are clamped into place.
Check to make sure that the wires are clamped securely.
– The wires can be released from the contact strip by pressing the orange coloured clip at the
respective contact with a screwdriver and pulling the wire.
– Lay and secure the sensor cable such that it cannot be torn out or pushed into the drive unit
during operation.
– The command bridge has to be removed in order to replace the batteries. Make sure that the
cable is long enough to allow for removal of the contact strip or the command bridge, without
having to disconnect the wires.
– Make sure that the camera’s lens is not obstructed by the cable.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 53
Project 4 – Path tracking of an automated guided vehicle system with two diffuse light sensors

4. Adjusting the diffuse light sensors

a) Adjust the diffuse light sensors so that they detect a black line and are deactivated next to the black
line. Describe your procedure.

1: two diffuse light sensors


White surface: floor to be traversed, thick black line: marking

54 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 4 – Path tracking of an automated guided vehicle system with two diffuse light sensors

5. Connecting the diffuse light sensors’ inputs and outputs

a) Sketch the wires into the drawing included under heading 3a, and label them with their respective
colours and assignments. Use the pin assignments from exercise 5b).

b) Connect the diffuse light sensors to the I/O interface.

– Connect the wires from the left-hand diffuse light sensor to inputs DI3 and DI4, and the wires from the
right-hand diffuse light sensor to inputs DI1 and DI2.
– Connect the black signal wires to inputs DI1 and DI3, and the white signal wires to inputs DI2 and DI4.

6. Creating a program for controlling the sensors

a) Which function blocks will be required in order to control the diffuse light sensors?

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 55
Project 4 – Path tracking of an automated guided vehicle system with two diffuse light sensors

b) Match up the wires with the appropriate colours, as well as positioning on the Robotino®, to the
sensors.

Digital input Position (right/left) Colour (black/white)

56 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 4 – Path tracking of an automated guided vehicle system with two diffuse light sensors

7. Ascertaining sensor values for the individual inputs

a) Ascertain sensor values for the various inputs in Robotino® View, and enter them to the table below.

As a prerequisite, Robotino® must be situated on the floor on which it will be operated later
(not on the black marking), and must have been accordingly adjusted.

Input Signal

b) Evaluate the ascertained sensor signals from the inputs with regard to switching function.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 57
Project 4 – Path tracking of an automated guided vehicle system with two diffuse light sensors

c) Think about which three possible situations might occur due to path tracking requirements, and enter
them to the corresponding column in the table below.

d) Simulate different travel situations with Robotino®, and enter the resulting input values to the table
below.

Travel situation DI1 DI2 DI3 DI4

Note: 0 = false, 1 = true

Use this table later when creating the control program.

8. Developing a control strategy

a) Using the table from exercise 4, describe the start condition for each of the 3 travel situations, the
function of a corresponding sub-program and an abort condition.

– When Robotino® is in the correct position:

– Robotino® deviates to the left of the correct position relative to the marking.

58 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 4 – Path tracking of an automated guided vehicle system with two diffuse light sensors

– Robotino® deviates to the right of the correct position relative to the marking.

9. Developing a control program


A sample program is available for developing a Robotino® control program.
It is depicted on this page. However, it is unfinished has to be completed. Your task is to complete this
program.

a) Open the Assignment_P4_02.rvw2 program and allocate the three programs GoStraight, TurnRight and
TurnLeft to sequences Step1, Step2 and Step3 in the main program.

b) Explain sequence control and supplement the three conditions in the program which still have a value of
false (Step 3).

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 59
Project 4 – Path tracking of an automated guided vehicle system with two diffuse light sensors

c) Open the Go Straight program and describe the individual functions. Enter your description to the
graphic below.

60 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 4 – Path tracking of an automated guided vehicle system with two diffuse light sensors

d) Open the TurnRight program and describe the individual functions. Enter your description to the
graphic below.

– Think about which value the rotary speed constant must have, and give reasons for your conclusion.

Reason for direction of rotation

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 61
Project 4 – Path tracking of an automated guided vehicle system with two diffuse light sensors

e) Create the TurnLeft program.

– First think about which travel situation exists when Robotino® needs to execute anticlockwise rotation.
Which sensor has to be queried in this case?

Refer to your table with the sensor signals for the individual travel situations as an aid to this end.

Consideration on travel situation and query of the sensors:

62 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 4 – Path tracking of an automated guided vehicle system with two diffuse light sensors

10. Testing the control program

a) Start the main program and observe time and performance. What do you notice?

11. Implementing the control program

a) Create a new file and integrate all functions into a single function block diagram, which transforms
sequence control into a closed-loop control program.

Parameters
The closed-loop control program may only be aborted after the loading station has been reached or
contact is made with an obstacle.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 63
Project 4 – Path tracking of an automated guided vehicle system with two diffuse light sensors

Functional description

b) Test the program.

64 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 5
Accurately positioned approach to a loading station

Learning objectives
Trainees
• Become familiar with performance, position and mode of operation of the infrared distance sensors on
Robotino®.
• Learn to record the characteristics of the distance sensors on Robotino®, and to use them to measure
distance.
• Learn to make use of and optimise results in a control program for Robotino®.

Problem description
Your task is to travel to a loading station with an automated guided vehicle (AGV). The AGV should be
positioned 8 cm in front of the station for loading with a workpiece.

Project order
Conduct a function test for the distance sensors on Robotino®, and change any existing control program so
that Robotino® stops 8 cm in front of any obstacle. Robotino® plays the role of the automated guided vehicle
for this task.

General conditions
• Robotino® should be positioned such that it faces the station from a distance of greater than 8 cm, and
should then travel to the loading station.

Project assignments
1. Determine the position of the distance sensors.
2. Preliminary consideration regarding distance measurement
3. Record characteristics.
4. Represent the characteristic curve in MS Excel.
5. Linearise the characteristic curve.
6. Adapt the control program.
7. Create a test program and test the control program.
8. Check the accuracy of the stopping procedure.
9. Project documentation

© Festo Didactic GmbH & Co. KG 8029495 65


Project 5 – Accurately positioned approach to a loading station

Work aids
• Programs
• Technical documentation
• Data sheets
• Theory section: infrared sensors, recording and linearising a characteristic curve
• Robotino® View: configuring distance sensors, adjusting measured values
• Robotino® View help texts

Possible additional exercises


Competition for several participants or groups:
Whose positioning procedure is the fastest and most accurate?
Think about what has to be done in order to detect obstacles which are located at the sides of the travel
path.

1. Determining the position of the distance sensors


In order to be able to address the individual distance sensors, you will need to determine which sensor is
mounted at which position on Robotino®.

a) Describe your procedure for determining the positions of the individual distance sensors on Robotino®.

b) Create a program in Robotino® View for determining the positions of distance sensors Distance 1
through Distance 9, and save the program to memory.

– Set Robotino® onto blocks and switch the system on.


– Open an empty function block diagram in Robotino® View.
– Drag a distance sensor into the function block diagram (Robotino®  Collision detection).
– Supplement the program to include all distance sensors and save it to memory using the file name
sensors1.rvw2.

66 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 5 – Accurately positioned approach to a loading station

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 67
Project 5 – Accurately positioned approach to a loading station

c) Start your control program, determine the position of the sensors and enter the numbers of the
respective distance sensors to the following graphic.

d) Fill in the checklist for the functions test.

Sensor Function OK Sensor Function OK

Distance 1 Distance 6

Distance 2 Distance 7

Distance 3 Distance 8

Distance 4 Distance 9

Distance 5

e) Ascertain or calculate the beam angles of the individual sensors relative to the centre of Robotino®. The
beam direction for the Distance 1 sensor is 0°.

The infrared sensors utilised in Robotino® emit a perpendicular light beam.

68 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 5 – Accurately positioned approach to a loading station

f) Sketch the scanning directions of the individual sensors into the graphic below, and enter the
associated value in degrees.

The associated value in degrees is assigned to each function block for the distance sensors in Robotino®
View. The value in degrees can thus be read out from the software as well.

2. Preliminary considerations regarding distance measurement

a) Robotino® needs to stop at a certain distance from the loading station. Think about how this can be
accomplished.

– First of all, determine which distance sensors will be required in order to perform the distance
measurement. Make a note of which sensor is required. Give reasons for your selection.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 69
Project 5 – Accurately positioned approach to a loading station

– How will you have to proceed in order to be able to detect the specified distance from the loading
station with a control program? Consider the fact that different distances may be required. Describe
your procedure.

3. Recording the characteristics

a) Describe your procedure for recording the distance sensor’s characteristics.

70 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 5 – Accurately positioned approach to a loading station

b) Record the characteristics and enter them to the table below.

Distance (cm) Voltage (V) Distance (cm) Voltage (V)

1 21

2 22

3 23

4 24

5 25

6 26

7 27

8 28

9 29

10 30

11 31

12 32

13 33

14 34

15 35

16 36

17 37

18 38

19 39

20 40

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 71
Project 5 – Accurately positioned approach to a loading station

c) Record the characteristics and sketch them into the coordinate system.

72 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 5 – Accurately positioned approach to a loading station

4. Representing the characteristic curve in MS Excel

a) Represent the recorded characteristics as a curve in MS-Excel.

– Enter the ascertained pairs of values to an Excel spreadsheet and display them as a diagram.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 73
Project 5 – Accurately positioned approach to a loading station

5. Linearising the characteristic curve

a) Determine which range within the characteristic curve will be necessary for the task at hand.

– Linearise the characteristic curve within this range and sketch the linearised characteristic curve into
your drawing, or represent it in an Excel diagram. Distance should be expressed in cm.
– Document the calculation with all individual steps in the worksheet.

74 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 5 – Accurately positioned approach to a loading station

6. Adapting the control program

a) Adapt the Assignment-P5-01.rvw2 program such that Robotino® comes to a standstill 8 cm in front of
any obstacle. Integrate the calculated relationships between output values and distance as parameters
into the function block dialogue for the scaling block. Specify the desired distance.

7. Creating a test program and testing the control program

a) Create a test plan for your control program and describe your test procedure.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 75
Project 5 – Accurately positioned approach to a loading station

b) Check your control program for correct functioning in accordance with your test plan. Document your
results.

Test report

Function when on blocks

Distance accuracy

Function during actual operation

Distance accuracy in actual operation

Remarks

Date

Signature

8. Checking the accuracy of the stopping procedure

a) Travel towards the obstacle at different speeds and check how accurately the specified distance from
the obstacle is maintained. Compare distances with reference to the different speeds.

Change travel speed for Robotino® by assigning a larger value to the velocity constant.

Speed Measured distance to the obstacle

76 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 5 – Accurately positioned approach to a loading station

b) Write down the causes of the differing distances.

9. Project documentation

a) Compile project documentation.

Exercises Required documents

Determining the position of the distance sensors

Recording the characteristic curve

Representing the characteristic curve in MS Excel

Linearising the characteristic curve

Adapting the control program

Creating a test program

Test

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 77
Project 5 – Accurately positioned approach to a loading station

78 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 6
Approaching an obstacle and maintaining a defined distance

Learning objectives
Trainees
• Learn to set up a control system with one of the distance sensors on Robotino® so that Robotino®
approaches an obstacle and stops at a specified distance from it.
• Become familiar with the results of superimposing processes for forward and sideways travel.
• Learn to set up sensor-guided path control so that Robotino® travels along a wall at a specified distance
from it.
• Learn to test and explain a sequencing program for various travel processes.

Problem description
A mobile robot system needs to travel to various transfer positions along a conveyor belt. During the first
step it will thus be necessary for the system to travel along the conveyor belt while maintaining a specified
distance from it.

Project order
The conveyor belt will be replaced with a rail in the laboratory environment. Create and test a program by
means of which Robotino® approaches the rail (obstacle) and then travels along the rail at a distance of 60
mm. Robotino’s® line of vision should always be aligned to the rail.

Step 1
During the first step it must be assured that Robotino® maintains a distance of 60 mm by means of
correction.

Task
First of all, create and test a program which
• approaches a movable obstacle, for example a cube-shaped object, up to a distance of 60 mm,
• and maintains this distance even if the obstacle moves.

Step 2
During the second step it must be assured that Robotino® travels sideways along a rail, with its line of vision
facing the rail, while maintaining a distance of 60 mm.

© Festo Didactic GmbH & Co. KG 8029495 79


Project 6 – Approaching an obstacle and maintaining a defined distance

Positional sketch, step 1

Positional sketch, step 2

80 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 6 – Approaching an obstacle and maintaining a defined distance

Basic conditions
• Robotino® View has been installed to the PC and the software is running.
• A W-LAN connection has been established to Robotino® (technical documentation).
• An obstacle is positioned within the working area.
• Robotino® is positioned in close proximity to the obstacle and oriented such that the camera is pointed
towards the obstacle (step 1).
• Robotino® is positioned in proximity to a wall and oriented such that the camera is pointed towards the
wall (step 2).

Project assignments
1. Approach to a distance of 60 mm and correct.
2. Travel along a wall.

Work aids
• Technical documentation
• Robotino® View help texts: multiplication module
• Theory section: omnidirectional drive

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 81
Project 6 – Approaching an obstacle and maintaining a defined distance

1. Approaching to a distance of 60 mm and correcting

a) Create and test a program in Robotino® View, by means of which Robotino® is caused to maintain a
distance of 60 mm from an obstacle.

– Save the program from project 5 (distance sensor) using a different name.
– Ascertain the direct sensor value with the help of the graphic for the distance sensor (project 5), and
enter it as a minimum distance.

Make sure that the right value is entered to the distance sensor’s function block dialogue.

b) When the obstacle is moved, Robotino® must automatically correct distance to the target value of
60 mm.

– Answer the following questions on the basis of the block diagram:

process value PV deviation d controller controller output CO


algorithm (actuating variable)
+

set point SP
(reference variable)

controlled process value PV


system

controller
output CO

controller
set point SP

82 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 6 – Approaching an obstacle and maintaining a defined distance

Question Answer

What is the controlled variable?

How is the controlled variable measured?

What is the setpoint for the controlled variable?

What is the controlled system?

What is the disturbance variable?

Determine system deviation. Use P controller


functionality for your solution.

Determine the manipulated variable.

– Create and test the program.

Reference variable = 2 V / velocity factor = 75


The manipulated variable is calculated by multiplying system deviation with a velocity factor. For
example, if Robotino® is 10 cm in front of an obstacle, it approaches at a speed of 60 mm per second. On
the other hand, after reducing this distance to just 7 cm from the obstacle, Robotino® has reduced its
advancing speed to only 30 mm per second.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 83
Project 6 – Approaching an obstacle and maintaining a defined distance

c) Move the obstacle while the program is running and observe what happens. How can the controller be
improved?

d) Explain the difference between this program and the distance sensor program from project 5.

2. Travelling along a wall

a) Create a program by means of which Robotino® executes sensor-guided travel along a wall at a distance
of 60 mm from it with its line of vision towards the wall.

– Add sideways travel to the program as well, and describe what happens.

b) Test the program under the following conditions:

– Robotino® start position of 60 mm in front of the wall


– Robotino® start position of more than 100 mm in front of the wall

Make sure that Robotino® is “looking” at the wall when travel is started.
Sample value for sideways travel = 100 mm per second.

84 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 6 – Approaching an obstacle and maintaining a defined distance

– What happens?

Case 1

Case 2

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 85
Project 6 – Approaching an obstacle and maintaining a defined distance

c) Create a sequencing program which causes Robotino®, with its line of vision facing the wall, to approach
the wall initially up to a distance of 60 mm, and then to travel along the wall with constant orientation
and at a distance of 60 mm from the wall.

d) Test and explain the sequencing program.

86 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 7
Circling a station and approaching various transfer positions

Learning objectives
Trainees
• Are familiarised with the degrees of freedom of a power driven multi-axis system.
• Learn to use distance sensors for path control applications.
• Learn to program sensor-guided path control for a mobile robot system along a circular rail with
Robotino® View.
• Learn to recognise essential parameters for path control, and to modify them in order to optimise the
solution.

Problem description
A mobile robot system will be used to access several transfer positions on a rotary indexing table. The
system should travel to the various transfer positions as efficiently as possible. During the first step it will
thus be necessary for the system to circle around the rotary indexing table while maintaining a specified
distance from it, and with its line of vision directed towards the rotary indexing table.

Project order
Create and test a program by means of which Robotino® circles a cylinder-shaped obstacle at a distance of
60 mm with its line of vision pointed towards the obstacle. Take advantage of knowledge gained from
project 6, “Approaching an obstacle and maintaining a defined distance”.

© Festo Didactic GmbH & Co. KG 8029495 87


Project 7 – Circling a station and approaching various transfer positions

Positional sketch

Basic conditions
• Robotino® View has been installed to the PC and the software is running.
• A W-LAN connection has been established to Robotino® (technical documentation).
• A cylinder-shaped object is positioned within the working area (diameter: approx. 250 mm, height:
approx. 150 mm).
• Robotino® is positioned in proximity to the object and oriented such that the camera is pointed towards
the object.

Project orders
1. Complete preliminary considerations.
2. Create a program.

Work aids
• Technical documentation
• Robotino® View help texts: multiplication, addition and subtraction modules
• Theory section: omnidirectional drive, degrees of freedom, control technology

88 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 7 – Circling a station and approaching various transfer positions

1. Completing preliminary considerations

a) Think about how many degrees of freedom are necessary in order to approach and circle the obstacle
(the station).

Use the above positional sketch and the program from project 5 as aids.

b) Think about how you can create a circular path with the help of the Omnidrive function block, and write
a corresponding program.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 89
Project 7 – Circling a station and approaching various transfer positions

– What happens, and why?

c) Think about how, and with which sensors, you can monitor distance from the obstacle while circling it.
Use the positional sketch to this end.

90 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 7 – Circling a station and approaching various transfer positions

d) Which values must be assigned to distance sensors 2 and 9 for the camera to be aligned to the
obstacle? How can you use the sensor values in order to control orientation towards the obstacle?

2. Writing a program

a) Position Robotino® at a distance of 6 cm from the obstacle with the camera pointing towards the
obstacle. Supplement the wall_sidewards.rvw2 program from project 6 to include rotary motion which
continuously keeps the camera perpendicular to the obstacle.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 91
Project 7 – Circling a station and approaching various transfer positions

b) Test and optimise your program.

c) Create a sequencing program which initially causes Robotino® to approach the station up to a distance
of 6 cm, and then to circle it at a distance of 6 cm. Test your program.

You can use a program from the previous project for the approach sequence (possibly with
modifications), and the program from exercise 2a) can be used for circling.

92 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 8
Path tracking for an automated guided vehicle system using an analogue
inductive sensor

Learning objectives
Trainees
• Learn to attach inductive sensors to Robotino® and commission them.
• Become familiar with the mode of operation and signaling characteristics of an inductive sensor.
• Learn to analyse control program performance and correspondingly adapt the program.
• Learn to combine several function block programs into a sequence control program.
• Learn to convert a sequencing program into a closed-loop control program.

Problem description
Your task is to cause an automated guided vehicle system to travel along a path marking consisting of a
metal strip in the floor to a loading station. After arriving at the loading station, the loading procedure is
triggered when the AGV strikes a switch.

Robotino® plays the role of the automated guided vehicle for this task. The path marking is represented by
adhesive aluminium tape

Project order
Attach an analogue inductive sensor to Robotino® and conduct a functions test. Modify an existing
sequencing program and use it to develop a closed-loop control program with the corresponding functions.

General conditions
• The path marking must have a width of 20 mm and lead up to an obstacle in a straight line.

© Festo Didactic GmbH & Co. KG 8029495 93


Project 8 – Path tracking for an automated guided vehicle system using an analogue inductive sensor

Work assignments
1. Work preparation
2. Mount the sensor and connect it to the I/O interface.
3. Experiment: sensor scanning performance
4. Record the characteristic curve.
5. Develop a control strategy.
6. Analyse the accompanying control program.
7. Create a closed-loop control program.

Possible additional exercise


The automated guided vehicle system should travel all the way up to the loading station, where it activates
a switch which triggers the loading process. Afterwards, it goes to the loading position in order to accept the
cargo. It must remain in this position for 20 seconds until the loading process has been completed, turn
180° around its own axis and then return to its initial position by travelling back along the path marking in
order to deliver the cargo. The AGV should be 6 cm from the loading station. Existing programs from
previous projects can be used to this end.

Work aids
• Sample programs
• Technical documentation
• Data sheet
• Theory section: inductive distance sensors, IF function, sequence control, sign reversal, characteristic
curve
• Robotino®View: address analogue input
• Robotino®View help texts

94 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 8 – Path tracking for an automated guided vehicle system using an analogue inductive sensor

1. Work preparation

a) In order to make your work easier, first draft a work plan for mounting and commissioning the sensor.
Compile a list of tools and materials before you start mounting the sensor.

– Use your work plan later on as a checklist for project documentation.

Step Required time Completed

Required overall time

Required materials and tools

Quantity Tool / material

b) Determine which connections will be required for the sensor in accordance with the Robotino®
handbook, the operating instructions and the sensor’s data sheet. Give reasons for your selection.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 95
Project 8 – Path tracking for an automated guided vehicle system using an analogue inductive sensor

c) Determine the colours of the required wires and their designations in the operating instructions. Give
reasons for your selection.

Colours

Reason

d) The sensor must be connected to analogue input AIN1. Create a wiring diagram for the I/O interface.

– Sketch the wires into the drawing included below, and label them with their respective characteristics
and colours.

96 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 8 – Path tracking for an automated guided vehicle system using an analogue inductive sensor

2. Mounting the sensor and connecting it to the I/O interface

a) Mount the sensor in accordance with the Robotino® handbook. What must be observed in doing so?

– Connect the wires to the contact strip in accordance with your drawing.

b) Subject the sensor to a functions test. Access the sensor data in Robotino® View to this end, and
represent the input values with the oscilloscope. Document your procedure.

c) Subject the sensor to a function test. Describe your procedure.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 97
Project 8 – Path tracking for an automated guided vehicle system using an analogue inductive sensor

d) Save the function block diagram.

3. Experiment: sensor scanning performance

a) Examine the inductive sensor’s response characteristics with regard to various materials (alloys), and
determine the relationship between distance from the object and its surface area relative to sensor
values.

– Use all coins ranging in value from 1 cent to €2 as test objects.


– Lay each respective coin onto the floor within the sensor’s working range and enter measured output
voltage (V) to the table below. In order to determine values for different distances, place a non-metallic
pad (paper, cardboard or plastic) underneath each coin.

Value Diameter Thickness Material Magnetic Output Output


(mm) (mm) voltage (V) voltage (V)
with pad

1 cent

2 cents

5 cents

10 cents

20 cents

50 cents

€1

€2

98 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 8 – Path tracking for an automated guided vehicle system using an analogue inductive sensor

b) Evaluate the acquired values with regard to alloy, surface area and distance from the sensor, and write
them down.

c) Which conclusion can be drawn from the two measurement series shown in the table below with regard
to sensor position, assuming that the objects were on the same surface for both measurement series?

Value Diameter Thickness Material Magnetic Output Output


(mm) (mm) voltage (V) voltage (V)
Measuremen Measuremen
t1 t2

1 cent 16.25 1.67 Steel with copper encasing (Fe, Cu)

2 cents 18.75 1.67 Steel with copper encasing

5 cents 21.25 1.67 Steel with copper encasing

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 99
Project 8 – Path tracking for an automated guided vehicle system using an analogue inductive sensor

4. Recording characteristics

a) Determine parameters for following the path marking (aluminium strip) in order to develop a strategy.
Record the sensor’s characteristic curve when it runs over the aluminium strip to this end.

Use the aluminium strip with a width of 2 cm as a test object to this end, which is bonded to a flat surface.
This aluminium strip should be the same as the path marking which will be subsequently used for
Robotino®.

Procedure

Use the included function block diagram, step.rvw2, to this end.

When the program is executed, Robotino® travels forward approximately 0.5 metres, depending on the floor,
and then stops. Due to the fact that the program continues to run, the sensor value can be read after each
step. Afterwards, the program has to be restarted in order to execute the next step.

b) Record the characteristic curve and enter the values to the graphic below.

100 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 8 – Path tracking for an automated guided vehicle system using an analogue inductive sensor

5. Developing a control strategy

a) Examine the obtained curve and develop possible strategies for following the marking. Write your
strategies down. Select a strategy and give reasons for your choice.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 101
Project 8 – Path tracking for an automated guided vehicle system using an analogue inductive sensor

6. Analysing the accompanying control program

a) Analyse the accompanying control program, namely flow1.rvw2.

– Position Robotino® to the right of the aluminium strip and execute the sequencing program. Describe
Robotino’s® performance.

The limit values used for the sensor signal in the sample program may be differently configured
depending on the mounting height of the sensor and the type of aluminium strip. Adapt the sub-
programs to these conditions if required.

102 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 8 – Path tracking for an automated guided vehicle system using an analogue inductive sensor

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 103
Project 8 – Path tracking for an automated guided vehicle system using an analogue inductive sensor

7. Creating a closed-loop control program


The sequencing program should be converted into a closed-loop control program.

a) Write down the advantages of a closed-loop control program and implement the required closed-loop
control program.

104 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 8 – Path tracking for an automated guided vehicle system using an analogue inductive sensor

b) Test the program.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 105
Project 8 – Path tracking for an automated guided vehicle system using an analogue inductive sensor

106 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 9
Ascertaining optimised travel performance

Learning objectives
Trainees
• Learn the fundamentals of closed-loop control technology for electrical motors.
• Become familiar with the functionality of remote control and learn to use basic functions included in
graphic programming software.
• Learn to configure and optimise the parameters of a PID controller with the help of the software, and
describe and evaluate their effects on travel performance.

Problem description
A mobile robot system must demonstrate ideal travel performance in all situations. For this reason, you will
need to determine in which range the motor controller allows for acceptable performance by adjusting the
PID controller. In order to assure acceptable travel performance, the wheels must turn uniformly at a
specified speed. This can be achieved by correctly adjusting the PID controller for the motor’s rotational
speed.

Project order
• Set up the motor controller with the help of Robotino® View so that ideal travel performance is assured
within a given range.
• Document the range within which travel performance is acceptable.
• Determine which effect the parameters of the PID controller have on travel performance and the
controlled system, when parameter values are selected which are outside of the permissible range.

© Festo Didactic GmbH & Co. KG 8029495 107


Project 9 – Ascertaining optimised travel performance

Basic conditions
• Robotino® View is running.
• A WLAN connection has been established to Robotino® (technical documentation).
• The EA09View program is running.

Project assignments
1. Program the motor controller.
2. Functions of the parameters of the PID controller
3. Adjust the PID controller.
4. Effects of oscillation on travel performance
5. Program visualisation of three motors.

Work aids
• Technical documentation
• Theory section: dimensioning control technology by trial and error, oscilloscope and generator
• Robotino® View: help texts

1. Programming the motor controller

a) Create a program for motor control in Robotino® View.

b) Visualise and trace target and actual curves with the help of the EA09View program included on the CD.
This program can be used to sample motor controller data, setpoints and actual values, voltage and
current values at a frequency of 1 kHz, and to visualise them. In this way, you can make a detailed
analysis of the parameters configuration for the PID motor controller, and optimise travel performance
for Robotino®.

– Set Robotino® onto blocks.


– Start Robotino® View and establish a connection between the Robotino® controller and Robotino® View.
– Open an empty function block diagram in Robotino® View.
– Create a function block diagram using the Motor 3 and square-waveform generator function blocks.
– Test the settings shown in the figure below.

108 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 9 – Ascertaining optimised travel performance

auto_control_1.rvw2

– Start the EA09View program.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 109
Project 9 – Ascertaining optimised travel performance

The program numbers the motors from 0 to 2 instead of from 1 to 3.

Due to the fact that motor 3 is used, maximise the Motor2 window.

– Select the settings shown in the dialogue box below under Motor2.

Motor Monitoring  On
Motor Control  Internal PI Controller

– Open the oscilloscope menu by right clicking the user interface.


– Deactivate channels 3 (Current [A]) and 4 (Control Value).
– Set Time resolution to 200 ms and Amplification to 200/Div for channels 1 and 2 (see figure below).

110 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 9 – Ascertaining optimised travel performance

– Start the program in Robotino® View by clicking the start icon.

c) Observe and describe performance of the omniwheel, and give reasons for this performance (square-
waveform generator).

Description

Reason

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 111
Project 9 – Ascertaining optimised travel performance

d) Specify which channel indicates the motor’s target speed, and which its actual speed. Take a look at the
Values window as well.

112 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 9 – Ascertaining optimised travel performance

2. Functions of the parameters of the PID controller

a) Answer the questions regarding functions of the parameters of the PID controller

– Read the theory section to find out the significance and the effects of the P, I and D components.

Significance of the P component and its effect

Significance of the I component and its effect

Significance of the D component and its effect

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 113
Project 9 – Ascertaining optimised travel performance

3. Adjusting the PI controller

a) Change the parameters of the PI controller at the motor. Change kp and ki, one after the other.

In order to change the motor’s parameters, change default parameters and confirm new settings by
pressing “Set”. Then you can view the effects on EA09View.

b) Trace the target and actual curves which are displayed by the virtual oscilloscope.

114 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 9 – Ascertaining optimised travel performance

c) Optimise transient response such that the target and actual curves are nearly identical.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 115
Project 9 – Ascertaining optimised travel performance

4. Effects of oscillation on travel performance

a) Describe how large oscillations due to deviation between target and actual curves effect motion of the
omniwheels.

– Change the ki and kp parameters such that overshooting and undershooting occurs within short periods
of time.

116 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 9 – Ascertaining optimised travel performance

b) Explain the effect of large oscillations on travel performance.

– Observe the target and actual curves, as well as motion of the omniwheels.

Description: How does the omniwheel move?

Why does oscillation have this effect on travel performance?

5. Programming visualisation of three motors

a) Visualise and trace the target and actual curves for three motors with the system set on blocks, and
during actual operation, using the same controller settings.

– Create a program in Robotino® View with three motors which are connected to the arbitrary waveform
generator.
– Observe the characteristics of the target and actual curves in EAView09.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 117
Project 9 – Ascertaining optimised travel performance

auto_control_2.rvw2

118 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 9 – Ascertaining optimised travel performance

– Describe curve characteristics with the system on blocks, as well as during actual operation.

Description: curve characteristics

On blocks
Curve characteristics

Actual operation
Curve characteristics

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 119
Project 9 – Ascertaining optimised travel performance

– Explain why the curve obtained during actual operation deviates from the curve obtained with the
system on blocks.

120 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 10
Path tracking of an automated guided vehicle system with the help of a
webcam

Learning objectives
Trainees
• Become familiar with the webcam on the Robotino® and learn to make use of it.
• Learn to configure and make use of the line detection function in Robotino® View.
• Become familiar with the limitations and marginal conditions associated with line detection.
• Learn to execute (implement) path tracking with the webcam.

Problem description
An automated guided vehicle (AGV) needs to follow a visible path marking on the floor with the help of a
vision system. The AGV must stop when it reaches the end of the path marking.

Project order
Start up the camera on Robotino® and create a program which makes it possible for you to access images
generated by the camera. Supplement the program with a line detection function. Create the necessary
conditions which allow for line detection and tracking. Implement a path tracking program.

Project assignments
1. Start up the webcam on Robotino®.
2. Align the camera.
3. Program line detection.
4. Describe and test the line detector function block.
5. Develop a strategy for path tracking and create a closed-loop control program.
6. Acquire a values curve for line detection.

© Festo Didactic GmbH & Co. KG 8029495 121


Project 10 – Path tracking of an automated guided vehicle system with the help of a webcam

1. Starting up the webcam on Robotino®

a) In order to complete this project, you will first of all have to start up and test the webcam on Robotino®.
Describe your procedure and create a function block diagram, by means of which you can check the
camera for correct functioning.

– Describe the individual steps of your procedure.

If the camera’s image is displayed in the parameters dialogue, correct functioning of the webcam is assured.

122 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 10 – Path tracking of an automated guided vehicle system with the help of a webcam

2. Aligning the camera

a) In order to evaluate the image generated by the camera, it must be correspondingly adjusted.
How does the camera have to be aligned in order to detect a line in front of Robotino®?

– Make the necessary adjustment and explain it.

3. Programming line detection

a) Supplement the camera testing function to include a line detection function.

– Briefly explain what needs to be done to this end.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 123
Project 10 – Path tracking of an automated guided vehicle system with the help of a webcam

4. Describing and testing the line detector function block

a) Describe the function of the line detection function in Robotino® View.

Inputs/ Type Standard Description


outputs

Input

Threshold value

Search start

Search height

Outputs

Line found

The Threshold value, Start search and Search height inputs can also be manually set in the function block
dialogue, if the corresponding input in the program is not occupied.

Robotino® transmits compressed JPEG images which are decoded in RGB colour space. Colours are
represented in the traditional manner with this colour space. However, it has the disadvantage of
reacting very sensitively to light influences. As a rule, the YCbCr colour space is much more stable with
regard to brightness interference. Colour space conversion is possible with the help of the Colourspace
conversion function block.

124 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 10 – Path tracking of an automated guided vehicle system with the help of a webcam

b) Test the individual inputs and outputs of the line detection module, and describe the settings made
possible as a result. Align the Robotino® and the camera so that the line on the floor is within the
camera’s working range.

– How is a detected line displayed?

5. Acquiring a values curve for line detection


In order to implement path tracking, you will have to determine which output values are read out by line
detection. In this way, you will be able to decide which strategy can be considered for the path tracking
function.

a) Which information is read out from output X at the line detection module?

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 125
Project 10 – Path tracking of an automated guided vehicle system with the help of a webcam

b) Enter the acquired values to the table below.

Acquire the values curve as follows:


– Make sure that a line is detected. This is the case when the line found input has a value of true.
– First of all, position Robotino® such that the detected line is in the bottom right-hand corner
of the camera’s image.
– Then rotate Robotino® until the detected line is directly in front of Robotino®.
– Then position Robotino® such that the detected line is located in the bottom left-hand corner of
the camera’s image.

Position X value at a resolution of X value at a resolution of X value at a resolution of


800 x 600 640 x 480 320 x 240

6. Developing a strategy for path tracking and creating a closed-loop control program

a) Describe the program functions which are required for path tracking. Use the camera’s median
resolution setting (640 x 480).

126 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 10 – Path tracking of an automated guided vehicle system with the help of a webcam

b) Implement the required functions as a closed-loop control program.

Use your previously developed sequencing or closed-loop control programs, and modify them
accordingly.
Use the sensor values in order to adjust rotary motion which results in deviation from the centre position.
Scale the sensor value with a suitable function.
Select a low threshold value, for example 20, in order to accelerate line detection.
Use the Image processing  Image information function block in order to calculate the centre of the
image.
Remember to integrate collision protection into the program. Adapt the line detection module’s output
values such that smooth travel and relatively jerk-free rotary motion are assured. Travel forward slowly.

When the line ends, the desired destination has been reached. Robotino® must stop at this point.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 127
Project 10 – Path tracking of an automated guided vehicle system with the help of a webcam

c) Supplement your closed-loop control program to include a function which causes Robotino® to stop
when no line is detected.

128 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 10 – Path tracking of an automated guided vehicle system with the help of a webcam

d) Optimise line detection.


Lines other than the one to be tracked may be detected in the image, which cannot be seen with the naked
eye. These may interfere with detection of the desired line and result in a departure from the path marking,
especially if they are close to the edge of the image.

– Think about how these line detection influences can be minimised.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 129
Project 10 – Path tracking of an automated guided vehicle system with the help of a webcam

130 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 11
Searching and approaching a coloured object with the help of a webcam

Learning objectives
Trainees
• Become familiar with the webcam on the Robotino® and learn to make use of it.
• Learn to configure and use colour detection functions in Robotino® View.
• Become familiar with the limitations and marginal conditions associated with colour detection.
• Learn to execute object detection with the webcam.

Problem description
An object is to be examined for corrosion in a difficult to access area. A mobile diagnostic system will have
search for the object which can be identified based on its colour, and approach the object, allowing it to be
examined for corrosion using the transmitted camera image. Robotino® plays the role of the diagnostic
system. The object will be represented by a coloured box.

Project order
Start up the camera on Robotino® if this has not already been done, and create a program which makes it
possible for you to access images generated by the camera.
Supplement the program with a colour detection function.
Create the necessary conditions which allow for colour detection.
Implement a program for the detection of coloured objects, and approach the objects with Robotino® up to a
position from which their images can be transmitted to a PC with as much detail as possible.
Make sure that the object is not destroyed by Robotino® running in to it. Maintain a minimum distance from
the object.

Project assignments
1. Evaluate the camera’s image.
2. Develop a strategy with sub-functions.
3. Implement the sequencing program.

Resources
• Theory section, Robotino® manual

© Festo Didactic GmbH & Co. KG 8029495 131


Project 10 – Path tracking of an automated guided vehicle system with the help of a webcam

1. Evaluating the camera’s image

a) Determine which function blocks are required for colour detection and create a function block diagram
for colour detection.

– Make a note of the required function blocks and create the necessary function block diagram.

Required function blocks

The camera’s image must be evaluated for Robotino’s® travel performance.

b) Which function block has to be used to this end, and which of its outputs can be evaluated for this
purpose?

– Describe their function and how they can be used for the task at hand.

132 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 10 – Path tracking of an automated guided vehicle system with the help of a webcam

Output Use in function block diagram

Area

Vx

vy

Num of segments
found

Output

You can improve the quality of the display by making the appropriate adjustments under Colour range
finder (see online help in Robotino® View).

Check these settings each time the program is restarted.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 133
Project 10 – Path tracking of an automated guided vehicle system with the help of a webcam

c) How can it be assured that the object fills the image to the greatest possible extent, and is displayed
with best possible quality?

– Write down all of the possibilities that you will consider, and select one of them for the program.

2. Developing a strategy with sub-functions

a) Develop a strategy for completing the task at hand. Write down the required sub-functions.

b) Describe the step enabling conditions for the program functions required in accordance with your
strategy, and make a note of the function blocks and the output required to this end.

Function Abort condition

134 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495
Project 10 – Path tracking of an automated guided vehicle system with the help of a webcam

3. Implement the sequencing program.

a) Implement the individual program functions and combine them into a sequencing program.

© Festo Didactic GmbH & Co. KG 8029495 Name: __________________________________ Date: ____________ 135
Project 10 – Path tracking of an automated guided vehicle system with the help of a webcam

136 Name: __________________________________ Date: ____________ © Festo Didactic GmbH & Co. KG 8029495

You might also like