IEEE Robotics & Automation Magazine - September 2016 - 81
presented in [22], although most similar to ours, is still a
very different type of actuator and does not provide
dynamic performance for joint position tracking but
instead uses a learning algorithm to attain desired positions in a plane. Therefore, we compare our recent
advances against our own past work described in [10]. To
differentiate, we will refer to the older controller as a twostate MPC controller and to the new controller presented in
this article as a four-state torque-based MPC controller.
By including pressures in the actuation chambers as
states, we expected the performance of our soft robot
control to improve when compared with our past work.
We now describe at a high level the formulation of the
new model predictive controller and then present the
results of this comparison.
The Controller Formulation
The model predictive controller solves an optimization by
predicting states over a time horizon that is T steps long while
varying the pressure inputs to produce a trajectory resulting
in the smallest cost subject to constraints. The discretized
matrices Ad and Bd; the current states qo [k], q [k], P0 [k], and
P1 [k]; the previous inputs P0,d [k - 1] and P1,d [k - 1]; the
final goal joint angle qgoal; and the model constraints and
weights are fed into an MPC solver at every time step. The
cost function minimized across the horizon T is
k =0
+ P0 [k] - PT
2
Q
+ qo [k]
2
S
2
R
+ P1 [k] - PT 2S ,
P 0,d , P 1,d
(8)
subject to the system model (7) as a constraint, as well as the
following additional constraints:
q $ q min ,
q # q max ,
Pmin # Pd # Pmax ,
DPd # DPmax ,
The Results for a Single DoF
In our preliminary modeling and control design, we focused
on results for the single-DoF platform or grub. To compare
performance, we commanded a series of 30°
step-angle commands The soft robot platform
ranging from −60° to
6 0 ° , c h a n g i n g t h e is capable of repeatedly
command at time increments of 10 s. The resul- picking up an unknown
tant q of both controllers
and commanded qgoal object from the same
are plotted over time in
Figure 8.
location and placing it
Compared to the
previous two-state con- at a desired location.
troller, utilizing press u re s t ate s i n t h e
four-state torque-based MPC controller significantly
improved overall performance. As described in Table 1,
(9)
(10)
(11)
(12)
where Q, R, and S are manually tuned scalar weights, PT is a
target pressure, qmin and qmax are joint limits, Pmin and Pmax are
bladder pressure limits, DPd is the change in desired pressure
from the previous time step, and DPmax is the maximum change
allowed in the desired pressure per time step. While simplified
pressure dynamics are included in our model, the slew rate
constraint on commanded pressure in (12) serves to prevent
valve chatter.
We generated a solver for the MPC problem using CVXGEN [12], a web-based tool for developing convex optimization solvers. The optimization solver written in C and
subsequent Python code that calls the solver can be run at up
to 300 Hz, predicting a trajectory horizon of T = 20 time steps
(or 0.067 s) into the future. Once solved, the first time step
from the optimized trajectory of desired pressures is made
available over ROS. These desired pressures are received by
the underlying pressure PID controller, and valve position
.
q,q
CMD0, CMD1
Pressure
Controller
MPC
Controller
q goal
Plant
Y
P 0, P 1
.
q,q
Joint-Angle
Estimation
Figure 7. An MPC control diagram for joint control.
Step-Angle Tracking
80
60
40
Angle (°)
T
minimize / q goal - q [k]
commands are then sent to the individual valves. As shown in
Figure 7, the current pressure states are measured and fed
back into the pressure controller, while both the current estimated joint angle states and pressure states are fed into the
MPC controller.
20
0
-20
θ goal
θ Two-State MPC
θ Four-State MPC
-40
-60
-80
10
20
30
40 50 60
Time (s)
70
80
90
Figure 8. The controller comparison results for a single joint.
September 2016
*
IEEE ROBOTICS & AUTOMATION MAGAZINE
*
81
Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - September 2016
IEEE Robotics & Automation Magazine - September 2016 - Cover1
IEEE Robotics & Automation Magazine - September 2016 - Cover2
IEEE Robotics & Automation Magazine - September 2016 - 1
IEEE Robotics & Automation Magazine - September 2016 - 2
IEEE Robotics & Automation Magazine - September 2016 - 3
IEEE Robotics & Automation Magazine - September 2016 - 4
IEEE Robotics & Automation Magazine - September 2016 - 5
IEEE Robotics & Automation Magazine - September 2016 - 6
IEEE Robotics & Automation Magazine - September 2016 - 7
IEEE Robotics & Automation Magazine - September 2016 - 8
IEEE Robotics & Automation Magazine - September 2016 - 9
IEEE Robotics & Automation Magazine - September 2016 - 10
IEEE Robotics & Automation Magazine - September 2016 - 11
IEEE Robotics & Automation Magazine - September 2016 - 12
IEEE Robotics & Automation Magazine - September 2016 - 13
IEEE Robotics & Automation Magazine - September 2016 - 14
IEEE Robotics & Automation Magazine - September 2016 - 15
IEEE Robotics & Automation Magazine - September 2016 - 16
IEEE Robotics & Automation Magazine - September 2016 - 17
IEEE Robotics & Automation Magazine - September 2016 - 18
IEEE Robotics & Automation Magazine - September 2016 - 19
IEEE Robotics & Automation Magazine - September 2016 - 20
IEEE Robotics & Automation Magazine - September 2016 - 21
IEEE Robotics & Automation Magazine - September 2016 - 22
IEEE Robotics & Automation Magazine - September 2016 - 23
IEEE Robotics & Automation Magazine - September 2016 - 24
IEEE Robotics & Automation Magazine - September 2016 - 25
IEEE Robotics & Automation Magazine - September 2016 - 26
IEEE Robotics & Automation Magazine - September 2016 - 27
IEEE Robotics & Automation Magazine - September 2016 - 28
IEEE Robotics & Automation Magazine - September 2016 - 29
IEEE Robotics & Automation Magazine - September 2016 - 30
IEEE Robotics & Automation Magazine - September 2016 - 31
IEEE Robotics & Automation Magazine - September 2016 - 32
IEEE Robotics & Automation Magazine - September 2016 - 33
IEEE Robotics & Automation Magazine - September 2016 - 34
IEEE Robotics & Automation Magazine - September 2016 - 35
IEEE Robotics & Automation Magazine - September 2016 - 36
IEEE Robotics & Automation Magazine - September 2016 - 37
IEEE Robotics & Automation Magazine - September 2016 - 38
IEEE Robotics & Automation Magazine - September 2016 - 39
IEEE Robotics & Automation Magazine - September 2016 - 40
IEEE Robotics & Automation Magazine - September 2016 - 41
IEEE Robotics & Automation Magazine - September 2016 - 42
IEEE Robotics & Automation Magazine - September 2016 - 43
IEEE Robotics & Automation Magazine - September 2016 - 44
IEEE Robotics & Automation Magazine - September 2016 - 45
IEEE Robotics & Automation Magazine - September 2016 - 46
IEEE Robotics & Automation Magazine - September 2016 - 47
IEEE Robotics & Automation Magazine - September 2016 - 48
IEEE Robotics & Automation Magazine - September 2016 - 49
IEEE Robotics & Automation Magazine - September 2016 - 50
IEEE Robotics & Automation Magazine - September 2016 - 51
IEEE Robotics & Automation Magazine - September 2016 - 52
IEEE Robotics & Automation Magazine - September 2016 - 53
IEEE Robotics & Automation Magazine - September 2016 - 54
IEEE Robotics & Automation Magazine - September 2016 - 55
IEEE Robotics & Automation Magazine - September 2016 - 56
IEEE Robotics & Automation Magazine - September 2016 - 57
IEEE Robotics & Automation Magazine - September 2016 - 58
IEEE Robotics & Automation Magazine - September 2016 - 59
IEEE Robotics & Automation Magazine - September 2016 - 60
IEEE Robotics & Automation Magazine - September 2016 - 61
IEEE Robotics & Automation Magazine - September 2016 - 62
IEEE Robotics & Automation Magazine - September 2016 - 63
IEEE Robotics & Automation Magazine - September 2016 - 64
IEEE Robotics & Automation Magazine - September 2016 - 65
IEEE Robotics & Automation Magazine - September 2016 - 66
IEEE Robotics & Automation Magazine - September 2016 - 67
IEEE Robotics & Automation Magazine - September 2016 - 68
IEEE Robotics & Automation Magazine - September 2016 - 69
IEEE Robotics & Automation Magazine - September 2016 - 70
IEEE Robotics & Automation Magazine - September 2016 - 71
IEEE Robotics & Automation Magazine - September 2016 - 72
IEEE Robotics & Automation Magazine - September 2016 - 73
IEEE Robotics & Automation Magazine - September 2016 - 74
IEEE Robotics & Automation Magazine - September 2016 - 75
IEEE Robotics & Automation Magazine - September 2016 - 76
IEEE Robotics & Automation Magazine - September 2016 - 77
IEEE Robotics & Automation Magazine - September 2016 - 78
IEEE Robotics & Automation Magazine - September 2016 - 79
IEEE Robotics & Automation Magazine - September 2016 - 80
IEEE Robotics & Automation Magazine - September 2016 - 81
IEEE Robotics & Automation Magazine - September 2016 - 82
IEEE Robotics & Automation Magazine - September 2016 - 83
IEEE Robotics & Automation Magazine - September 2016 - 84
IEEE Robotics & Automation Magazine - September 2016 - 85
IEEE Robotics & Automation Magazine - September 2016 - 86
IEEE Robotics & Automation Magazine - September 2016 - 87
IEEE Robotics & Automation Magazine - September 2016 - 88
IEEE Robotics & Automation Magazine - September 2016 - 89
IEEE Robotics & Automation Magazine - September 2016 - 90
IEEE Robotics & Automation Magazine - September 2016 - 91
IEEE Robotics & Automation Magazine - September 2016 - 92
IEEE Robotics & Automation Magazine - September 2016 - 93
IEEE Robotics & Automation Magazine - September 2016 - 94
IEEE Robotics & Automation Magazine - September 2016 - 95
IEEE Robotics & Automation Magazine - September 2016 - 96
IEEE Robotics & Automation Magazine - September 2016 - 97
IEEE Robotics & Automation Magazine - September 2016 - 98
IEEE Robotics & Automation Magazine - September 2016 - 99
IEEE Robotics & Automation Magazine - September 2016 - 100
IEEE Robotics & Automation Magazine - September 2016 - 101
IEEE Robotics & Automation Magazine - September 2016 - 102
IEEE Robotics & Automation Magazine - September 2016 - 103
IEEE Robotics & Automation Magazine - September 2016 - 104
IEEE Robotics & Automation Magazine - September 2016 - 105
IEEE Robotics & Automation Magazine - September 2016 - 106
IEEE Robotics & Automation Magazine - September 2016 - 107
IEEE Robotics & Automation Magazine - September 2016 - 108
IEEE Robotics & Automation Magazine - September 2016 - 109
IEEE Robotics & Automation Magazine - September 2016 - 110
IEEE Robotics & Automation Magazine - September 2016 - 111
IEEE Robotics & Automation Magazine - September 2016 - 112
IEEE Robotics & Automation Magazine - September 2016 - 113
IEEE Robotics & Automation Magazine - September 2016 - 114
IEEE Robotics & Automation Magazine - September 2016 - 115
IEEE Robotics & Automation Magazine - September 2016 - 116
IEEE Robotics & Automation Magazine - September 2016 - 117
IEEE Robotics & Automation Magazine - September 2016 - 118
IEEE Robotics & Automation Magazine - September 2016 - 119
IEEE Robotics & Automation Magazine - September 2016 - 120
IEEE Robotics & Automation Magazine - September 2016 - 121
IEEE Robotics & Automation Magazine - September 2016 - 122
IEEE Robotics & Automation Magazine - September 2016 - 123
IEEE Robotics & Automation Magazine - September 2016 - 124
IEEE Robotics & Automation Magazine - September 2016 - 125
IEEE Robotics & Automation Magazine - September 2016 - 126
IEEE Robotics & Automation Magazine - September 2016 - 127
IEEE Robotics & Automation Magazine - September 2016 - 128
IEEE Robotics & Automation Magazine - September 2016 - 129
IEEE Robotics & Automation Magazine - September 2016 - 130
IEEE Robotics & Automation Magazine - September 2016 - 131
IEEE Robotics & Automation Magazine - September 2016 - 132
IEEE Robotics & Automation Magazine - September 2016 - 133
IEEE Robotics & Automation Magazine - September 2016 - 134
IEEE Robotics & Automation Magazine - September 2016 - 135
IEEE Robotics & Automation Magazine - September 2016 - 136
IEEE Robotics & Automation Magazine - September 2016 - Cover3
IEEE Robotics & Automation Magazine - September 2016 - 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