IEEE Robotics & Automation Magazine - September 2020 - 127
Control
Figure 6 shows the flow of information between the human
interface and the sensing and control hardware of our vine
robot system. This section describes in detail the mapping,
scaling, and closed-loop control performed within the Arduino to convert joystick inputs into the motor voltage and the
four pressures used to control the movement of the robot
body. Growth and steering are controlled independently and
occur simultaneously. Since we do not sense the robot shape,
our controller relies on the human operator to close the loop
via line-of-sight or camera feedback to achieve a desired robot
tip position.
Growth Control
Growth is controlled by balancing the main body pressure
with the motor voltage. The main body pressure is directly set
using the main body pressure potentiometer as
p = c p(r p - r p0), (1)
where p is the desired pressure in the main body, cp is a
constant that converts units of potentiometer readings to
units of pressure, rp is the current potentiometer reading,
and r p0 is the potentiometer reading at the position that
corresponds to zero pressure. A closed-loop pressure regulator runs its own internal control loop to maintain a
desired pressure given an analog voltage input. The Arduino pulsewidth modulation signal is sent through a lowpass filter and buffer to create a true analog voltage input
for the pressure regulators.
The desired motor speed ~d is commanded with the
motor direction switch and motor speed potentiometer as
~d
= d c m (rm - rm0), (2)
where d equals −1 if the motor direction switch is in the growth
direction and 1 if the motor direction switch is in the retraction
direction, c m is a constant that converts units of potentiometer
readings to units of motor speed, rm is the current potentiometer reading, and rm0 is the potentiometer reading at the position
that corresponds to zero motor speed. The desired motor speed
is maintained using a proportional-integral control loop based
on readings from the encoder attached to the motor, and the
motor voltage control signal u is calculated as
maintain tension in the robot body and/or string coming off
the spool. If the motor spins faster in the growth direction
than the robot is growing, the robot material or string will
become slack, and the human operator will be unable to slow
the growth. For this reason, we use a backdrivable motor to
restrain the robot's growth. In our teleoperation controller, if
the calculated motor voltage control signal would
cause rotation and/or
Using a zipper mechanism,
torque of the motor in
the growth direction, the
the pocket lengthens as the
motor voltage is instead
set to just cancel the
soft robot body grows.
Coulomb friction in the
gearing of the motor.
This allows the motor to
be easily backdriven by the string or robot body and to
unspool material when needed while never unspooling
material too quickly. The maximum growth pressure used
was 14 kPa for the competition robot and 21 kPa for the
archeology robot, and the maximum observed growth speed
for both systems was approximately 10 cm/s.
Steering Control
Steering control is achieved using the measured orientation of
the IMU at the tip of the joystick to determine the desired
position of the soft robot body tip within a shell defined by the
two DoF of movement not governed by growth [11]. Movement of the robot tip to this position is then enacted in an
open-loop fashion by setting the desired pressures of the three
closed-loop pressure regulators that supply air to the three
series-pouch-motor actuators.
First, the IMU-measured joystick tip orientation, q, represented in quaternion form, is used to calculate the curvature
amount l and the direction of curvature (i.e., bending plane
angle) z of the joystick. Based on the constant curvature
Zipper Pocket
Zipper Head
u = k p(~ d - ~) + k i # (~ d - ~), (3)
where k p is the proportional control constant, k i is the integral control constant, and ~ is the actual motor speed as measured by the encoder.
Because only pressure can cause the robot to grow and only
motor voltage can cause the robot to retract, a delicate balance must be maintained between pressure and motor voltage to ensure that growth is under control. For smooth
growth to occur, the main body pressure must be higher than
the pressure needed to grow [17], [19], and the motor must
Rigid Cap
Camera Wires
Camera and Lights
Figure 7. The camera mount system. The camera and lights are
contained in a clear, rigid cap that is pushed along as the vine
robot is extended. The camera wires are stored at the robot base
and slide through a zipper pocket that extends with the robot.
SEPTEMBER 2020
*
IEEE ROBOTICS & AUTOMATION MAGAZINE
*
127
IEEE Robotics & Automation Magazine - September 2020
Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - September 2020
IEEE Robotics & Automation Magazine - September 2020 - Cover1
IEEE Robotics & Automation Magazine - September 2020 - Cover2
IEEE Robotics & Automation Magazine - September 2020 - 1
IEEE Robotics & Automation Magazine - September 2020 - 2
IEEE Robotics & Automation Magazine - September 2020 - 3
IEEE Robotics & Automation Magazine - September 2020 - 4
IEEE Robotics & Automation Magazine - September 2020 - 5
IEEE Robotics & Automation Magazine - September 2020 - 6
IEEE Robotics & Automation Magazine - September 2020 - 7
IEEE Robotics & Automation Magazine - September 2020 - 8
IEEE Robotics & Automation Magazine - September 2020 - 9
IEEE Robotics & Automation Magazine - September 2020 - 10
IEEE Robotics & Automation Magazine - September 2020 - 11
IEEE Robotics & Automation Magazine - September 2020 - 12
IEEE Robotics & Automation Magazine - September 2020 - 13
IEEE Robotics & Automation Magazine - September 2020 - 14
IEEE Robotics & Automation Magazine - September 2020 - 15
IEEE Robotics & Automation Magazine - September 2020 - 16
IEEE Robotics & Automation Magazine - September 2020 - 17
IEEE Robotics & Automation Magazine - September 2020 - 18
IEEE Robotics & Automation Magazine - September 2020 - 19
IEEE Robotics & Automation Magazine - September 2020 - 20
IEEE Robotics & Automation Magazine - September 2020 - 21
IEEE Robotics & Automation Magazine - September 2020 - 22
IEEE Robotics & Automation Magazine - September 2020 - 23
IEEE Robotics & Automation Magazine - September 2020 - 24
IEEE Robotics & Automation Magazine - September 2020 - 25
IEEE Robotics & Automation Magazine - September 2020 - 26
IEEE Robotics & Automation Magazine - September 2020 - 27
IEEE Robotics & Automation Magazine - September 2020 - 28
IEEE Robotics & Automation Magazine - September 2020 - 29
IEEE Robotics & Automation Magazine - September 2020 - 30
IEEE Robotics & Automation Magazine - September 2020 - 31
IEEE Robotics & Automation Magazine - September 2020 - 32
IEEE Robotics & Automation Magazine - September 2020 - 33
IEEE Robotics & Automation Magazine - September 2020 - 34
IEEE Robotics & Automation Magazine - September 2020 - 35
IEEE Robotics & Automation Magazine - September 2020 - 36
IEEE Robotics & Automation Magazine - September 2020 - 37
IEEE Robotics & Automation Magazine - September 2020 - 38
IEEE Robotics & Automation Magazine - September 2020 - 39
IEEE Robotics & Automation Magazine - September 2020 - 40
IEEE Robotics & Automation Magazine - September 2020 - 41
IEEE Robotics & Automation Magazine - September 2020 - 42
IEEE Robotics & Automation Magazine - September 2020 - 43
IEEE Robotics & Automation Magazine - September 2020 - 44
IEEE Robotics & Automation Magazine - September 2020 - 45
IEEE Robotics & Automation Magazine - September 2020 - 46
IEEE Robotics & Automation Magazine - September 2020 - 47
IEEE Robotics & Automation Magazine - September 2020 - 48
IEEE Robotics & Automation Magazine - September 2020 - 49
IEEE Robotics & Automation Magazine - September 2020 - 50
IEEE Robotics & Automation Magazine - September 2020 - 51
IEEE Robotics & Automation Magazine - September 2020 - 52
IEEE Robotics & Automation Magazine - September 2020 - 53
IEEE Robotics & Automation Magazine - September 2020 - 54
IEEE Robotics & Automation Magazine - September 2020 - 55
IEEE Robotics & Automation Magazine - September 2020 - 56
IEEE Robotics & Automation Magazine - September 2020 - 57
IEEE Robotics & Automation Magazine - September 2020 - 58
IEEE Robotics & Automation Magazine - September 2020 - 59
IEEE Robotics & Automation Magazine - September 2020 - 60
IEEE Robotics & Automation Magazine - September 2020 - 61
IEEE Robotics & Automation Magazine - September 2020 - 62
IEEE Robotics & Automation Magazine - September 2020 - 63
IEEE Robotics & Automation Magazine - September 2020 - 64
IEEE Robotics & Automation Magazine - September 2020 - 65
IEEE Robotics & Automation Magazine - September 2020 - 66
IEEE Robotics & Automation Magazine - September 2020 - 67
IEEE Robotics & Automation Magazine - September 2020 - 68
IEEE Robotics & Automation Magazine - September 2020 - 69
IEEE Robotics & Automation Magazine - September 2020 - 70
IEEE Robotics & Automation Magazine - September 2020 - 71
IEEE Robotics & Automation Magazine - September 2020 - 72
IEEE Robotics & Automation Magazine - September 2020 - 73
IEEE Robotics & Automation Magazine - September 2020 - 74
IEEE Robotics & Automation Magazine - September 2020 - 75
IEEE Robotics & Automation Magazine - September 2020 - 76
IEEE Robotics & Automation Magazine - September 2020 - 77
IEEE Robotics & Automation Magazine - September 2020 - 78
IEEE Robotics & Automation Magazine - September 2020 - 79
IEEE Robotics & Automation Magazine - September 2020 - 80
IEEE Robotics & Automation Magazine - September 2020 - 81
IEEE Robotics & Automation Magazine - September 2020 - 82
IEEE Robotics & Automation Magazine - September 2020 - 83
IEEE Robotics & Automation Magazine - September 2020 - 84
IEEE Robotics & Automation Magazine - September 2020 - 85
IEEE Robotics & Automation Magazine - September 2020 - 86
IEEE Robotics & Automation Magazine - September 2020 - 87
IEEE Robotics & Automation Magazine - September 2020 - 88
IEEE Robotics & Automation Magazine - September 2020 - 89
IEEE Robotics & Automation Magazine - September 2020 - 90
IEEE Robotics & Automation Magazine - September 2020 - 91
IEEE Robotics & Automation Magazine - September 2020 - 92
IEEE Robotics & Automation Magazine - September 2020 - 93
IEEE Robotics & Automation Magazine - September 2020 - 94
IEEE Robotics & Automation Magazine - September 2020 - 95
IEEE Robotics & Automation Magazine - September 2020 - 96
IEEE Robotics & Automation Magazine - September 2020 - 97
IEEE Robotics & Automation Magazine - September 2020 - 98
IEEE Robotics & Automation Magazine - September 2020 - 99
IEEE Robotics & Automation Magazine - September 2020 - 100
IEEE Robotics & Automation Magazine - September 2020 - 101
IEEE Robotics & Automation Magazine - September 2020 - 102
IEEE Robotics & Automation Magazine - September 2020 - 103
IEEE Robotics & Automation Magazine - September 2020 - 104
IEEE Robotics & Automation Magazine - September 2020 - 105
IEEE Robotics & Automation Magazine - September 2020 - 106
IEEE Robotics & Automation Magazine - September 2020 - 107
IEEE Robotics & Automation Magazine - September 2020 - 108
IEEE Robotics & Automation Magazine - September 2020 - 109
IEEE Robotics & Automation Magazine - September 2020 - 110
IEEE Robotics & Automation Magazine - September 2020 - 111
IEEE Robotics & Automation Magazine - September 2020 - 112
IEEE Robotics & Automation Magazine - September 2020 - 113
IEEE Robotics & Automation Magazine - September 2020 - 114
IEEE Robotics & Automation Magazine - September 2020 - 115
IEEE Robotics & Automation Magazine - September 2020 - 116
IEEE Robotics & Automation Magazine - September 2020 - 117
IEEE Robotics & Automation Magazine - September 2020 - 118
IEEE Robotics & Automation Magazine - September 2020 - 119
IEEE Robotics & Automation Magazine - September 2020 - 120
IEEE Robotics & Automation Magazine - September 2020 - 121
IEEE Robotics & Automation Magazine - September 2020 - 122
IEEE Robotics & Automation Magazine - September 2020 - 123
IEEE Robotics & Automation Magazine - September 2020 - 124
IEEE Robotics & Automation Magazine - September 2020 - 125
IEEE Robotics & Automation Magazine - September 2020 - 126
IEEE Robotics & Automation Magazine - September 2020 - 127
IEEE Robotics & Automation Magazine - September 2020 - 128
IEEE Robotics & Automation Magazine - September 2020 - 129
IEEE Robotics & Automation Magazine - September 2020 - 130
IEEE Robotics & Automation Magazine - September 2020 - 131
IEEE Robotics & Automation Magazine - September 2020 - 132
IEEE Robotics & Automation Magazine - September 2020 - 133
IEEE Robotics & Automation Magazine - September 2020 - 134
IEEE Robotics & Automation Magazine - September 2020 - 135
IEEE Robotics & Automation Magazine - September 2020 - 136
IEEE Robotics & Automation Magazine - September 2020 - 137
IEEE Robotics & Automation Magazine - September 2020 - 138
IEEE Robotics & Automation Magazine - September 2020 - 139
IEEE Robotics & Automation Magazine - September 2020 - 140
IEEE Robotics & Automation Magazine - September 2020 - 141
IEEE Robotics & Automation Magazine - September 2020 - 142
IEEE Robotics & Automation Magazine - September 2020 - 143
IEEE Robotics & Automation Magazine - September 2020 - 144
IEEE Robotics & Automation Magazine - September 2020 - 145
IEEE Robotics & Automation Magazine - September 2020 - 146
IEEE Robotics & Automation Magazine - September 2020 - 147
IEEE Robotics & Automation Magazine - September 2020 - 148
IEEE Robotics & Automation Magazine - September 2020 - 149
IEEE Robotics & Automation Magazine - September 2020 - 150
IEEE Robotics & Automation Magazine - September 2020 - 151
IEEE Robotics & Automation Magazine - September 2020 - 152
IEEE Robotics & Automation Magazine - September 2020 - 153
IEEE Robotics & Automation Magazine - September 2020 - 154
IEEE Robotics & Automation Magazine - September 2020 - 155
IEEE Robotics & Automation Magazine - September 2020 - 156
IEEE Robotics & Automation Magazine - September 2020 - Cover3
IEEE Robotics & Automation Magazine - September 2020 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2010
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2010
https://www.nxtbookmedia.com