This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Transition Motion Planning for Multi-Limbed Vertical Climbing Robots Using Complementarity Constraints

Jingwen Zhang1, Xuan Lin1, and Dennis W Hong1 1Robotics and Mechanisms Laboratory (RoMeLa), Department of Mechanical and Aerospace Engineering, University of California Los Angeles, CA 90095. [email protected], [email protected], [email protected]
Abstract

In order to achieve autonomous vertical wall climbing, the transition phase from the ground to the wall requires extra consideration inevitably. This paper focuses on the contact sequence planner to transition between flat terrain and vertical surfaces for multi-limbed climbing robots. To overcome the transition phase, it requires planning both multi-contact and contact wrenches simultaneously which makes it difficult. Instead of using a predetermined contact sequence, we consider various motions on different environment setups via modeling contact constraints and limb switchability as complementarity conditions. Two safety factors for toe sliding and motor over-torque are the main tuning parameters for different contact sequences. By solving as a nonlinear program (NLP), we can generate several feasible sequences of foot placements and contact forces to avoid failure cases. We verified feasibility with demonstrations on the hardware SiLVIA, a six-legged robot capable of vertically climbing between two walls by bracing itself in-between using only friction.

I INTRODUCTION

With many degrees of freedom, legged robots present an intriguing capacity for versatile motions in complex environments, such as disaster sites for search and rescue missions, and construction sites for maintenance. ZMP-based methods [1] [2] provide a good starting point by assuming that the robot’s contacts are co-planar. However, those scenes mentioned obviously involve uneven terrains and interactions with objects that require non-coplanar contacts. Many different locomotion strategies [3] [4] [5] [6] are developed to handle uneven terrains and even obstacles with moderate height. However climbing is inevitable when faced tall obstacles, such as natural tunnels and man-made pipelines.

Refer to caption
Figure 1: Proposed transition motion planner (red) is able to generate various motions in order to overcome the transition phase between grounds and walls.

Many climbing robots [7] [8] [9] start by using gecko-type grippers or micro-spine grippers inspired by animals. Those designs make the system complex and task-specific. Planning climbing motions generally remains a challenging task for legged locomotion since it involves planning both multi-contact and contact wrenches simultaneously, especially when climbing more cluttered environments. The classical graph search method is used by [10] in order to plan the motion on one single wall. Our previous work [11] presents another approach which is based on optimization methods but the pre-determined contact sequence is required. Both methods assume that the initial condition of the robot on the wall is known and human operators are able to guarantee the initial setup at the beginning of the task. However, this assumption can be violated during an autonomous vertical wall climbing with minimal human intervention. Given the end posture of ground trajectory and initial posture of on-wall trajectory, the transition phase between ground and walls remains an open yet important question displayed in Fig. 1.

When planning climbing motions including the transition motion with contact, the intuitive approach is to pre-specify a contact sequence, and then optimize the trajectory for the fixed sequence. However, the number of possible sequences grows exponentially with the number of contact points which makes it difficult for operators to select an optimal one and challenges the discrete search methods in many cases [12]. Multi-contact planning by nonlinear programming (NLP) can avoid the combinatorial explosion of contact switching. [13] presents a method to optimize over the discrete gait sequence using continuous variables through parameterization. By exploiting the complementarity condition between contact force and the distance to contact, [14] and [15] formulate it as a direct trajectory optimization problem for walking and jumping. In this paper we apply the same complementarity constraint to our motion planner and extend it to overcome the transition phase between the ground and walls.

This paper presents an NLP problem with complementarity constraints in order to explore different contact sequences during the transition phase given different setups, e.g., friction coefficients and motor torque limitations. Since the climbing motion for more complex, high degree-of-freedom robots is still quasi-static [9], the terms related to the derivative of momentum in the robot model are ignored. Besides the complementarity constraint between the contact force and the distance to contact, we also provide an optional complementarity constraint to capture the limb switchability, which describes whether the status (active/inactive) of one limb’s contact should be switched, in order to mitigate the local minima issue in this problem. Safety factors for wall climbing are first proposed in our previous work [11]. In this paper, we introduce the two safety factors, one for toe sliding and another for motor over-torque, into the algorithm and make them the main tuning parameters to reduce the gap between our planner and the hardware experiments, e.g., inaccurate friction coefficients and motor heating problems. Although with strong nonlinearity from complementarity constraints, the sparsity of the resulting problem enables us to get efficient (locally optimal) solutions with solvers such as SNOPT [16]. We implement the resulting solutions directly on our hardware SiLVIA and verify the feasibility with demonstrations on several different experiments. To the best of our knowledge, this is the first hexapod robot who can overcome the transition phase between the ground and walls in the real world with regular end effectors that only use frictional forces.

This paper is organized as follows. In Section II we describe the simple model and introduce variations of our constraints in the formulation. In Section III, we show our results on SiLVIA performing a variety of transition motions between the wall and the ground. We conclude the discussion in Section IV.

II APPROACH

When a legged robot is moving from supporting by the ground reaction force to bracing itself between walls with only frictional forces, static equilibrium constraints are typically used with the assumption of quasi-static movements in order to ensure the stability. Kinematic reachability and dynamic constraints like forcing contact forces inside of a friction cone are important as well for feasible planning.

II-A Static Equilibrium Constraint

Generally, legged robots with nn joints will be treated as an underactuated system with a total of n+6n+6 degrees of freedom (DOF) since the floating base, which is often the body of a robot, cannot be controlled directly. The additional DOF will be determined by wrenches (force/torque) applied on the robot including contact wrenches and gravity. According to the centroidal dynamics [17], we can represent them as linear and angular momentum at the center of mass (COM). Climbing on the wall only with the friction generated by regular end-effectors, like the point-contact toe, requires large motor torques which is prone to causing over-torque. The additional acceleration (linear/angular) of the body will burden motors significantly. For safety consideration, quasi-static movements where the derivative of linear and angular momentum can be negligible are presumed for our applications. With this assumption, the robot is subject to the static equilibrium constraint for every round jj where j=1,,Mj=1,\ldots,M and MM is the total rounds to be planned.

i=1N𝒇i,j+m𝒈=𝟎\displaystyle\sum^{N}_{i=1}\boldsymbol{f}_{i,j}+m\boldsymbol{g}=\boldsymbol{0} (1a)
i=1N(𝒑i,j𝒄j)×𝒇i,j+𝝀i,j=𝟎\displaystyle\sum^{N}_{i=1}(\boldsymbol{p}_{i,j}-\boldsymbol{c}_{j})\times\boldsymbol{f}_{i,j}+\boldsymbol{\lambda}_{i,j}=\boldsymbol{0} (1b)

where mm is the total mass of the robot, 𝒄j3\boldsymbol{c}_{j}\in\mathbb{R}^{3} is the COM position, 𝒑i,j3\boldsymbol{p}_{i,j}\in\mathbb{R}^{3} and (𝒇i,j,𝝀i,j)6(\boldsymbol{f}_{i,j},\boldsymbol{\lambda}_{i,j})\in\mathbb{R}^{6} denote the position and contact wrench for the ithi^{th} leg (NN is the total number of limbs), with respect to the world frame. The contact wrench will be kept at zero if the contact is inactive.

II-B Reachability

Given a legged robot, the design will put a variety of constraints on the motion of the robot geometrically. For every round jj, given the COM position 𝒄j3\boldsymbol{c}_{j}\in\mathbb{R}^{3} and the body orientation 𝚯j3\boldsymbol{\Theta}_{j}\in\mathbb{R}^{3}, we can specify the limb reachability as follows:

𝒑i,j(𝒄j,𝚯j)\boldsymbol{p}_{i,j}\in\mathcal{R}(\boldsymbol{c}_{j},\boldsymbol{\Theta}_{j}) (2)

where the set (𝒄j,𝚯j)\mathcal{R}(\boldsymbol{c}_{j},\boldsymbol{\Theta}_{j}) can be expressed explicitly with either analytical expressions by introducing additional decision variables joint angles 𝜽i,j\boldsymbol{\theta}_{i,j} for each leg ii, or approximated ranges. With full kinematics model, we can express the constraint (2) exactly as follows:

𝒑i,j=ϕFK(𝜽i,j)\displaystyle\boldsymbol{p}_{i,j}=\phi_{FK}(\boldsymbol{\theta}_{i,j}) (3a)
𝜽min𝜽i,j𝜽max\displaystyle\boldsymbol{\theta}_{min}\leq\boldsymbol{\theta}_{i,j}\leq\boldsymbol{\theta}_{max} (3b)

where ϕFK()\phi_{FK}(\cdot) and 𝑱(𝜽i,j)\boldsymbol{J}(\boldsymbol{\theta}_{i,j}) denote the forward kinematics and Jacobian matrix for each leg, 𝜽min\boldsymbol{\theta}_{min} and 𝜽max\boldsymbol{\theta}_{max} describe the physical joint limitations. Although full kinematics model enables rich constraints including the position/orientation of every end-effector and explicit joint limitation, it will increase the computational expense with additional decision variables and high nonlinearility introduced by forward kinematics and Jacobian matrix. With proper approximated ranges, we can still capture the physical meanings behind those constraints although it will be more conservative. For the reachability (2), we can approximate the leg reachable workspace as a sphere around the nominal posture which can be expressed as:

𝒑i,j𝒄j𝑹(𝚯j)𝒗2ΔFK\left\lVert\boldsymbol{p}_{i,j}-\boldsymbol{c}_{j}-\boldsymbol{R}(\boldsymbol{\Theta}_{j})\boldsymbol{v}\right\rVert_{2}\leq\Delta_{FK} (4)

where 𝒗\boldsymbol{v} denotes the offset from COM to the housing location of legs on the body, 𝑹(𝚯j)\boldsymbol{R}(\boldsymbol{\Theta}_{j}) is the body rotation matrix represented by Euler angles, and ΔFK\Delta_{FK} is the radius of the approximated sephere. Furthermore, the step size of both the body and limbs is considered to ensure the reachability between rounds as follows:

|Δ𝒄|Δ𝒄max\displaystyle|\Delta\boldsymbol{c}|\leq\Delta\boldsymbol{c}_{max} (5a)
|Δ𝚯|Δ𝚯max\displaystyle|\Delta\boldsymbol{\Theta}|\leq\Delta\boldsymbol{\Theta}_{max} (5b)
|Δ𝒑i|Δ𝒑max\displaystyle|\Delta\boldsymbol{p}_{i}|\leq\Delta\boldsymbol{p}_{max} (5c)

where Δ𝒄max\Delta\boldsymbol{c}_{max}, Δ𝚯max\Delta\boldsymbol{\Theta}_{max} and Δ𝒑max\Delta\boldsymbol{p}_{max} denote maximum stepsizes for the body’s linear translation, rotation and maximum limb stride length respectively.

II-C Contact Wrench

Since wall climbing is a high-risk task, being conservative on the choice of contact wrenches is necessary for safety of both the robot and the operator. Two safety factors are defined as follows in order to deal with the friction coefficient μ\mu which is hard to be measured precisely and the motor torque limit τmax\tau_{max} which can degenerate by heating. More details can be seen in our previous work [11].

Sμ\displaystyle S_{\mu} =μ/μc\displaystyle=\mu/\mu_{c} (6)
Sτ\displaystyle S_{\tau} =τmax/τc\displaystyle=\tau_{max}/\tau_{c} (7)

where μc\mu_{c} and τc\tau_{c} denote the critical values for safety. For our algorithm, critical values are not determined experimentally. Instead, we accept SμS_{\mu} and SτS_{\tau} as two main tuning parameters and being conservative can be achieved via keeping Sμ1S_{\mu}\geq 1 and Sτ1S_{\tau}\geq 1. Similarly, the constraint on contact wrench can include two parts, one from the motor torque limits and another from the friction cone.

𝒇i,jτ(τmax,𝑱(𝜽i,j),Sτ)μ(μ,Sμ)\boldsymbol{f}_{i,j}\in\mathcal{F}_{\tau}(\tau_{max},\boldsymbol{J}(\boldsymbol{\theta}_{i,j}),S_{\tau})\cap\mathcal{F}_{\mu}(\mu,S_{\mu}) (8)

where the contact torque is not included for consideration since most legged robots are assumed point contact generally (multiple point contacts at corners of the sole are used for humanoids). If the torque can be generated by the end-effector and is controllable, it is easy to modify the contraint (8). Actually, the contact torque is very important for stability of a few contact sequences which we will see in Section III. The friction cone can be expressed as follows:

μ(μ,Sμ)={𝒇i,j(𝒇i,jc)x,y22μ(𝒇i,jc)z/Sμ}\mathcal{F}_{\mu}(\mu,S_{\mu})=\left\{\boldsymbol{f}_{i,j}\mid\left\lVert(\boldsymbol{f}^{c}_{i,j})_{x,y}\right\lVert^{2}_{2}\leq\mu(\boldsymbol{f}^{c}_{i,j})_{z}/S_{\mu}\right\} (9)

where 𝒇i,jc\boldsymbol{f}^{c}_{i,j} denotes the contact force for the ithi^{th} leg in the jthj^{th} round with respect to the contact frame as shown in Fig. 2. ()x,y(\cdot)_{x,y} extracts the xx and yy components while ()z(\cdot)_{z} is the zz component of the vector. In terms of the set τ(τmax,𝑱(𝜽i,j),Sτ)\mathcal{F}_{\tau}(\tau_{max},\boldsymbol{J}(\boldsymbol{\theta}_{i,j}),S_{\tau}), two explicit options are provided similar to Section II-B. Based on full kinematics model, we can express it as:

𝝉i,j=𝑱(𝜽i,j)𝒇i,j\displaystyle\boldsymbol{\tau}_{i,j}=\boldsymbol{J}(\boldsymbol{\theta}_{i,j})^{\top}\boldsymbol{f}_{i,j} (10a)
𝝉i,j𝝉max/Sτ\displaystyle\boldsymbol{\tau}_{i,j}\leq\boldsymbol{\tau}_{max}/S_{\tau} (10b)

where 𝝉i,j\boldsymbol{\tau}_{i,j} denotes required torques of motors on the ithi^{th} leg. We can also assume all actuators have the same torque limit τmax\tau_{max} which is a scalar value so that we require the maximum of joint torques not to exceed the relaxed limit during operation,

𝝉i,jτmax/Sτ\left\lVert\boldsymbol{\tau}_{i,j}\right\rVert_{\infty}\leq\tau_{max}/S_{\tau} (11)

With the inequality 𝝉i,j𝑱(𝜽i,j)𝒇i,j\left\lVert\boldsymbol{\tau}_{i,j}\right\rVert_{\infty}\leq\left\lVert\boldsymbol{J}(\boldsymbol{\theta}_{i,j})^{\top}\right\rVert_{\infty}\left\lVert\boldsymbol{f}_{i,j}\right\rVert_{\infty} from Eq. (10a), we can set the right-hand side of Eq. (11) as a conservative upper bound for 𝑱(𝜽i,j)𝒇i,j\boldsymbol{J}(\boldsymbol{\theta}_{i,j})^{\top}_{\infty}\left\lVert\boldsymbol{f}_{i,j}\right\rVert_{\infty}, and the following relation can be obtained:

𝒇i,jτmaxSτmax𝜽i,j𝑱(𝜽i,j)\left\lVert\boldsymbol{f}_{i,j}\right\rVert_{\infty}\leq\frac{\tau_{max}}{S_{\tau}\underset{\boldsymbol{\theta}_{i,j}}{\textit{max}}\left\lVert\boldsymbol{J}(\boldsymbol{\theta}_{i,j})^{\top}\right\rVert_{\infty}} (12)

and for a robot, we can treat the value of max𝑱(𝜽i,j)\underset{}{\textit{max}}\left\lVert\boldsymbol{J}(\boldsymbol{\theta}_{i,j})^{\top}\right\rVert_{\infty} as a constant by searching all possible 𝜽i,j\boldsymbol{\theta}_{i,j} offline.

Refer to caption
Figure 2: Illustration of the world frame {w}\{w\} and the local contact frame {c}\{c\}. Solid dots indicate toes on the wall while the hollow one indicates the swing leg. Inside the red box is the complementarity condition between contact distance (𝒑i,jc)z(\boldsymbol{p}^{c}_{i,j})_{z} and the normal contact force (𝒇i,jc)z(\boldsymbol{f}^{c}_{i,j})_{z}. Inside the blue box is the limb compliance for indirect force control of SiLVIA.

II-D Unscheduled Contact Sequence and Limb Switchability

As discussed previously in Section I, we apply the same idea of [14] exploiting the complementarity condition between the contact distance and the contact force to our motion planning algorithm. As shown in Fig. 2, the contact force can be generated only when the contact distance is zero. Therefore, either the contact distance (𝒑i,jc)z(\boldsymbol{p}^{c}_{i,j})_{z} or the normal contact force (𝒇i,jc)z(\boldsymbol{f}^{c}_{i,j})_{z} will be zero which can be express as:

(𝒇i,jc)z0,(𝒑i,jc)z0\displaystyle(\boldsymbol{f}^{c}_{i,j})_{z}\geq 0,\quad(\boldsymbol{p}^{c}_{i,j})_{z}\geq 0 (13a)
(𝒇i,jc)z(𝒑i,jc)z=0\displaystyle(\boldsymbol{f}^{c}_{i,j})_{z}(\boldsymbol{p}^{c}_{i,j})_{z}=0 (13b)

It is noted that the complementarity condition between the contact distance and the contact torque which can be expressed as λi,jc2(𝒑i,jc)z=0\lVert{\lambda}^{c}_{i,j}\rVert^{2}(\boldsymbol{p}^{c}_{i,j})_{z}=0 is ignored here for the point contact assumption. In this way, we can use only continuous variables in the optimization problem and search over all possible contact sequences at once.

Furthermore, we also provide an optional complentarity constraint for limb switchability. If we use the same leg for supporting the weight during the transition phase for too many rounds which means a long period, it is likely for motors of that leg to over torque due to heating. In order to reduce this risk, we can force the motion planner to switch supporting legs between rounds, expressed as follows:

for j=2,,M,(𝒇i,j1c)z(𝒇i,jc)z=0\text{for $j=2,\dots,M$},\quad(\boldsymbol{f}^{c}_{i,j-1})_{z}(\boldsymbol{f}^{c}_{i,j})_{z}=0 (14)

If one leg is used to generate nonzero contact force in the prior round, the complentraity condition will force the normal contact force of the same leg for the current round to be zero which means this leg will not be one of supporting legs. The observation here is that it will also sacrifice some richness in the possible transition motions. Without the constraint (14), we can generate more feasible contact sequences which can be seen from our results in Section III.

II-E Complete NLP formulation

With all constraints described previously, we can choose the decision variables for the jthj^{th} round as:

Γ={𝒑i,j,𝒇i,j,𝒄j,𝚯j}\mathit{\Gamma}=\left\{\boldsymbol{p}_{i,j},\boldsymbol{f}_{i,j},\boldsymbol{c}_{j},\boldsymbol{\Theta}_{j}\right\} (15)

If the explicit form of constraints on reachability and the motor torque limits is chosen as Eq. (3) and Eq. (10), additional decision variable 𝜽i,j\boldsymbol{\theta}_{i,j} will be required. Similarly, 𝝀i,j\boldsymbol{\lambda}_{i,j} can be introduced if consider contact torques explicitly.

In terms of the cost function, a terminal cost and intermediate costs are included. To prepare the robot ready for wall-climbing during transition motion planning, we command the robot to reach the initial posture of the following climbing trajectory which is our terminal condition. Intermediate costs are composed of stepsize penalty and the L1L_{1} norm of contact force. Unlike the L2L_{2} norm of contact force which would encourage evenly distributed forces, the L1L_{1} norm would favor sparse solutions which is what we expect from complementarity constraints. The full NLP formulation can be expressed as:

minimizeΓi=1N|𝒑i,M𝒑i,d|Qp2+j=2M(|Δ𝒄j|Qc2+|Δ𝚯j|QΘ2+i=1N|Δ𝒑i,j|QΔ2+|𝒇i,j|L12)subject to (1), (2), (5), (8), (13), (14) (optional)\begin{aligned} &\begin{aligned} \underset{\Gamma}{\textbf{minimize}}\quad&\sum^{N}_{i=1}|\boldsymbol{p}_{i,M}-\boldsymbol{p}_{i,d}|^{2}_{Q_{p}}+\sum^{M}_{j=2}(|\Delta\boldsymbol{c}_{j}|^{2}_{Q_{c}}\\ &+|\Delta\boldsymbol{\Theta}_{j}|^{2}_{Q_{\Theta}}+\sum^{N}_{i=1}|\Delta\boldsymbol{p}_{i,j}|^{2}_{Q_{\Delta}}+|\boldsymbol{f}_{i,j}|^{2}_{L_{1}})\end{aligned}\\ &\text{subject to \eqref{const:static}, \eqref{const:reachability}, \eqref{const:stepsiz}, \eqref{const:wrench}, \eqref{const:comple}, \eqref{const:switchability} (optional)}\\ \\ \end{aligned}

where ||Q2|\cdot|^{2}_{Q} is the abbreviation for the quadratic cost with the weight matrix as Q0Q\geq 0, 𝒑i,M\boldsymbol{p}_{i,M} and 𝒑i,d\boldsymbol{p}_{i,d} denote the position at the last round MM and desired position for the ithi^{th} leg respectively. Note that we could also add the contact position assignment as a constraint represented by 𝑨𝒑i,j𝒃\boldsymbol{A}\boldsymbol{p}_{i,j}\leq\boldsymbol{b} where 𝑨\boldsymbol{A} and 𝒃\boldsymbol{b} describe the convex hull of feasible contact regions.

II-F Indirect Force Control for SiLVIA

After solving our transition motion planner with SNOPT, the robot is able to accomplish the transtion task from the ground to the wall round by round by commanding the optimized leg positions and contact forces. If the robot has force feedback on the end-effector of each leg, direct force control would work easily. Unfortunately, our robot SiLVIA is position controlled. For multi-limbed robots like SiLVIA, contact forces are statically indeterminate if more than 3 contacts are active. In [18], the virtual penetration into the wall 𝜹𝒘𝒂𝒍𝒍\boldsymbol{\delta_{wall}} and the body deformation 𝜹𝒄𝒐𝒎\boldsymbol{\delta_{com}} as shown in Fig. 2 are considered to determine contact forces indirectly. The optimized contact force 𝒇i,j\boldsymbol{f}_{i,j} from our transition motion planner can be treated as the spring force using the Virtual Joint Method (VJM) [19]. In order to achieve the contact force at the ithi^{th} leg for the jthj^{th} round, we need to solve a feasibility problem as follows:

find 𝜹𝒘𝒂𝒍𝒍,𝜹𝒄𝒐𝒎\displaystyle\boldsymbol{\delta_{wall}},\boldsymbol{\delta_{com}} (16)
𝒇i,j=𝑲i,j(𝜹𝒘𝒂𝒍𝒍𝜹𝒄𝒐𝒎)\displaystyle\boldsymbol{f}_{i,j}=\boldsymbol{K}_{i,j}(\boldsymbol{\delta_{wall}}-\boldsymbol{\delta_{com}}) (16a)
𝑲i,j=(𝑱(𝜽i,j)𝒌1𝑱(𝜽i,j))1\displaystyle\boldsymbol{K}_{i,j}=(\boldsymbol{J}(\boldsymbol{\theta}_{i,j})\boldsymbol{k}^{-1}\boldsymbol{J}(\boldsymbol{\theta}_{i,j})^{\top})^{-1} (16b)

where 𝑲i,j\boldsymbol{K}_{i,j} is the stiffness matrix of the nn DOF leg, 𝒌\boldsymbol{k} is the diagonal matrix with the virtual spring coefficients [k1,k2,,kn][k_{1},k_{2},\ldots,k_{n}] of the position controller motors. Since 𝜽i,j\boldsymbol{\theta}_{i,j} can be find after transition motion planner, only 𝜹𝒘𝒂𝒍𝒍\boldsymbol{\delta_{wall}} and 𝜹𝒄𝒐𝒎\boldsymbol{\delta_{com}} are unknown. Problem (16) can be solved efficiently. Therefore indirect force control can be achieved by adding 𝜹𝒘𝒂𝒍𝒍\boldsymbol{\delta_{wall}} to optimized leg positions 𝒑i,j\boldsymbol{p}_{i,j} which is what we have done for the following experiments.

III RESULTS

In this section, we presents several different scenarios about transition between the wall and the ground, including the parallel wall, the parallel wall with steps or inclines, and the circular wall. Without losing generality, we also try to explore walking gaits on the ground. With the proposed transition motion planner, we choose Eq. (4) and Eq. (12) to represent the constraint (2) and (8) respectively in order to reduce the computational cost. The constant max𝑱(𝜽i,j)\underset{}{\textit{max}}\left\lVert\boldsymbol{J}(\boldsymbol{\theta}_{i,j})^{\top}\right\rVert_{\infty} is determined offline as 963.5 mm. Results are implemented on the six-legged robot SiLVIA weighted around 10 kg, each leg of which has 3 DOF. A pair of Dynamixel MX-106 motors is used for each joint which can provide a maximum torque at 27 Nm. For the resulting contact sequence, B-spline is used for interpolation and we can generate the trajectory for the independent joint PID controller. All hardware demonstrations can be viewed in the accompanied video.

III-A The Parallel Wall

In this scenario, we let the robot stand between two parallel walls at a distance of 1230 mm. Initially, the robot stands on the ground with the body height as 210 mm. The desired configuration on the wall is the starting point of the climbing trajectory from our previous work [11] indicated in Fig. 3 as the translucent configuration.

Refer to caption
Figure 3: Simulation visualization of 3 different resulting contact sequences. The red arrow inside each graph denotes the gravity while blue arrows indicate contact forces. The translucent model is the desired configuration for transition. Red path represents 3-3 contact sequence. Green path represents 2-4 contact sequence with small SτS_{\tau}. Blue path represents 4-2 contact sequence with large SμS_{\mu}.

In the hardware experiment, the walls are covered by rubber pads and the robot toes are covered by anti-slip tapes, which gives a frictional coefficient μ\mu around 1. With the nominal values for safety factors (Sτ=1.8S_{\tau}=1.8, Sμ=1.1S_{\mu}=1.1), the tripod gait (3-3 contact sequence) which lifts the front and rear legs on one side, the middle leg on the other side firstly, and then lifts the remaining 3 legs, is generated and validated in the robot as seen in Fig. 1. In the following, the two safety factors are tuned to simulate different experimental setups although the real environment for hardware demonstrations is kept the same. For the planner, we make the wall surface more slippery by increasing the value of SμS_{\mu}. When Sμ1.46S_{\mu}\approx 1.46, the resulting solution shows the robot would lift two front and two rear legs for the first round, and then lift two remaining middle legs to the wall (4-2 contact sequence in Fig. 3). We also increase the motor torque limit by decreasing SτS_{\tau} to pretend that the robot has stronger motors. 2-4 contact sequence is generated when SτS_{\tau} becomes around 0.85. Actually, this is an aggressive setting for our robot since the torque density needs to be 1/0.851/0.85 times larger in order to execute the resulting solution successfully in the hardware. It is noted that with smaller SτS_{\tau}, both 3-3 contact sequence and 4-2 contact sequence are also feasible local minimas of the NLP planner. With a different initial guess, the planner would converge to a different local minima.

The interesting observation in the hardware experiment is that the robot tips over for those two contact sequences (2-4 and 4-2). In terms of the 4-2 contact sequence, falling down happens when lifting those 4 legs as indicated in Fig. 4. The reason is that when the robot only has 2 legs generating contact forces, they need to be perfectly aligned in order to avoid any torques applied on the body. The better strategy is to include the contact torque in the planner. However, SiLVIA only has 3 DOF each leg which means the contact torque on the end-effector cannot be controlled directly. We simply replace the point-contact toe with a bar to be robust passively and it performs the 4-2 contact sequence successfully. For the 2-4 contact sequence, the robot suffers from not only the same issue as noted above but also the over-torque problems for the two legs on the wall.

Refer to caption
Figure 4: (a) Failure with point-contact toes for the two middle legs. (b) Success with bar toes for the two middle legs.

Furthermore, we ignore the limb switchability constraint (14) in order to explore more possible contact sequences. A new contact sequence (2-2-2 contact sequence) is generated by our planner. The robot would lift the left middle leg (LM) and the right middle leg (RM) initially, then lift the left front leg (LF) and the right rear leg (RR) with 4 legs for supporting (2 on the ground and 2 on the wall), and finally lift the remaining two legs to the wall. From Fig. 5, the complementarity constraint (13) is always satisfied. For example, the contact distance of the leg RM at the round 1 is 0 while the contact force is 0 for the round 2. Note that the leg RM is already on the wall after the round 2 (the desired height of the leg on the wall is 180 mm). For rounds 3, 4 and 5, the contact distance of the leg RM is 0 with respect to the contact frame which still keeps the complementarity condition. The hardware demonstration shows that the 2-2-2 contact sequence provides stronger stability of the transition motion since the robot always keeps at least 4 contact points.

Refer to caption
Figure 5: The resulting z-component of the contact forces and toe positions with respect to the world frame without limb switchability constraint. Shaded areas indicate the contact is active for the leg.

III-B The Parallel Wall with Steps

This scenario focuses on investigating whether our planner can generate the contact sequence taking advantage of objects presented in order to overcome the transition phase. We put two bricks next to the left wall on the ground and intuitively the robot would be able to step on the brick for the intermediate round. To take advantage of the brick, we decrease the value of ΔFK\Delta_{FK} in the constraint (4) for the legs on the left side until the leg is unable to reach the desired positions on the wall in one step. The 3-3-3 contact sequence is generated which puts LF and LR on the brick and RM on the right wall, then moves RF, RR and LM on the wall, finally moves LF, LR and RM again to the desired positions on the wall, as shown in Fig. 6. However, in the hardware experiment, the robot tips over when it is trying to lift 3 legs based on the supporting from 2 legs on the brick and 1 leg on the wall. The two legs on the brick (LF and LR) slip causing the failure. The reason is that the friction coefficient between the brick and the toe is much smaller than the one between the toe and the wall. By realizing this, we correct the setting but the problem becomes infeasible. Then we add one more round to enrich the possible contact sequence that the planner can search over. From the bottom row of Fig. 6. We can see that for the second round, the robot would not lift 3 legs together as what the robot would do in the 3-3-3 contact sequence. Instead, it is divided into two rounds. The robot would lift the leg LM to create 4 contact points and then lift the right two legs (RF and RR) to avoid too large horizontal forces required for the two legs on the brick. The robot successfully overcomes the transition phase with steps by performing the 3-1-2-2 contact sequence.

Refer to caption
Figure 6: The upper row is the 3-3-3 contact sequence for the parallel wall with steps while the bottom row is the 3-1-2-2 contact sequence. The middle row is the screenshots of hardware experiments when implementing these two contact sequences. (Green represents a surface with smaller friction coefficient)

III-C Others

Besides the scenarios described previously, we also simulate two more cases. The first one is that we replace the two bricks with an incline to investigate the capability of changing the body orientation. We use L2L_{2} norm of contact force in the cost function to encourage forces to be distributed more evenly which is also one possible incentive to change the body orientation. We also reduce the weight QΘQ_{\Theta} of the body orientation stepsize. The second one is to investigate how to transit from the wall to the ground. Obviously, reversing the order of our previous contact sequence would work since the robot is under the static equilibrium for every round. However, when you want to climb out of a circular wall or a tube, the situation is totally different since the flat surface the robot can place the leg is around the tube externally. Both simulation results are visualized in Fig. 7.

Refer to caption
Figure 7: (a) The transition motion with the parallel wall with an incline. (b) The transition motion from a tube to the flat platform outside the tube.
Refer to caption
Figure 8: Red circles highlight the moving legs. (a) Screenshots for the repeated 2-4 gait (b) Screenshots for the repeated 3-3 gait.

Without losing generality, we also apply our transition motion planner for ground walking. With different initial guesses, our planner converges to different local minimas and generates the standard tripod gait (repeated 3-3 contact sequence actually) and repeated 2-4 gait. The hardware demonstration is shown in Fig. 8.

III-D Running Time

Generally, a big concern about NLP, especially with complementarity constraints, is the running time. Since only a small number of rounds MM (generally 5\leq 5) required for the transition motion, our MATLAB code using SNOPT as the solver usually generates motions described previously within 10 secs. Also, NLP is very sensitive to the initial guess. A warm start that ignores highly nonlinear complementarity constraints can always help find a better initial guess leading to less computational time. Currently, for the parallel wall task, the average running time varies from 1.054s to 3.083s. These numbers are reported by running on an Intel Core i7-6500U CPU. We believe the implementation with the C++ code can accelerate the planner and make it run online which is also one of our future works.

IV DISCUSSION AND CONCLUSION

Although we propose that the contact wrench of the end-effector can be optimized through our motion planner, multi-limbed robots, unlike humanoid robots, generally are not designed with enough DOF to fully control the contact wrench (in most cases, the contact torque cannot be controlled directly). However, as we have seen from Section III-A, the contact torque can play a big role in improving the robustness of the resulting transition motions. Introduction of potential coupling relation between controllable forces and uncontrollable torques remains an open question. For our proposed method, the planning round MM needs to be determined based on human experience. Investigation on planning MM simultaneously would be one of the future works. Quantitative analysis based on appropriate performance metrics, e.g., success rate, running speed and the resulting joint torque can be used to determine the optimal settings. Our proposed method assumes prior knowledge of estimating the friction coefficient. Fortunately, recent developments on image processing and learning technique make this prior condition possible with on-board vision systems.

In this paper we present a transition motion planner for multi-limbed vertical climbing robots to overcome the transition phase between the ground and walls. Complementarity constraints are used to generate unscheduled contact sequences and describe how to switch supporting limbs. The optional complementary constraint on limb switchability helps mitigate the local minima issue to some extent since this discontinuous planning problem tends to keeping same limbs for supporting, which will lead to local minimas given different settings, e.g., limited planning round. Two safety factors for toe slip and motor over-torque are considered in the planner. Instead of tuning randomly, they are interpretable. The results show that a variety of transition contact sequences is generated in order to handle different environment setups, including slippery wall surfaces and steps/inclines that can be taken advantage of. Hardware demonstrations verify the feasibility and show that our planner can be used for standard gait schedule of legged robots as well.

References

  • [1] S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi, and H. Hirukawa, “Biped walking pattern generation by using preview control of zero-moment point,” in 2003 IEEE International Conference on Robotics and Automation (ICRA), vol. 2, pp. 1620–1626, IEEE, 2003.
  • [2] R. Tedrake, S. Kuindersma, R. Deits, and K. Miura, “A closed-form solution for real-time zmp gait generation and feedback stabilization,” in 2015 IEEE-RAS 15th International Conference on Humanoid Robots (Humanoids), pp. 936–940, IEEE, 2015.
  • [3] H. Dai and R. Tedrake, “Planning robust walking motion on uneven terrain via convex optimization,” in 2016 IEEE-RAS 16th International Conference on Humanoid Robots (Humanoids), pp. 579–586, IEEE, 2016.
  • [4] A. W. Winkler, F. Farshidian, M. Neunert, D. Pardo, and J. Buchli, “Online walking motion and foothold optimization for quadruped locomotion,” in 2017 IEEE International Conference on Robotics and Automation (ICRA), pp. 5308–5313, IEEE, 2017.
  • [5] M. H. Raibert, “Hopping in legged systems—modeling and simulation for the two-dimensional one-legged case,” IEEE Transactions on Systems, Man, and Cybernetics, no. 3, pp. 451–463, 1984.
  • [6] Q. Nguyen, M. J. Powell, B. Katz, J. Di Carlo, and S. Kim, “Optimized jumping on the mit cheetah 3 robot,” in 2019 International Conference on Robotics and Automation (ICRA), pp. 7448–7454, IEEE, 2019.
  • [7] S. Kim, M. Spenko, S. Trujillo, B. Heyneman, D. Santos, M. R. Cutkosky, et al., “Smooth vertical surface climbing with directional adhesion,” IEEE Transactions on robotics, vol. 24, no. 1, pp. 65–74, 2008.
  • [8] M. J. Spenko, G. C. Haynes, J. Saunders, M. R. Cutkosky, A. A. Rizzi, R. J. Full, and D. E. Koditschek, “Biologically inspired climbing with a hexapedal robot,” Journal of field robotics, vol. 25, no. 4-5, pp. 223–242, 2008.
  • [9] A. Parness, N. Abcouwer, C. Fuller, N. Wiltsie, J. Nash, and B. Kennedy, “Lemur 3: A limbed climbing robot for extreme terrain mobility in space,” in Robotics and Automation (ICRA), 2017 IEEE International Conference on, pp. 5467–5473, IEEE, 2017.
  • [10] T. Bretl, “Motion planning of multi-limbed robots subject to equilibrium constraints: The free-climbing robot problem,” The International Journal of Robotics Research, vol. 25, no. 4, pp. 317–342, 2006.
  • [11] X. Lin, J. Zhang, J. Shen, G. Fernandez, and D. W. Hong, “Optimization based motion planning for multi-limbed vertical climbing robots,” in 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 1918–1925, IEEE, 2019.
  • [12] Y. Tazaki and M. Murooka, “A survey of motion planning techniques for humanoid robots,” Advanced Robotics, pp. 1–10, 2020.
  • [13] A. W. Winkler, C. D. Bellicoso, M. Hutter, and J. Buchli, “Gait and trajectory optimization for legged systems through phase-based end-effector parameterization,” IEEE Robotics and Automation Letters, vol. 3, no. 3, pp. 1560–1567, 2018.
  • [14] M. Posa, C. Cantu, and R. Tedrake, “A direct method for trajectory optimization of rigid bodies through contact,” The International Journal of Robotics Research, vol. 33, no. 1, pp. 69–81, 2014.
  • [15] H. Dai, A. Valenzuela, and R. Tedrake, “Whole-body motion planning with centroidal dynamics and full kinematics,” in 2014 IEEE-RAS International Conference on Humanoid Robots, pp. 295–302, IEEE, 2014.
  • [16] P. E. Gill, W. Murray, and M. A. Saunders, “Snopt: An sqp algorithm for large-scale constrained optimization,” SIAM review, vol. 47, no. 1, pp. 99–131, 2005.
  • [17] D. E. Orin, A. Goswami, and S.-H. Lee, “Centroidal dynamics of a humanoid robot,” Autonomous robots, vol. 35, no. 2-3, pp. 161–176, 2013.
  • [18] X. Lin, H. Krishnan, Y. Su, and D. W. Hong, “Multi-limbed robot vertical two wall climbing based on static indeterminacy modeling and feasibility region analysis,” in 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 4355–4362, IEEE, 2018.
  • [19] A. Pashkevich, A. Klimchik, and D. Chablat, “Enhanced stiffness modeling of manipulators with passive joints,” Mechanism and machine theory, vol. 46, no. 5, pp. 662–679, 2011.