Beruflich Dokumente
Kultur Dokumente
SUPERVISION BY
Jackson Arcade
DEGREE OF
5J ---r---
rJL.
by
Jackson Arcade
Jackson Arcade
ABSTRACT
Multi-robot systems have several benefits to improve the performance of any robotic
system. Features such as redundancy, increased coverage, throughput, diverse
functionality and flexible re-configurability allow them to perform multiple tasks such as
cutting, pushing, and grasping in a more effective manner than a single robot. The
purpose of this research was to implement force sensing abilities with an existing robotic
testbed and to integrate it with a cluster space controller. Using this system, a sequential
position and force controller was used in order to move an object. The sequencing was
done in a manner where the controller switches from position-based trajectory control of
the cluster, to force-controlled object repositioning, and then to timed velocity control of
the cluster.
Experiments using this sequential controller were run in order to verify the controller.
These experiments resulted in the successful transportation of the object from one
location to another.
iii
Acknowledgements
First and foremost, I would like to thank my advisor, Dr. Christopher Kitts, for his
guidance, motivation, patience and thought inputs during this research. I really appreciate
the encouragement he showed during each and every time I had any query throughout my
graduate studies as well as this research.
I would also like to thank everyone in the SCU Robotics Systems Lab for helping
me out during this research. The experiments were hard sometimes but I would like to
thank my friend and colleague Matthew Chin for helping me out during the tests and
making them easy to deal with. He has worked alongside me on this project and has made
significant contributions. This wouldn't have been possible without his assistance. A
mention needs to go out to the researchers, Anne Mahacek and Jasmine Cashbaugh,
working on quadrotors for sharing the same UWB testbed and helping me with all the
stupid doubts I had. I would also thank Thomas Adamek for helping me answer questions
about the hardware of robots and Michael Neumann for guiding me and being there to
help me from the commencement of this project.
Finally, I would like to thank my family for their support and encouragement
throughout my graduate studies. Without their constant support and advice this would be
difficult to complete. Most importantly, I would like to thank my friends for keeping my
social life active. I also thank them for believing in me, understanding my work and
encouraging me at times.
iv
Table of Contents
Abstract.............................................................................................................................. iii
Acknowledgments.......................................................................................................................... iv
Table of Contents............................................................................................................................. v
List of Figures.................................................................................................................................vii
Chapter 1: Introduction...................................................................................................................1
1.1 Object Manipulation............................................................................................................4
1.2 Object Manipulation Types...................................................................................................5
1.2.1 Object Manipulation without force sensing..................................................................... 5
1.2.2 Object Manipulation with force sensing ......................................................................... 6
1.3 Project Statement............................................................................................................... 8
1.4 Reader's Guide.................................................................................................................... 9
Chapter 2: Cluster Space Control.................................................................................................. 10
2.1 Introduction to Cluster Space Control................................................................................ 10
2.2 Description of a Two Robot Cluster................................................................................... 12
2.3 Force Control...................................................................................................................... 16
2.4 Use of State Machine.......................................................................................................... 16
Chapter 3: Experimental Testbed................................................................................................... 21
3.1 Robots................................................................................................................................. 22
3.2 Navigation-UWB Tracking................................................................................................. 25
3.3 Data Handling and Control................................................................................................. 26
Chapter 4: Experimental Results................................................................................................... 28
4.1 Force Control Characteristics............................................................................................. 28
4.2 Sequential Control.............................................................................................................. 30
4.2.1 Position based Trajectory Control (Engage Mode)......................................................... 32
4.2.2 Force Control (Maneuver Mode)..................................................................................... 34
4.2.3 Velocity Control (Disengage Mode)................................................................................ 35
v
vi
List of Figures
vii
Figure 4.8 Force1 Control, Force2 Control and Object position control....................................... 34
Figure 4.9 Velocity Control for disengage mode........................................................................... 35
Figure 4.10 Change of state and object position control............................................................... 36
Figure 4.11 Maneuver mode in active condition........................................................................... 37
viii
1.0 Introduction
"I just want the future to happen faster. I can't imagine the future without robots."
-Nolan Bushnell
Over the past 50 years, there has been a significant improvement towards automation of
different day to day tasks in the society, be it in industry, space exploration, or in security
and military environments. The development of robots is one of the greatest contributions
in this area. Areas in which robots can be used include medical science, psychology,
agriculture, space, mining and so on. A robot mainly consists of a manipulator, end
effector, actuators, sensors, and a controller. Mobile robots have now become a part of
our daily life. Their knowledge and ability to sense and then act in a complex and
changing environment make them suitable for performing many different tasks.
While most robots perform tasks in an isolated manner, there is a growing interest in the
use of collaborative multi-robot systems to enhance performance in current applications
and to develop new capabilities. The study of multi-robot systems has received increased
attention in recent years. Potential advantages of multi-robot systems include redundancy,
increased coverage and throughput, flexible re-configurability, spatially diverse
functionality, and the fusing of physically distributed sensors and actuators [1]. Other
potential advantages of multi-robot systems over single robots include a possible
reduction in total system cost by utilizing multiple simple and cheap robots as opposed to
a single complex and expensive robot. Furthermore, some tasks and environments are so
complex that they require multi-robot systems to complete their mission requirements. It
will be of great worth to utilize these advantages of multi-robots in our day to day tasks.
The motivation for manipulation and cooperation of tasks was taken from the biological
precedent where aggregations such as ant colonies, bird flocks, fish schools are followed.
The "Two hands are better than one" analogy could be followed here. The collective
strength and manipulation capabilities to move large food-pieces are impossible for a
single ant.
Similar to the tasks performed by the ants such as transporting an object to a location (fig
1-a), mobile robots can be used to perform meaningful tasks in human environments such
as offices, homes or restaurants. The task of transporting an object by mobile robots [12]
is shown in figure 1-b. Researchers are taking interest in the manipulative tasks, such as
cutting, pushing and grasping, all of which could be accomplished by multi-robot
systems.
One such application of a multi-robot system was done at the Interaction Lab at USC [16]
where an auction-based task allocation system called MURDOCH was implemented and
tested. Their team deployed multi-robots to perform in two task domains, loosely coupled
task allocation and box pushing. Various tasks such as object tracking, sentry-duty,
cleanup, and monitor-object were performed under the loosely coupled task allocation
framework. The system was tested in both of the domains. Figure 2 shows the loosely
coupled long term scenario. Though there might be numerous possible advantages of
using a multi-robot system, there are challenges too. A poorly designed multi-robot
system can be less effective than a better designed single robot system.
Figure 1.2 - Overhead snapshot of the long term loosely coupled scenario. Center robot is
performing the cleanup task while the robot to its immediate left is performing the object
tracking task [16]
There may be some interference between the robots which may result in collisions or
occlusions. More robots mean more sensors and hence dealing with more errors. Other
challenges include the inter-robot communication and coordinated control of the robots.
A wide variety of techniques have been explored to coordinate the motions of individual
robots in a multi-robot system. While Khatib [28] used a decentralized control structure
for cooperative tasks with mobile manipulation systems with holonomic bases, others
have developed a framework known as behavior-based control [7] where robots are
controlled through the integration of a set of interacting behaviors in order to achieve
3
desired system-level behavior. Another strategy uses the master-slave approach [10]
where the slave robot controls its position relative to a master robot.
Over the past several years, students in Santa Clara University's Robotics System Lab
have focused on a new formation control approach termed Cluster Space Control. This
strategy conceptualizes the n-robot system as a single entity, a cluster [1], and the desired
motions are specified as cluster attributes, such as position, orientation, and geometry.
The cluster variables are related to the robot specific variables through kinematic
transforms. Tasks such as entrapping/escorting and patrolling around an autonomous
target have demonstrated use of this cluster space approach [17]. Experiments using an
UWB-based multi-robot test-bed have demonstrated the functionality of the proposed
obstacle avoidance approach [22]. Other applications include object tracking [35] and
adaptive navigation [36].
robots using the auction based task allocation facilities provided by the MURDOCH
control software [9].
Significant works have also been performed by researchers using marine robots. For
example, an underwater box-pushing scenario was presented where three autonomous
fish sense, plan and act on their own to move an elongated box. With one robot observing
the box at the goal location and the other two robots pushing the box, the box was moved
gradually towards the goal location [24]. In comparison to the previously described
pusher-watcher approach which was heterogeneous in terms of the sensing capability, the
robotic fish are homogenous. Other researchers have also developed a coordination
method for multiple biometric robotic fish to perform an underwater transport task. A
limit cycle approach to control the posture of the fish and to realize collision avoidance
was applied. In addition, a fuzzy logic method was adopted to control the transport
orientation in the particular underwater environment [25].
Work involving manipulation and transporting an object without any force control has
also been shown in [32]. The cluster space control approach was implemented for a group
of mobile robots to work in a cooperative fashion. Experiments involving four nonholonomic Boe-Bot robots were operated under a vision based tracking system, and a
rectangular object was transport and rotated.
In [27] the control of trajectory and grasp in multi-robots was showed. Tasks requiring
grasping, manipulation, and transporting large objects were the research focus using
mobile robots with manipulators. Using a stiffness controller, robust performance in
carrying an object over a distance of 6m was shown. Also using a force controller,
internal forces and moments on the box to be manipulated were controlled. The stiffness
control law was used to determine the forces and moment applied to the object and to
achieve control with the desired diagonal stiffness matrix. Each robot was controlled
independently in performing the tasks involving picking up a large object by grasping
and transporting it cooperatively in an environment. Presence of orientation errors
resulted in poor performance of the system.
A recent advance in object manipulation was shown by [23] where a strategy that allows
swarms of autonomous tugboats to cooperatively move a large object on water was
demonstrated. A tracking controller and force allocation strategy was presented.
Optimization based force/torque allocation was employed and compared against a
commutation based force/torque allocation strategy. The tugboats used to move the object
had actuators which were unidirectional and experienced saturation. Grasping was
dependent on the point of contact and the push directions.
The Jet Propulsion Laboratory (JPL) has demonstrated their work [26] in the Robotic
Construction project, where transportation of an object was done by using the grasping
ability of multi-robots. The project showed multi-robot construction and assembly
capabilities in simulated terrain. A force-torque feedback for velocity control was
performed to maintain formations required for successful cooperative transport.
CAMPOUT, a behavior-based control architecture, was used, and the experiments
conducted demonstrated tasks such as Acquire Beam, Align at Structure, Place Beam,
and End to End. Limited sensing due to power and mass constraint resulted in noisy data.
This also led to inaccurate results. Force sensing was performed using a 3-axis forcetorque sensor mounted on the base of gripper.
Figure 2.1 Robot pose using conventional versus cluster space representations
10
A conventional "robot space" description of the system's pose is to state the position and
orientation of each robot frame, {1}, {2}, {3}.... {n}, in the global frame. This leads to
the robot space position vector
To represent the system from the cluster perspective, {C} is defined with respect to the
robots. Given this, the cluster pose is defined by the position and orientation of {C}, by a
set of shape variables that capture the geometry of the group, and by the rotation of each
individual robot with respect to {C}. This result in the cluster space pose vector:
11
Similarly, the cluster space velocities are related to robot space velocities through a set of
Jacobian matrix transforms which have been derived by taking the partial derivatives of
the robot space pose variables [30]
With the transforms defined, the cluster-level velocity commands are transformed to
robot commands through the inverse Jacobian transform, and the robot-level velocity
commands are transformed to actuator commands through an inverse Jacobian transform.
Sensed robot positions and velocities are converted to cluster space positions and
velocities through the forward transforms. The sensed cluster space parameters are then
compared to the desired parameters allowing the controller to compute cluster velocity
commands. Figure 2.2 shows the basic cluster space control architecture for a mobile
multirobot system.
. Each
robot has three degrees of freedom: two translations and one rotation. Thus, the system
has a total of six DOF and therefore six variables to specify the position and orientation
of the robots.
12
Figure 2.2 Cluster space control architecture for a mobile multirobot system
For this example, the cluster frame is attached at the midpoint of the cluster with the
unit vector pointed towards robot 1. Cluster size is denoted by d, which is half the
distance between the robots. As we have 6 variables that describe the robots in the
system, we require six parameters to describe the configuration of the cluster from the
cluster space perspective. The cluster space pose is represented by
where
the cluster, and
cluster frame.
13
(X2, Y2)
(X1, Y1)
Figure 2.3 Pose reference frames for the planar two-robot system
The forward position kinematic relationships for the 2 robot cluster are as follows [30]:
(2.1)
(2.2)
(2.3)
(2.4)
(2.5)
14
(2.6)
The inverse position kinematics for the 2 robot cluster are as follows [30]:
(2.7)
(2.8)
(2.9)
(2.10)
(2.11)
(2.12)
where,
15
16
F/2
Desired Force1
Force
Controller 1
Desired Box
Position
Object
Position
Controller
Velocity
Commands
F1
Robot1
Measured Force1
from sensor
1/2
X
OBJECT
F/2
Desired Force2
Force
Controller 2
Velocity
Commands
F2
Robot2
Measured Force2
from sensor
Measured Box
Position
repositioning controller and an open loop velocity controller. Figure 2.5 shows a state
transition diagram depicting the switching of the control states.
Figure 2.6 shows the implementation of the statemachine in Matlab. The detail of a
typical stateflow block in Matlab is shown in figure 2.7. For object manipulation, a
typical control sequence consists of first using a cluster space trajectory controller to
move a two-robot cluster from an arbitrary start position to an end position where the box
is located.
As soon as the box is pushed by the two robots, transition of the state takes place and
force controlled object repositioning is initiated. This state remains active until the box
reaches a desired position after which cluster space velocity control takes place leading to
the backing up of robots.
17
Start
Cluster
Space
Trajectory
Control
F1>20 N and
F2>20
Force
Control
Position Error(Ex)<||0||
Cluster
Space
Velocity
Control
Time,100 secs
END
18
19
20
Receivers
Reference Tag
HUB
Switch/
Network
HUB
Base Station
21
3.1 Robots
In order to conduct the experiments described in this paper, Pioneer P3-ATs from
Mobilerobots, shown in figure 3.2, were operated using an Ultra-Wide band (UWB)
tracking system. The testbed shares a common electronics architecture that includes all
on-board microcontroller and communication components for each robot in the cluster.
The electronics hardware present on the robots consists of a pair of BasicX
microcontroller boards which accept drive commands in order to run the robots. Drive
commands are wirelessly received from the off-board control computer using a Ricochet
modem.
Forces are sensed using a Vernier Force Plate, shown in figure 3.3. These plates have a
range of -200 to +850N (where positive value is a compression force) and are used for
measuring the force that the robots exert on the object being manipulated. The output
signals from the sensors are read by an ATmega328 chip based Arduino UNO
microcontroller which manipulates and filters the data. This data is wirelessly transmitted
using a series 1 802.15.4 protocol 1mW Digi International XBee radio.
22
5 VDC
To Analog Pin
Wireless Transmission
5 VDC
Signals Received
The force sensor requires calibration, and so the relationship between the analog read
counts and generated forces sensed by the force plate is determined experimentally.
23
Figure 3.5 shows the graph between the force measured on the force plate by a force
gauge and the analog read counts.
350.00
330.00
Number of Counts
310.00
290.00
270.00
250.00
Force plate 1
230.00
Force plate 2
210.00
190.00
170.00
150.00
1
9 10 11 12
Force (N)
24
25
26
RFID Tags
Force Data/Xbee
BasicX Stack
RFID Receivers
Xbee
UWB Hub
Computer 1
Computer 2/
Simulink Model
Remote Node
Server
Ricochet
Modem
Computer 3
Computer 4
Switch/ Network
HUB
Computer 3 runs the Simulink-based controller by integrating the force and position data
from the data Turbine and posting drive commands back to a Data Turbine channel.
Computer 4 is connected to the Ricochet Modem and handles the sending of drive
commands to the pioneer robots.
27
a) Velocity=2.2 m/s
28
b) Velocity=1.5 m/s
c) Velocity=0.45 m/s
Figure 4.1 Force plots while applying constant velocities commands to the robots
Figure 4.2 shows the behavior of the force plate of a single robot pushing the cardboard
box in a single dimension where the blue signal is the desired force and the green signal
is the measured force. This behavior demonstrates a closed loop force control.
29
This changes to red line during state2 when the robots push the box until reaching a
desired location. After the robots successfully transport the box, the cluster backs up as
depicted by the cyan line.
Figure 4.4 shows force readings by both the force plates for all the three states over the
course of an experiment. The green line shows the measured forces as compared to blue
which shows the desired forces.
30
31
Figure 4.4 Measured and Desired Forces of force plate1 and force plate2
32
33
35
In Figure 4.10 (a) we see that state1 (the engage mode) is active from time = 0 to 10500
when the robots approach the box. Then state2 (maneuver mode) is active from time =
10501 to 16000 where the robots are pushing the box. Finally state3 (disengage mode) is
36
active after time = 16000 where the robots simply back up after transporting the box to a
desired location. During the engage state, the box remains unmoved and stays at the
initial position until the robots initiate pushing the box. During the maneuver state, the
robots start pushing the box and transport it to the desired location. Finally during the
disengage state, the box stays at the desired location because the robots start to back away
from it.
Figure 4.11 shows the state machine in working condition where state2 or the maneuver
mode is in active condition while the other two states are under inactive condition.
37
38
5.0 Conclusion
The objective of this research project was to implement and demonstrate sequential
position and force controller using land based multi robots to transport an object from one
location to another. This included the development of a single degree of freedom force
controller and a finite state machine switching mechanism between the controllers. These
were integrated in the existing cluster space controller being developed by the researchers
at RSL.
The research has successfully demonstrated sequencing operation through the utilization
of finite state machine which was done by the implementation of 'Engage', 'Maneuver'
and 'Disengage' states in the controller. This resulted in switching of the controllers from
position based trajectory control to one degree of freedom force-controlled repositioning
of object and then velocity controlled backing up the cluster. Using this configuration,
successful creation and integration of the force sensing capabilities with the robotic testbed was implemented and the Force and position manipulation of the Pioneer P3AT land
robots was successfully performed.
another challenge currently being studied by M. Neumann. Other works may include
modifications to the existing cluster definition and extension of the cluster definition to
include more robots and create a more robust system.
Currently the research testbed is implemented using multiple computers. Multiple
computers were used in order to provide modular functionality within the testbed given
that the system interfaces with six UltraWide Band tags, force data from two sensors, and
velocity commands to two robots. In order to make the system simpler for a user, use of
just a single computer could be implemented.
40
References
[1] C. Kitts, I. Mas, "Cluster Space Specification and Control of Mobile Multirobot
System", IEEE/ASME Transactions on Mechatronics, Vol. 14 No. 2, Nov. 2009, P. 207218
[2] M.T. Mason, "Mechanics and Planning of Manipulator Pushing Operations", Int. J. of
Robotics Research, Vol. 5, No. 3, 1986, P. 53-71
[3] G.A.S Pereira, V. Kumar, M.F.M Campos, "Decentralized Algorithms for MultiRobot Manipulation via caging", The International Journal of Robotics Research, 2004,
P. 783-795
[5] M. Kazemi, J.S. Valois, J.A. Bagnell, N. Pollard, "Robust Object Grasping using
Force Compliant Motion Primitives", Proceedings of Robotics: Science and Systems,
July 2012
[6] B.J. Stephens, C.G. Atkenson, "Dynamic Balance Force Control for Compliant
Humanoid Robots, IEEE/RSJ International Conference on Intelligent Robots and
Systems", October 2010, P. 1248-1255
[7] M. J Mataric, "Behavior based control: Examples from navigation, learning and group
behavior," Journal of Experimental & Theoretical Artificial Intelligence, Vol. 9, Issue 23, 1997
[8] S. Takagi, Y. Okawa, "Rule Based Control of Mobile Robot for the Push-a-Box
Operation", IEEE/RSJ International Workshop on Intelligent Robots and Systems, Nov.
1991, P. 1338-1343
[9] B.P. Gerky, M.J Mataric "Pusher-watcher: An approach to fault-tolerant tightlycoupled robot coordination" International Conference on Robotics and Automation, Vol.
1, 2002, P. 464-469
41
[16] B.P. Gerkey, M. J. Mataric, "Sold! Auction Methods for Multirobot Coordination",
IEEE Transactions on Robotics and Automation, Vol. 18, No. 5, October 2002, P. 758768
[17] I. Mas, S. Li, J. Acain and C. Kitts, "Entrapment/Escorting and Patrolling Missions
in Multi-Robot Cluster space control", IEEE/RSJ International Conference on Intelligent
Robots and Systems, October 2009, P. 5855-5861
[18] G. Eoh, J.D. Jeon, J. S. Choi, B. H. Lee, "Multi-robot Cooperative Formation for
Overweight object Transportation", IEEE/SICE International Symposium, 2011, P. 726731
[19] C. R Kube and H. Zhang, "The use of perceptual cues in multi-robot box pushing",
Proc.1996 IEEE International Conference on Robotics and Automation, Vol. 3, 1996, P.
2085-2090
[20] D.E Whitney, "Historical Perspective and State of the Art in Robot Force Control",
International Journal of Robotics Research, Vol. 6, No. 1, 1987, P. 3-14
[21] J. Tan, N. Xi, "Integrated Sensing and Control of Mobile Manipulator", Proceedings
of the 2001 IEEE/RSJ, International Conference on Intelligent Robots and Systems, Vol.
2, 2001, P. 865-870
[22] C. Kitts, K. Stanhouse, P. Chindaphorn, "Cluster space collision avoidance for
mobile two-robot systems", IEEE/RSJ International Conference on Intelligent Robots and
Systems, October 2009, P. 1941-1948
42
[35] S. Dayanidhi, "Target Tracking Using Mobile Robotic Stations", C. Kitts, Adv. M.S.
Thesis, Dept. Mech. Engg., Santa Clara University, Santa Clara, CA, 2013
[36] T. Adamek, C. Kitts, I. Mass, Cluster Space Gradient Based Navigation for Mobile
Multi-robot Systems. Robotic Syst. Lab., Santa Clara Univ., Santa Clara, CA ,
Mechatronics, IEEE/ASME Transactions. 2014, In press
44
45
46
else
y=[x_f+2,y_f,d,thetaC_f,phi1,phi2];
end
end
47
48
49