Footstep planning on uneven terrain with mixed-integer convex optimization Please share

advertisement
Footstep planning on uneven terrain with mixed-integer
convex optimization
The MIT Faculty has made this article openly available. Please share
how this access benefits you. Your story matters.
Citation
Deits, Robin, and Russ Tedrake. “Footstep Planning on Uneven
Terrain with Mixed-Integer Convex Optimization.” 2014 IEEERAS International Conference on Humanoid Robots (November
2014).
As Published
http://dx.doi.org/10.1109/HUMANOIDS.2014.7041373
Publisher
Institute of Electrical and Electronics Engineers (IEEE)
Version
Author's final manuscript
Accessed
Wed May 25 10:00:55 EDT 2016
Citable Link
http://hdl.handle.net/1721.1/101076
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
Detailed Terms
http://creativecommons.org/licenses/by-nc-sa/4.0/
Footstep Planning on Uneven Terrain with Mixed-Integer Convex
Optimization
Robin Deits1 and Russ Tedrake2
Abstract— We present a new method for planning footstep
placements for a robot walking on uneven terrain with obstacles, using a mixed-integer quadratically-constrained quadratic
program (MIQCQP). Our approach is unique in that it handles
obstacle avoidance, kinematic reachability, and rotation of
footstep placements, which typically have required non-convex
constraints, in a single mixed-integer optimization that can be
efficiently solved to its global optimum. Reachability is enforced
through a convex inner approximation of the reachable space
for the robot’s feet. Rotation of the footsteps is handled by a
piecewise linear approximation of sine and cosine, designed to
ensure that the approximation never overestimates the robot’s
reachability. Obstacle avoidance is ensured by decomposing the
environment into convex regions of obstacle-free configuration
space and assigning each footstep to one such safe region. We
demonstrate this technique in simple 2D and 3D environments
and with real environments sensed by a humanoid robot. We
also discuss computational performance of the algorithm, which
is currently capable of planning short sequences of a few steps in
under one second or longer sequences of 10-30 footsteps in tens
of seconds to minutes on common laptop computer hardware.
Our implementation is available within the Drake MATLAB
toolbox [1].
I. INTRODUCTION
The purpose of a footstep planner is to find a list of
footstep locations that a walking robot can follow safely to
reach some goal. Footstep planning is a significant simplification of motion planning through contact, one in which the
whole-body kinematics and dynamics are typically coarsely
approximated or ignored in order to produce a tractable
problem. The challenge of footstep planning thus consists
of finding a path through a constrained environment to a
goal while respecting constraints on the locations of and
displacements between footsteps. An example of such a plan
is shown in Fig. 1.
Broadly speaking, there exist two families of approaches to
footstep planning: discrete searches and continuous optimizations. The discrete search approaches have typically involved
a precomputed action set: either represented as a set of
possible displacements from one footstep to the next or a set
of possible footholds in the environment. Chaining actions
together forms a tree of possible footstep plans, which can
be explored using existing discrete search methods like A∗
and RRT. Action set approaches using pre-computed step
This work was supported by the Fannie and John Hertz Foundation, the
MIT Energy Initiative, MIT CSAIL, and the DARPA Robotics Challenge.
1 Robin Deits is with the Computer Science and Artificial
Intelligence Laboratory, MIT, Cambridge, MA 02139, USA
rdeits@csail.mit.edu
2 Russ Tedrake is with the Faculty of Electrical Engineering and Computer
Science, MIT, Cambridge, MA 02139, USA russt@csail.mit.edu
Fig. 1. Two examples of the output of our MIQCQP footstep planner.
Above: An Atlas biped planning footsteps across a set of stepping stones.
Below: With one stepping stone removed, Atlas must take the longer detour
around the stepping stones. The gray rectangles are the boundaries of convex
regions of obstacle-free configuration space generated by IRIS [2] projected
into the xy plane.
displacements have been used by Michel [3], Baudouin [4],
Chestnutt [5], [6], and Kuffner [7], [8]. Similarly, Shkolnik
et al. used a precomputed set of dynamic motions, rather
than foot displacements, and an RRT search to find motions
for a quadruped [9]. The fixed foothold sets have been
used by Bretl for climbing robots [10] and by Neuhaus for
the LittleDog quadruped [11]. These approaches can easily
handle obstacle avoidance by pruning the tree of actions
when a particular action would put a foot in collision with an
obstacle [7], [8], [4], including obstacle avoidance in the cost
function evaluated at each leaf of the tree [5], [3], or adapting
the set of actions when a collision is detected [6]. However,
they have also tended to suffer from the tradeoff between a
small action set, which reduces the branching factor of the
search tree, and a large action set, which covers a larger set
of the true space of foot displacements but is much harder to
search [4]. In addition, applying A∗ or other informed search
methods to our problem is complicated by the difficulty in
defining a good heuristic for partial footstep plans: we cannot
generally know how many additional footsteps a partial
plan will need in order to reach the goal without actually
searching for those steps [5].
The continuous optimization approaches, on the other
hand, operate directly on the poses of the footsteps as continuous decision variables. This avoids the restriction to a small
set of fixed actions and thus allows more possible footstep
plans to be explored, but correctly handling rotation and
obstacle avoidance turns out to be difficult in a continuous
optimization. Both footstep rotation and obstacle avoidance
generally require non-convex constraints to enforce them,
since the set of rotation matrices and the set of points outside
a closed obstacle are non-convex. We typically cannot find
guarantees of completeness or global optimality for such
non-convex problems [12]. We have presented a non-convex
continuous optimization for footstep planning, used by Team
MIT during the DARPA Robotics Challenge 2013 Trials
[13], but this optimization could not guarantee optimality
of its solutions or find paths around obstacles. Alternatively,
footstep rotation and obstacle avoidance can simply be
ignored: Herdt et al. fix the footstep orientations and do
not consider obstacle avoidance. This allows them to form
a single quadratic program (QP) which can choose optimal
footstep placements and control actions for a walking robot
model [14].
We choose to use a mixed-integer convex program (specifically, a mixed-integer quadratically constrained quadratic
program) to provide a more capable continuous footstep
planner. Such a program allows us to perform a continuous
optimization of the footstep placements, while using integer
variables to absorb any non-convex constraints. We handle
orientation of the footstep placements by approximating the
trigonometric sin and cos functions with piecewise linear
functions, using a set of integer variables to choose the
appropriate approximation. We also avoid the non-convex
constraints inherent in avoiding obstacles by instead enumerating a set of convex obstacle-free configuration space
regions and using additional integer variables to assign
footsteps to those regions. The presence of integer constraints
significantly complicates our formulation, but a wide variety
of commercial and free tools for mixed-integer convex programming exist, all of which can provide globally optimal
solutions or proofs of infeasibility, as appropriate [15], [16],
[17], [18]. Thus, we can solve an entire footstep planning
problem to optimality while ensuring obstacle avoidance,
a task that, to our knowledge, has not been accomplished
before.
This is not unlike the work of Richards et al., who
constructed a mixed-integer linear program to plan UAV
trajectories while avoiding obstacles [19]. They represented
each (convex, 2D) obstacle as a set of linear constraints, each
of which generates a pair of half-spaces, one containing the
obstacle and one not. They assigned a binary integer variable
Fig. 2.
Four randomly generated 2D environments demonstrating the
MIQCQP footstep planner. The gray squares are the randomly placed
regions of safe terrain; the black circle is the goal location, with a line
indicating the desired orientation of the robot; and the green and yellow
markers are the locations of the right and left footsteps, respectively, with
arrows showing the orientation of each step. The foot is assumed to be a
point for these examples.
to every pair of half-spaces and required that, for every
obstacle, the vehicle’s location must be in at least one of the
non-obstacle half-spaces. Instead of adding binary variables
for every single face of every obstacle, we precompute
several convex obstacle-free regions, then assign a single
binary variable to each region and require that every footstep
is assigned to one such region, which dramatically reduces
the number of binary variables required. Our ability to
generate these convex obstacle-free regions relies on our
recent development of IRIS, an algorithm for computing
large convex regions of obstacle-free space [2].
II. TECHNICAL APPROACH
Our task is to determine the precise x, y, z and θ (yaw)
positions of N footsteps, subject to the constraints that
1) Each step does not intersect any obstacle
2) Each step is within some convex reachable region
relative to the position of the prior step
To accomplish this, we invert the non-convex problem of
avoiding every obstacle and instead reformulate the problem
as one of assigning each footstep to some pre-computed
convex region of obstacle-free terrain. We then add quadratic
constraints to ensure that each footstep is reachable from the
prior step, using a piecewise linear approximation of sin and
cos to handle step rotation.
The implies operator in (1) can be converted to a linear
constraint using a standard big-M formulation [20] or handled directly by mixed-integer programming solvers such as
IBM ILOG CPLEX [17]. The constraint (2) requires that
every footstep be assigned to exactly one safe terrain region.
B. Ensuring Reachability
We choose to approximate the reachable set of footstep positions as an intersection of circular regions in the xy plane,
with additional linear constraints on footstep displacements
in yaw and z. The reachable set defined by the intersection
of two circular regions is shown in Fig. 3b. Other approaches
have typically used polytope representations of the reachable
set [13], [14], but such an approach results in a non-convex
constraint when rotation is allowed, even under our piecewise
linear approximation of sin and cos.
Setting aside the question of footstep rotation for the
moment, we can describe our reachable region with a set of
convex quadratic constraints. For each footstep j, we require
that
xj
xj−1
cos θj−1 − sin θj−1
−
+
p1 yj
<= d1
yj−1
sin θj−1
cos θj−1
(3)
xj
xj−1
cos θj−1
+
yj −
yj−1
sin θj−1
A. Assigning Steps to Obstacle-Free Regions
Our first task is to decompose the 3D environment into a
set of convex regions in which the foot can safely be placed.
The IRIS algorithm, first presented in [2] and designed for
this particular task, quickly generates obstacle-free convex
regions in the x, y, and θ (yaw) configuration space of the
robot’s feet. Each of these obstacle free terrain regions is
represented as a set of linear constraints defining a polytope
in x, y, θ. Additionally, for each region we fit a plane in x, y,
and z to the local terrain and add additional linear constraints
to force footsteps in that region to lie on the plane. We label
the total number of convex regions as R and for each region
r we identify the associated linear constraints with the matrix
Ar and vector br such that if footstep fj is assigned to region
r, then
Ar fj ≤ br
where
 
xj
 yj 

fj ≡ 
 zj  and r ∈ {1, . . . , R}
θj
To describe the assignment of footsteps to safe regions,
R×N
we construct a matrix of binary variables H ∈ {0, 1}
,
such that if Hr,j = 1 then footstep j is assigned to region r:
R
X
r=1
Hr,j =⇒ Ar fj ≤ br
(1)
Hr,j = 1 ∀j = 1, . . . , N
(2)
− sin θj−1
p2 <= d2
cos θj−1
(4)
where p1 , p2 are the centers of the circles, expressed in the
frame of footstep j − 1 and d1 , d2 are their radii. When
θj−1 is fixed, constraints (3) and (4) are convex quadratic
constraints, but including θ as a decision variable makes
the constraint non-convex. We will handle this problem by
introducing two new variables for every footstep: sj and
cj , which will approximate sin θj and cos θj , respectively.
Constraints (3,4) thus become:
xj
xj−1
cj −sj
(5)
+
p1 yj −
<= d1
yj−1
sj cj
xj
xj−1
c
+ j
yj −
yj−1
sj
−sj
p2 <= d2 .
cj
(6)
Since p1 , p2 , d1 , d2 are fixed, this is still a convex quadratic
constraint.
Our work is not yet complete, however, since we now
must enforce that sj and cj approximate sin and cos without
introducing non-convex trigonometric constraints. We choose
instead to create a simple piecewise linear approximation of
sin and cos and a set of binary variables to determine which
piece of the approximation to use. We construct binary matrix
L×N
S ∈ {0, 1}
, where L is the number of piecewise linear
segments and add constraints of the form
(
φ` ≤ θj ≤ φ`+1
S`,j =⇒
(7)
sj = g` θj + h`
L
X
`=1
S`,j = 1 ∀j = 1, . . . , N
(8)
where g` and h` are the slope and intercept of the linear
approximation of sin θ between φ` and φ`+1 . We likewise
add piecewise linear constraints of the same form for cj .
The particular choice of g` and h` turns out to be quite
important: we must ensure that our approximation never
overestimates the reachable space of foot placements. We
can verify this empirically for the approximation shown in
Fig. 3a by checking that the intersection of constraints (5,6)
is contained within the intersection of constraints (3,4) for
all values of θ. The reachable sets for footsteps at a variety
of orientations are shown in Fig. 3c.
1
sin θ
cos θ
Approx.
0
−1
π
π
2
0
θ
(a) Piecewise linear approximation of sine and cosine
C. Determining the Total Number of Footsteps
In general we cannot expect to know a priori the total
number of footsteps which must be taken to bring the robot
to a goal pose, so we need some method for determining N
efficiently. We could certainly just repeat the optimization
for different values of N, performing a binary search to find
the minimum acceptable number of steps, but for efficiency’s
sake we would prefer to avoid the many runs of the optimizer
that this would require.
We might attempt to determine the number of required
steps by setting N sufficiently large and simply adding a
cost on the squared distance from each footstep to the goal
pose, which will stretch our footstep plan towards the goal. If
the footsteps reach the goal before N steps have been taken,
then we can trim off any additional steps at the end of the
plan. However, this approach allows the footstep planner to
produce strides of the maximum allowable length for every
footstep, even on obstacle-free flat terrain. During experiments leading up to the DARPA Robotics Challenge trials,
we determined that a forward stride of 40 cm was achievable
on the Atlas biped, but that a nominal stride of approximately
20 cm was safer and more stable. We would thus like to
express in our optimization a preference for a particular
nominal stride length while still allowing occasional longer
strides needed to cross gaps or clear obstacles. We can try
to create this result by adding additional quadratic costs on
the relative displacement between footsteps, but this requires
very careful tuning of the weights of the distance-to-goal cost
and the relative step cost for each individual step in order to
ensure that the costs balance precisely at the nominal step
length for each step.
Instead, we choose a much simpler cost function, with a
quadratic cost on the distance from the last footstep to the
goal and identical cost weights on the displacement from
each footstep to the next. To control the number of footsteps
used in the plan, and thus the length of each stride, we add a
single binary variable to each footstep, which we will label
as tj (for ‘trim’). If tj is true, then we require that step j be
fixed to the initial position of that same foot:
(
f1 if j is odd
tj =⇒ fj =
(9)
f2 if j is even.
Note that f1 and f2 are the fixed current positions of the
robot’s two feet.
2π
3π
2
p1
d1
y
left foot
x
right foot
d2
p2
(b) Approximation of the reachable set of locations for the right foot, given the
position of the left foot. The gold arrow shows the position and orientation
of the left foot, viewed from above. The shaded region shows the set of
reachable poses for the right foot in the xy plane, defined as the intersection
of constraints (5,6) at orientation of θj = 0, for which our approximation of
sin and cos is exact. One possible future pose of the right foot is shown for
reference.
y
x
(c) A simple footstep plan with 2D reachable regions shown. The goal is
the black circle in the top right, and each arrow shows the position and
orientation of one footstep. For each step, we draw the shaded region defined
by constraints (5,6) into which the next step must be placed. Note that the
feasible region shrinks when the step orientation is not a multiple of π/2, as
our approximation of sin and cos becomes inexact.
Since each footstep for which tj = 1 is fixed to the
current position of the robot’s feet, the number of footsteps
whichPare actually used to move the robot to the goal is
N
N − j=1 tj . By assigning a negative cost value to each
binary variable tj , we can create an incentive to reduce the
number of footsteps used in the plan. To tune the nominal
stride length, we can simply adjust the cost assigned to the
tj . Increasing the magnitude of this cost will lengthen the
nominal stride uniformly, and decreasing the magnitude will
shorten the stride. Thus, we have a single value to tune in
order to set the desired stride length, while still allowing
strides which exceed this length. After the optimization is
complete, we can remove any footsteps at the beginning of
the plan for which tj is true.
D. Complete Formulation
Putting all of the pieces together gives us the entire
footstep planning problem:
minimize
f1 ,...,fj ,S,C,H,t1 ,...,tj
(fN − g)> Qg (fN − g) +
N
X
qt tj
j=1
+
N
−1
X
(fj+1 − fj )> Qr (fj+1 − fj ))
j=1
subject to, for j = 1, . . . , N
safe terrain regions:
Hr,j =⇒ Ar fj ≤ br
r = 1, . . . , R
piecewise linear sin θ:
(
φ` ≤ θj ≤ φ`+1
S`,j =⇒
sj = g` θj + h`
piecewise linear cos θ:
(
φ` ≤ θj ≤ φ`+1
C`,j =⇒
cj = g` θj + h`
` = 1, . . . , L
` = 1, . . . , L
approximate reachability:
xj
x
cj −sj
j−1
−
+
pi yj
<= di i = 1, 2
yj−1
sj cj
fix extra steps to initial pose:
(
f1 if j is odd
tj =⇒ fj =
f2 if j is even.
R
X
r=1
Hr,j =
L
X
`=1
S`,j =
L
X
C`,j = 1
`=1
Hr,j , S`,j , C`,j , tj ∈ {0, 1}
bounds on step positions and differences:
fmin ≤ fj ≤ fmax
∆fmin ≤ (fj − fj−1 ) ≤ ∆fmax
where g ∈ R4 is the x, y, z, θ goal pose, Qg ∈ S4+ and
Qr ∈ S4+ are objective weights on the distance to the goal
and between steps, qt ∈ R is an objective weight on trimming
unused steps, and fmin , fmax , ∆fmin , ∆fmax ∈ R4 are bounds
on the absolute footstep positions and their differences,
respectively. We also fix f1 and f2 to the initial poses of
the robot’s feet.
E. Solving the Problem
We have implemented this approach in MATLAB [21],
using the commercial solver Gurobi [15] to solve the
MIQCQP itself. Typical problems involving 10 to 20 footsteps and 10 convex safe terrain regions can be solved in a
few seconds to one minute on a Lenovo laptop with an Intel
i7 clocked at 2.9 GHz. Smaller footstep plans involving just
a few steps can be solved in well under one second on the
same hardware, so this method is capable of providing shorthorizon footstep plans at realtime rates while walking or
longer footstep plans involving complex path planning while
stationary. The Mosek and CPLEX optimizers [16], [17]
were also capable of solving the problem, but we generally
found that Gurobi found optimal solutions or proofs of
infeasibility more quickly in our experiments.
III. RESULTS
To demonstrate the MIQCQP footstep planning algorithm,
we first generated a collection of random 2D environments.
Each environment consisted of 10 square regions of safe
terrain, 9 of which were uniformly randomly placed within
the bounds of the environment, and 1 of which was placed
directly under the starting location of the robot to represent
the robot’s currently occupied terrain. A goal pose was
uniformly randomly placed within the xy bounds of the
environment with a desired orientation between ± π2 relative
to the robot’s starting orientation. Several such environments
and the resulting footstep plans are shown in Fig. 2. All
the footstep plans shown in this paper are the result of
convergence to within 0.1% or less of the globally optimal
cost value, as reported by Gurobi.
Next, we manually generated several 3D example environments using Drake, a software toolbox for planning and
control [1]. These environments and the resulting footstep
plans are shown in Figs. 1, 3, 5. The IRIS algorithm [2] was
used to generate convex regions in the configuration space
of a very simple box model of the entire robot, shown in
Fig. 4, in order to avoid collisions between the upper body
and the environment. This approach is sufficient to generate
rich behaviors such as turning sideways to move through a
narrow gap, as in Fig. 5. Currently, we only ensure that each
footstep admits a collision-free posture of the robot, but we
do not account for collisions during the transitions between
those postures; we will discuss possible ways to address this
in Sect. IV.
We have also demonstrated the MIQCQP planner on real
terrain, using sensor data collected by Atlas. To generate this
plan, we captured LIDAR scans of a stack of cinderblocks
like those encountered in the DRC Trials and constructed a
heightmap of the scene using the perception tools developed
by Team MIT for the DRC [13]. A Sobel filter was used
to classify areas of the terrain which were steeper than
a predefined threshold [22], and these steep areas were
represented as obstacles for the footstep planner. We used
Fig. 4. Simplified bounding box model of the robot used to plan footstep
locations that will be collision-free for the entire robot.
Fig. 5. A footstep plan through a narrow gap, for which Atlas must turn
sideways.
Fig. 3. Three similar environments, with footstep plans for each. Top:
Atlas can mount the center pedestal in one stride. Middle: Raising the center
pedestal to twice Atlas’ maximum vertical stride forces the robot to detour
to the right. Bottom: Raising the pedestals even further requires Atlas to use
three platforms to get to the required height. Gray lines are the boundaries
of the convex regions of obstacle-free configuration space, generated by
IRIS.
the IRIS algorithm [2] to generate seven convex safe terrain
regions which covered the terrain of interest in front of the
robot. Several footstep plans to different goal poses using
these regions are shown in Fig. 6.
IV. CONCLUSION AND FUTURE WORK
We have demonstrated a novel footstep planning approach, which replaces nonlinear, non-convex constraints
with mixed-integer convex constraints. This allows us to
solve footstep planning problems to their global optimum,
within our linear approximation of rotation. We have inverted
the problem of avoiding obstacles into a problem of assigning
steps to known convex safe regions, which we can construct
efficiently. The primary advantage of our MIQCQP footstep
planner is its ability to generate rich footstep sequences in
difficult terrain with guarantees of completeness and global
optimality. We do not rely on sampling or fixed action sets,
which may miss small regions of safe terrain entirely. Our
approach also handles terrain of varying height gracefully,
as the same object can be treated as both an obstacle and a
walking surface when appropriate, as in Fig. 3.
On the other hand, we are entirely reliant on the existence
of sufficiently many convex obstacle-free regions to ensure
that a path through the environment can be found. The IRIS
algorithm generates these regions efficiently, but currently
requires user input to seed the position of each region. This
is a mixed blessing: by seeding such a region, the human
operator provides valuable input about the possible walking
surfaces for the robot, but this requirement clearly sacrifices
autonomy of the robot. We are currently investigating ways
to fully automate the generation of safe terrain regions. In
addition, we require that each safe region represent a planar
area of terrain: non-planar terrain regions introduce nonconvex constraints in our formulation and cannot be allowed.
In the future, we intend to improve the speed with which
we can generate footstep plans, since waiting up to a minute
assignments to safe terrain regions, then run an additional
optimization to plan the contact forces on the feet, the center
of mass trajectory, and the complete collision-free motions
of the robot’s limbs. The assignments to convex safe regions
produced by the MIQCQP should be a valuable set of convex
constraints for this later optimization.
Source Code
Our experimental implementation of the MIQCQP footstep planner in MATLAB is available within Drake, located at https://github.com/RobotLocomotion/
drake.
ACKNOWLEDGMENTS
The authors are grateful for the support and advice of
the members of the Robot Locomotion Group at MIT and
Team MIT of the DARPA Robotics Challenge. particularly
Pat Marion, Andres Valenzuela, and Hongkai Dai for their
expertise, ideas, and enthusiasm.
R EFERENCES
Fig. 6. Footstep plans for to navigate over and around a set of cinderblocks,
using data sensed by the Atlas humanoid. Gray shaded areas are the
obstacle-free regions of configuration-space, into which the center of each
footstep must be placed.
before the robot can start moving may be frustrating in a realworld scenario. We may be able to do this by relaxing the
reachability criteria for footsteps which are relatively far in
the future. For example, we might consider the reachability
and orientation of the first 10 footsteps in a plan, but only
ensure that the next 10 or 20 footsteps can be assigned to safe
terrain regions without the distance between them becoming
too large. This will significantly reduce the complexity of
the MIQCQP, at the cost of some likelihood of generating
plans through areas that appear feasible under the simplified
reachability criteria but through which the robot cannot
actually travel.
In addition, we are interested in combining this work
with the research on dynamic walking planning currently
underway in the Robot Locomotion Group at MIT. Our
colleagues intend to use the MIQCQP to produce initial
positions and orientations for the footsteps, along with their
[1] R. Tedrake, “Drake: A planning, control, and analysis toolbox
for nonlinear dynamical systems,” 2014. [Online]. Available:
http://drake.mit.edu
[2] R. L. Deits and R. Tedrake, “Computing large convex regions of
obstacle-free space through semidefinite programming,” in Workshop
on the Algorithmic Foundations of Robotics, 2014. [Online]. Available:
http://groups.csail.mit.edu/robotics-center/public papers/Deits14.pdf
[3] P. Michel, J. Chestnutt, J. Kuffner, and T. Kanade, “Vision-guided
humanoid footstep planning for dynamic environments,” IEEERAS International Conference on Humanoid Robots, pp. 13–18,
2005. [Online]. Available: http://ieeexplore.ieee.org/xpls/abs all.jsp?
arnumber=1573538
[4] L. Baudouin, N. Perrin, T. Moulard, F. Lamiraux, O. Stasse,
and E. Yoshida, “Real-time replanning using 3d environment
for humanoid robot,” in IEEE-RAS International Conference on
Humanoid Robots, Bled, Slovnie, 2011, pp. p.584–589. [Online].
Available: http://hal.archives-ouvertes.fr/hal-00601300
[5] J. E. Chestnutt, J. Kuffner, K. Nishiwaki, and S. Kagami, “Planning
biped navigation strategies in complex environments,” in IEEE-RAS
International Conference on Humanoid Robots, Karlsruhe, Germany,
2003.
[6] J. E. Chestnutt, K. Nishiwaki, J. Kuffner, and S. Kagami,
“An adaptive action model for legged navigation planning.”
in
IEEE-RAS
International
Conference
on
Humanoid
Robots,
2007,
p.
196202.
[Online].
Available:
http:
//www.researchgate.net/publication/224401320 An adaptive action
model for legged navigation planning/file/e0b4951938eaab8795.pdf
[7] J. J. Kuffner, K. Nishiwaki, S. Kagami, M. Inaba, and H. Inoue,
“Footstep planning among obstacles for biped robots,” in IEEE/RSJ
International Conference on Intelligent Robots and Systems (IROS),
vol. 1, Maui, Hawaii, 2001, pp. 500–505.
[8] ——, “Online footstep planning for humanoid robots,” in IEEE
International Conference on Robotics and Automation, vol. 1,
2003, pp. 932–937. [Online]. Available: http://ieeexplore.ieee.org/xpl/
articleDetails.jsp?arnumber=1241712
[9] A. Shkolnik, M. Levashov, I. R. Manchester, and R. Tedrake,
“Bounding on rough terrain with the LittleDog robot,” The
International Journal of Robotics Research, vol. 30, no. 2, pp.
192–215, 2011. [Online]. Available: http://ijr.sagepub.com/cgi/doi/10.
1177/0278364910388315
[10] T. Bretl, S. Lall, J.-C. Latombe, and S. Rock, “Multi-step motion
planning for free-climbing robots,” in Algorithmic Foundations of
Robotics VI, ser. Springer Tracts in Advanced Robotics, M. Erdmann,
M. Overmars, D. Hsu, and F. v. d. Stappen, Eds. Springer Berlin
Heidelberg, Jan. 2005, no. 17, pp. 59–74. [Online]. Available:
http://link.springer.com/chapter/10.1007/10991541 6
[11] P. D. Neuhaus, J. E. Pratt, and M. J. Johnson, “Comprehensive
summary of the institute for human and machine cognitions
experience with LittleDog,” The International Journal of Robotics
Research, vol. 30, no. 2, pp. 216–235, Feb. 2011. [Online]. Available:
http://ijr.sagepub.com/content/30/2/216
[12] S. P. Boyd and L. Vandenberghe, Convex optimization. Cambridge,
UK; New York: Cambridge University Press, 2004.
[13] M. Fallon, S. Kuindersma, S. Karumanchi, M. Antone, T. Schneider,
H. Dai, C. Perez D’Arpino, R. Deits, M. DiCicco, D. Fourie,
T. Koolen, P. Marion, M. Posa, A. Valenzuela, K.-T. Yu, J. Shah,
K. Iagnemma, R. Tedrake, and S. Teller, “An architecture for
online affordance-based perception and whole-body planning,”
Submitted to: Journal of Field Robotics, 2014. [Online]. Available:
http://dspace.mit.edu/handle/1721.1/85690
[14] A. Herdt, H. Diedam, P.-B. Wieber, D. Dimitrov, K. Mombaur, and
M. Diehl, “Online walking motion generation with automatic foot
step placement,” Advanced Robotics, vol. 24, no. 5-6, pp. 719–737,
2010. [Online]. Available: https://groups.csail.mit.edu/robotics-center/
elib/papers/Herdt10.pdf
[15] Gurobi Optimization, Inc., “Gurobi optimizer reference manual,”
2014. [Online]. Available: http://www.gurobi.com/
[16] Mosek ApS, “The MOSEK optimization software,” 2014. [Online].
Available: http://www.mosek.com/
[17] IBM Corp., “User’s manual for CPLEX,” 2010. [Online]. Available: http://pic.dhe.ibm.com/infocenter/cosinfoc/v12r2/topic/com.ibm.
common.doc/doc/banner.htm
[18] “GNU linear programming kit.” [Online]. Available: http://www.gnu.
org/software/glpk/glpk.html
[19] A. Richards, J. Bellingham, M. Tillerson, and J. How, “Coordination
and control of multiple UAVs,” in AIAA Guidance, Navigation, and
Control Conference and Exhibit. Monterey, CA: American Institute
of Aeronautics and Astronautics, Aug. 2002. [Online]. Available:
http://arc.aiaa.org/doi/abs/10.2514/6.2002-4588
[20] J. Lofberg, “Big-m and convex hulls,” 2012. [Online]. Available: http://users.isy.liu.se/johanl/yalmip/pmwiki.php?n=
Tutorials.Big-MAndConvexHulls
[21] MATLAB, version 8.2.0.701 (R2013b). Natick, MA: The MathWorks
Inc., 2013.
[22] P.-E. Danielsson and O. Seger, “Generalized and separable sobel operators,” in Machine vision for three-dimensional scenes, H. Freeman,
Ed. Sand Diego, CA: Academic Press, Inc., 1990.
Download