Conference PaperPDF Available

Control of spherical mobile robots under environmental disturbances

Authors:

Abstract and Figures

Many control algorithms discussed in the scientific community are developed in simulated environments. They are often not tested in practice. In an educational project different control algorithms have been designed for spherical robots in a real world environment. This paper discusses these algorithms and assesses their performance under disturbances like external forces. Our system consists of a spherical robot, which is tracked by a camera and controlled by a computer via Bluetooth communication. Due to complex dynamics of spherical robots, it is not possible to generate a simple robot model, which represents the robot-specific behaviour. Additionally camera hardware and computer vision algorithms cause a huge dead time in the control loop. This is a big challenge for the control algorithm and impacts the dynamics of the controlled system. This work shows two different control algorithms for the robot that track a time-varying position. We demonstrate and compare their performances with experiments under three different disturbances. This video shows the performance of the implemented control system in our lab: https://youtu.be/vnsV5sIIfzY
Content may be subject to copyright.
Control of spherical mobile robots under
environmental disturbances
Jan Weber
jan.weber@hs-bochum.de
Christof Kaufmann
christof.kaufmann@hs-bochum.de
Marco Schmidt
marco.schmidt@hs-bochum.de
November 2018
1 Introduction
Many control algorithms discussed in the scientific community are developed in
simulated environments. They are often not tested in practice. In an educational
project different control algorithms have been designed for spherical robots in
a real world environment. This paper discusses these algorithms and assesses
their performance under disturbances like external forces.
Our system consists of a spherical robot, which is tracked by a camera and
controlled by a computer via Bluetooth communication. Due to complex dy-
namics of spherical robots, it is not possible to generate a simple robot model,
which represents the robot-specific behaviour. Additionally camera hardware
and computer vision algorithms cause a huge dead time in the control loop.
This is a big challenge for the control algorithm and impacts the dynamics of
the controlled system.
This work shows two different control algorithms for the robot that track a
time-varying position. We demonstrate and compare their performances with
experiments under three different disturbances.
2 Robot hardware and environment
The complete system contains a spherical robot, a defined test field on the lab
floor, a camera, a computer and Bluetooth communication.
The robot is a robotic toy Sphero 2.0 by Orbotix. The spherical robot
consists of a small differential drive robot with two wheels, which is driving in
a spherical shell as shown in Figure 1. The diameter of the robot is 74mm. The
center of gravity of the robot is below the center of the sphere. As the vehicle
moves forward, the center of gravity shifts and the ball begins to roll. Due to
1
Figure 1: Internal hardware view of spherical robot
the position of the centre of gravity, the robot is an oscillating system, like a
pendulum.
The camera is an IP camera Axis 214 PTZ with a video quality of 704×576
pixels with 30 frames per second. The camera provides the top view of the
3 m ×2.25 m sized test field. It is accessed via OpenCV [1] on the computer.
A student-written computer vision algorithm tracks and filters the position of
the robot and calculates the velocity. The inter-process communication is done
with the Robot Operation System (ROS Indigo) [4]. The control algorithm is
computing the control value for the robot to follow the user given, time-varying
reference position. The control value is transmitted to the robot via Bluetooth
communication.
3 Robot Model
The robot can not be described by a simple model. It would not represent
the specific behaviour that a Sphero robot shows. Effects like unpredictable
oscillations, varying friction and dead time complicate the modelling. Due to
the unusual design of the robot, turns during movement leads to unexpected
behaviour as shown in Figure 7 (right). So there is no analytical model of the
robot to develop a controller. This is a huge difference to common lab exercises
in control theory. Although a model will not be determined, we like to convey a
qualitative understanding of the robot’s behaviour with help of open-loop step
responses of the robot.
We define a blackbox system Psys to model the robot’s velocity and position.
It contains the real robot system Prob and the filtered camera system Pcam as
shown in Figure 2. The output of Psys is the directly measured position pos
(in mm) and the calculated velocity vel (in mm
s).
2
Figure 2: Psys composed of robot and
camera
Figure 3: Velocity step responses of
Psys
The input is an actuation vector umot = (ux, uy)[1,...,1]2, which
defines the x and y components of the robot’s intended movement. So umot
affects the speed and orientation of the movement.
Figure 3 shows the step responses of Psys for different step heights. The
steps were generated at t= 0s. Step heights over 50% cause visible slip of the
robot’s shell on the floor of our lab. This slip effect depends on the sticking
friction between the robot shell and floor and varies with the exact position.
Hence we show only step responses with step heights from 5% to 50%.
The measured values were examined with regard to dead time, time delay
and proportional gain. A total dead time of dttotal 330ms between the step
time and the first visible reaction of the filtered output is measured. As stated
in [5] the camera, computer vision algorithms, filtering and Bluetooth commu-
nication cause a dead time of dtcv 180ms. So the robot’s drive-chain causes
a dead-time of dtdrive =dttotal dtcv 150ms.
Additionally to the total dead time, a huge time delay is visible in the
step responses. The time delay of Psys is not constant and depends on the
model input. So Psys is nonlinear. However, the static velocity of the robot is
proportional to the input ||umot ||. The gain can be determined as 2282 from
the measurement in Figure 3 or a similar one.
4 Controller Design
In this section two controller designs are discussed. The task was to track a
position. ”In tracking, the goal is to force the robot to track a time parametrized
reference position.” [2]. The position is generated by an online path planner,
which might react to a changing environment or user inputs. For example a
moving obstacle can force the online path planner to change the orientation of
3
Figure 4: Adaptive PID control with feedforward control
the movement. This can lead to a sudden changes of the movement direction
and speed. Therefore we develop a control system which tracks a time varying
position without knowledge about the movement in future.
4.1 Adaptive PID control with feedforward control
A simple approach to control the position of the robot is to use a controller
with one control loop as shown in Figure 4. Cpos contains two PID-Controllers
which control the position on x- and y-axis. As described in [3, Chapter 9-9] it
is ”possible to improve the rise time and the settling time” of a simple feedback
controller by adding a feedforward controller. The feedforward controller adds
the reference velocity amplified by kffwd to the actuation value. Figure 5 (left)
shows the controller’s follow-up behaviour for time varying reference positions.
With the feedforward controller (signal PIDv) the settling time is shorter than
without feedforward controller (signal PID). This leads to a shorter time delay
between the reference and measured positions. Note, the measured positions
contain the time delay dtcv. The actual position is delayed less.
In practice it is not possible to find parameters for the controller which give
good results for large and small control errors. If the robot is close to the
reference position, a parameter set Agives good results for pose tracking. If the
robot is far away from the reference position, another parameter set Bresults
in a good approaching behaviour without overshoot. A simple solution for this
problem is to adjust the PID-parameters depending on the control error. For
errors less than 150mm Cadapt outputs parameter set Aand for greater errors
it switches to parameter set B. As shown in Figure 5 (left) adding adaptive PID
adjustment (PIDvvs. PIDadapt,v) does not change the behaviour much, because
the error is less than 150mm all the time.
4.2 Cascade control with feedforward control
In Cascade control an inner control loop controls the velocity and an outer
control loop controls the position by setting the target velocity for the inner
control loop. It is suitable for our application, because ”Cascade control can be
4
Figure 5: Follow-up behaviour of PID-controller (left) and cascade controller
(right), x: solid, y: dashed
Figure 6: Cascade control with feedforward controls
used when there are several measurement signals and one control variable. It is
particularly useful when there are significant dynamics, e.g., long dead times or
long time constants, between the control variable and the process variable” [6,
p. 274].
Figure 6 shows the cascade control loop. The outer controller Cpos controls
the two-dimensional position of the robot. The outputs of Cpos are the x and
y components of a target velocity containing information about the speed and
the direction.
As shown in Figure 5 (right) adding parallel feedforward controller gain
kffwd,p (signal Cascadepvs. Cascade) reduces the time delay from approximately
650ms to 250ms. That is less than the total dead time dttotal 330ms, so that
an overshoot is unavoidable.
The inner controller Cvel is one-dimensional, which controls the absolute
velocity. The output of the controller scales the normalized target velocity
which is given by the position controller. As shown in Figure 5 (right) adding
5
Figure 7: xy-plots of continuous path (left) and step rectangle (right).
parallel feedforward gain kffwd,v does not change the behaviour of the controller
(compare signals Cascadep, v and Cascadep).
5 Experiments and Results
To assess the quality of the controllers we consider its performance with two test
paths. Both are driven counter-clockwise. The first one is shown in Figure 7
(left). It is a sampled continuous path. This means it consists of dense points at
a specified sample rate. The distance of two points and the sample rate yield a
defined speed of 0.3m
s. Although the test path is defined completely beforehand,
the controller does not know anything but the next point. The upper part is a
half circle with a diameter of 1m. The lower part is a half square with a length
of 1m. These two parts should show the behaviour in curves as well as in hard
90turns.
The other test path shows the behaviour when not driving a path with
controlled speed, but instead directly to a distant point. In our application this
is not the normal driving mode, but by disturbances the robot can get far away
from its current reference position. The path is shown in Figure 7 (right). It
is a non-square rectangle to test two different length. This shows also the step
response of the controlled system and describes its properties.
Now the figures 7 show not only the reference paths, but also the driven
paths for selected controller configurations. While some of the behaviour can
be observed easily in these xy-plots, the properties in time domain cannot be
assessed. Therefore Figure 8 shows both test paths in time domain. To assess
the control algorithms we need both ways of plotting.
At first glance the PID controller seems to be good because of the minimal
overshoot in Figure 7 (left). But this is only possible with an unacceptable long
time delay of approximately 800ms as shown in Figure 8. The adaptive PID
6
Figure 8: yt-plots of continuous path (left) and step rectangle (right).
controller with feedforward control PIDadapt,v reaches a time delay of 230ms to
470ms at the cost of increased overshoots at the corners of the path.
A good compromise is the cascade controller with feedforward control Cascadep
which combines a time delay of 350ms to 530ms with a small overshoot at cor-
ners.
In practice robots have to handle unexpected events. For example a per-
son or other robots can influence the movement of the robot. Also, there can
be obstacles on the floor, like an edge, that deflect the robot from its path.
Depending on the ambient light the computer vision algorithms can measure
wrong positions temporarily. We try to simulate these situations and test the
different reactions of the controllers. For that we define three different types of
disturbances to test their behaviour in a disturbed environment. Disturbance
Ais an edge on the floor which deflects the robot 40mm from its path. Distur-
bance Bis an compressed air jet which applies an external force to the robot.
Disturbance Cis a failure of the position measurement. To simulate this, the
measured position is frozen for a movement distance of 100mm.
Figure 9 shows the controller reacting to the three disturbances in very
distinct ways. The evaluation of the controllers takes into account how quickly
the robot is able to follow the path again. Because of the long time delay the
PID controller can handle disturbances Band Cin a good way but disturbance
Acauses the robot to move far away from the path. PIDadapt,v also handles
disturbances Band Cin a good way but disturbance Acauses the robot to
oscillate. Cascadephandles disturbance Ain the best way and disturbance B
in a similar way like the other controllers. But disturbance Ccauses the robot
to drive far away from the path.
7
Figure 9: xy-plot of continuous test path with disturbances.
6 Conclusion
In this project different control algorithms have been applied and analyzed suc-
cessfully in a real-world environment. Additionally they have been tested under
different kinds of disturbances. This allows the assessment of two different well-
suited control algorithms: PIDadapt,v and Cascadep. Because the controllers
react very differently to the distinct test disturbances, it depends on the appli-
cation which controller is best suited.
For our application we choose Cascadep, because in practice we do not en-
counter large camera faults as in disturbance C. So we can benefit from its good
path following behaviour.
Future research in the educational robot project is focused on swarm be-
haviour and coordination strategies.
References
[1] G. Bradski. The OpenCV Library. Dr. Dobb’s Journal of Software Tools,
2000.
[2] Ricarfo Carona, A. Pedro Aguiar, and Jose Gaspar. Control of unicycle type
robots. In IV Jornadas de Engenharia Electronica e Telecomunicacoes e de
Computadores, 2008.
[3] Farid Golnaraghi and Benjamin C. Kuo. Automatic Control Systems. 2009.
8
[4] Morgan Quigley, Brian Gerkey, Ken Conley, Josh Faust, Tully Foote, Jeremy
Leibs, Eric Berger, Rob Wheeler, and Andrew Ng. ROS: an open-source
Robot Operating System. In ICRA Workshop on Open Source Software,
2009.
[5] Jan Weber, Christof Kaufmann, Christof Hache, and Marco Schmidt. Solv-
ing the box-pushing problem using a spherical robot. In 16th International
Conference on Research and Education in Mechatronics, 2015.
[6] Karl Johan ˚
Astr¨om and Tore agglund. PID Controllers: Theory, Design,
and Tuning. 1995.
9
... It was shown for example in [8], how objects can be moved using this spherical robot. Preliminary work for this joint research project can be found in [9] and [10]. ...
Conference Paper
Abstract— This paper gives an overview of ROS, an open- source robot operating,system. ROS is not an operating,system in the traditional sense of process management,and scheduling; rather, it provides a structured communications layer above the host operating,systems,of a heterogenous,compute,cluster. In this paper, we discuss how ROS relates to existing robot software frameworks, and briefly overview some of the available application software,which,uses ROS.
The OpenCV Library. Dr. Dobb's Journal of Software Tools
  • G Bradski
G. Bradski. The OpenCV Library. Dr. Dobb's Journal of Software Tools, 2000.
Control of unicycle type robots
  • A Pedro Ricarfo Carona
  • Jose Aguiar
  • Gaspar
Ricarfo Carona, A. Pedro Aguiar, and Jose Gaspar. Control of unicycle type robots. In IV Jornadas de Engenharia Electronica e Telecomunicacoes e de Computadores, 2008.