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

Versatile Telescopic-Wheeled-Legged Locomotion of Tachyon 3 via Full-Centroidal Nonlinear Model Predictive Control

Sotaro Katayama    Noriaki Takasugi    Mitsuhisa Kaneko    Masaya Kinoshita Sony Group Corporation, Minato-ku, Tokyo, Japan, 108-0075
(email: sotaro.katayama@sony.com).
Sony Global Manufacturing & Operations Corporation, Minato-ku, Tokyo, Japan, 108-0075
Abstract

This paper presents a nonlinear model predictive control (NMPC) toward versatile motion generation for the telescopic-wheeled-legged robot Tachyon 3, the unique hardware structure of which poses challenges in control and motion planning. We apply the full-centroidal NMPC formulation with dedicated constraints that can capture the accurate kinematics and dynamics of Tachyon 3. We have developed a control pipeline that includes an internal state integrator to apply NMPC to Tachyon 3, the actuators of which employ high-gain position-controllers. We conducted simulation and hardware experiments on the perceptive locomotion of Tachyon 3 over structured terrains and demonstrated that the proposed method can achieve smooth and dynamic motion generation under harsh physical and environmental constraints.

keywords:
Robotics, Real-Time Implementation of Model Predictive Control

1 Introduction

Legged robots are promising robotic mobilities that can traverse a variety of places. While industrial applications of legged robots, particularly quadruped robots, are nowadays gaining attention, typical legged robots still have two unresolved issues: energy efficiency and safety. Legged robots are typically not energy efficient; they can work only less than an hour because they have to consistently support the entire mass of the robot using actuator power. Moreover, they can lack safety, e.g., cause catastrophic damage to the robot itself and to the environment when they fall.

To mitigate such issues and expand the capabilities of legged mobilities, we have developed a six-telescopic-wheeled-legged robot called Tachyon 3111Website: https://www.sony.com/en/SonyInfo/research/technologies/new_mobility222Video: https://youtu.be/sorw7o73ydc, which is shown in Fig. 1. Each leg of Tachyon 3 is composed of a revolute joint at the hip, a telescopic joint at the knee, and a drive/passive wheel at the tip. Remarkably, the knee joint is designed so that it can support the entire mass of the body without energy consumption at a particular joint position. By combining the legged traversability and the wheel movement leveraging the knee joint structure, Tachyon 3 is expected to be an energy-efficient and versatile legged mobility. Furthermore, its center of mass (COM) is designed to be located at a much lower position than typical legged robots, which can reduce damage due to accidents.

Refer to caption
Figure 1: Hardware structure of telescopic-wheeled-legged robot Tachyon 3. It has three front legs (left-front (LF), middle-front (MF), and right-front (RF)) and three rear legs (left-rear (LR), middle -rear (MR) and right-rear (RR)). In total, it consists of 16 active joints including 6 prismatic joints, 6 hip joints and 4 drive wheels, and additional two passive omni wheels.

Aside from these advantages, the novel hardware structure of Tachyon 3 poses challenges in motion planning and control. We summarize such challenges from the viewpoint of a comparison between typical quadruped robots.

  • Each foot of Tachyon 3 has only 2 degrees of freedom (DOF) relative to the body (x and z directions) while that of typical quadruped robots has 3 (x, y, and z directions).

  • In addition to the previous point, LF, LR, RF, and RR feet have drive wheels and hence the whole system involves complicated non-holonomic constraints while typical quadruped robots only involve mathematically tractable point contacts.

  • The joint ranges of Tachyon 3 are small (e.g., 50 degrees in MF and MR hip joints and 90 degrees in the other hip joints) to avoid self-collisions while quadruped robots have enough joint ranges (e.g., 180 degrees).

  • Knee joints are required to operate near their position limit to keep the COM position lower, while typical quadruped robots are designed to have enough joint margin in the nominal configuration.

  • Each joint of Tachyon 3 is controlled by a high-gain position-control while typical quadruped robots employ torque control.

To achieve safe motion generation in real time under the aforementioned hardware limitations, in Takasugi et al. (2023), we have developed a safety-aware perceptive controller using a control barrier function (CBF) and quadratic programming (QP) controller (i.e., CBF-QP) that can run at 1 kHz. However, the method alone can only take into account the instantaneous and myopic motions under a static stability derived from the kinematics. As a result, the generated motion lacks smoothness, which often causes undesirable body oscillation and discontinuous body velocities in ascending steps.

To further expand the dynamic and smooth motion ability of Tachyon 3, in this paper, we have developed a nonlinear model predictive control (NMPC) framework for Tachyon 3. Our NMPC is basd on the full-centroidal NMPC formulation (Sleiman et al. (2021)) to capture the limited foot-wise DOFs, complicated non-holonomic constraints, and harsh kinematics and environmental constraints of Tachyon 3 in a unified manner. We also ensure the safety by hierarchically combining NMPC and the CBF-QP controller (Takasugi et al. (2023)). Further, to apply NMPC to Tachyon 3, the joints of which employ a high-gain position-control, we propose the use of an internal state integrator for state feedback of NMPC so that we can avoid oscillation in the resultant joint position commands. We then integrated them into a control pipeline to achieve NMPC on the on-board computer of Tachyon 3.

1.1 Related Works

NMPC has been widely applied to legged robots, particularly for torque-controlled quadruped robot. Di Carlo et al. (2018) models the dynamics of a quadruped robot as single rigid body dynamics (SRBD) while the kinematics are inaccruately modeled. Farshidian et al. (2017) and Grandia et al. (2023) combine the SRBD with whole-body kinematics and further improve the accuracy in terms of the kinematics. Bjelonic et al. (2021, 2022) apply the NMPC formulation of Farshidian et al. (2017) to wheeled quadruped robot. Sleiman et al. (2021) improves the approach using whole-body kinematics and centroidal dynamics (Orin et al. (2013)) instead of the SRBD to further improve accuracy. These methods, called as reduced-order model-based NMPC, only computes optimal contact forces and kinematic quantities. Therefore, for torque-controlled robots, a whole-body dynamics-based controller is typically employed to compute the joint torque commands from the NMPC solution. By contrast, Mastalli et al. (2022) and Katayama and Ohtsuka (2022) incorporate the whole-body dynamics into NMPC. One can then improve the dynamics accuracy and also avoid using the additional whole-body dynamics-based controller at the expense of larger computational burden.

In the predictive controls of position-controlled robots such as humanoid robots, the SRBD, centroidal, and whole-body dynamics models have have garnered less attension that highly simplified models such as the linear inverted pendulum model (Kajita et al. (2003)). A pioneer study by Koenemann et al. (2015) reports the applications of the whole-body dynamics-based NMPC for a position-controlled humanoid robot. However, to avoid discontinuities in the joint position commands, it does not use any state feedback, that is, it is almost the same as an application of offline trajectory optimization. Therefore, the resultant trajectory can be far from optimal or infeasible once the state prediction is different from the actual state.

1.2 Contributions

In this paper, we have developed NMPC for telescopic-wheeled-legged Tachyon 3 that has a novel and unique hardware structure. Our contributions are summarized as follows:

  • Application of the full-centroidal NMPC (Sleiman et al. (2021)) to the novel hardware Tachyon 3 with novel physical and environmental constraints.

  • State feedback using an internal state integrator to apply NMPC to robots, the actuators of which employ high-gain position-controllers.

  • Control pipeline and implementation details to integrate NMPC and other modules such as the state integrator and CBF-QP on an on-board PC that has limited computation resources.

  • Validation through a simulation study against our previous controller (Takasugi et al. (2023)) and real-world hardware experiment on perceptive locomotion

This paper is organized as follows. Section 2 proposes the NMPC formulation of Tachyon 3. Section 3 introduces implementation of NMPC from the viewpoint of a numerical optimization solver to the overall system architecture implemented on the on-board PCs of Tachyon 3. Section 4 shows the effectiveness of the proposed NMPC framework through simulation and hardware experiments on the perceptive locomotion over structured terrains. Finally, Section 5 concludes this paper with future works.

2 Nonlinear Model Predictive Control of Tachyon 3

2.1 Optimal Control Problem of Switched Systems

In robotic applications, NMPC is often referred to as an online motion planning method that solves an optimal control problem (OCP) each time. We herein formulate an OCP for Tachyon 3 under a fixed contact sequence, i.e., a sequence of contact flags (on/off) of all feet and the switching times. We define a mode for each combination of contact flags of six feet. An OCP under such a setting can be defined as a general OCP of switched systems under a given mode sequence [m1,,mM][m_{1},...,m_{M}] and switching times [t0,,tM1][t_{0},...,t_{M-1}], where tit_{i} denotes the switching time from mode mim_{i} to mi+1m_{i+1}. Then, for the given horizon [t0,tM][t_{0},t_{M}] and initial state x¯\bar{x}, the OCP is formulated as

minu()VmM(tM,x(tM))+m=0m=M1tmtm+1lm(t,x(t),u(t))\displaystyle\min_{u(\cdot)}V_{m_{M}}(t_{M},x(t_{M}))+\sum_{m=0}^{m=M-1}\int_{t_{m}}^{t_{m+1}}l_{m}(t,x(t),u(t))
s.t.x(t0)=x¯,x˙(t)=fm(t,x(t),u(t))(tmt<tm+1)\displaystyle{\rm s.t.}\;\;\;x(t_{0})=\bar{x},\;\dot{x}(t)=f_{m}(t,x(t),u(t))\;\;(t_{m}\leq t<t_{m+1})
em(t,x(t),u(t))=0(tmt<tm+1)\displaystyle\;\;\;\;\;\;\;\;e_{m}(t,x(t),u(t))=0\;\;(t_{m}\leq t<t_{m+1})
gm(t,x(t),u(t))0(tmt<tm+1)\displaystyle\;\;\;\;\;\;\;\;g_{m}(t,x(t),u(t))\geq 0\;\;(t_{m}\leq t<t_{m+1})
gM(tM,x(tM))0.\displaystyle\;\;\;\;\;\;\;\;g_{M}(t_{M},x(t_{M}))\geq 0. (1)

Here, subscript mm indicates that a function is given for the mode mm and Vm()V_{m}(\cdot), lm()l_{m}(\cdot), fm()f_{m}(\cdot), em()e_{m}(\cdot) and gm()g_{m}(\cdot) denote the terminal cost, stage cost, state equation, equality constraint, and inequality constraint, respectively.

In NMPC, at each time tt, we measure or estimate the current state x(t)x(t) and solves the above OCP with t0=tt_{0}=t, x¯=x(t)\bar{x}=x(t), and tM=t+Tt_{M}=t+T, where T>0T>0 is the horizon length. The latest optimal trajectory is then utilized to determine the control action of the system.

2.2 Full-Centroidal Model

We model Tachyon 3 using the full-kinematics and centroidal dynamics model as is the case with Sleiman et al. (2021), which is termed a full-centroidal model. The full-kinematics can capture the precise constraint while the centroidal dynamics can express the accurate dynamics under certain assumptions (Orin et al. (2013)). The precise constraint evaluation is particularly crucial for Tachyon 3, which has severe joint range limits, limited foot-wise DOF, and non-holonomic wheel contact constraints. The full-centroidal model has a good balance between accuracy and computational cost; for example, it is much computationally cheaper than the exact whole-body dynamics formulation.

The state vector of the full-centroidal model is defined as

x:=[qbTqJThcomT]T:=[qThcomT]T,x:=\begin{bmatrix}q_{\rm b}^{\rm T}&q_{\rm J}^{\rm T}&h_{\rm com}^{\rm T}\end{bmatrix}^{\rm T}:=\begin{bmatrix}q^{\rm T}&h_{\rm com}^{\rm T}\end{bmatrix}^{\rm T}, (2)

where qbSE(3)q_{\rm b}\in SE(3) denotes the base pose (position and rotation), qJnJq_{\rm J}\in\mathbb{R}^{n_{\rm J}} denotes the joint positions (nJ=12n_{\rm J}=12 in the case of Tachyon 3), qq denotes the configuration, and hcom6h_{\rm com}\in\mathbb{R}^{6} denotes the centroidal momentum. We denote the time variation of the configuration qq at its tangent space as

v:=[vbTvJT]T=[vbTq˙JT]T,v:=\begin{bmatrix}v_{\rm b}^{\rm T}&v_{\rm J}^{\rm T}\end{bmatrix}^{\rm T}=\begin{bmatrix}v_{\rm b}^{\rm T}&\dot{q}_{\rm J}^{\rm T}\end{bmatrix}^{\rm T}, (3)

where vb6v_{\rm b}\in\mathbb{R}^{6} denotes the spatial (linear and angular) velocity of the base expressed in the base local coordinate frame. The control input of the model is defined as

u:=[vJTf1TfncT]T,u:=\begin{bmatrix}v_{\rm J}^{\rm T}&f_{1}^{\rm T}&\cdots&f_{n_{c}}^{\rm T}\end{bmatrix}^{\rm T}, (4)

where fi3f_{i}\in\mathbb{R}^{3} denotes the contact force acting on the ii-th foot and ncn_{c} is the number of feet (nc=6n_{c}=6 in the case of Tachyon 3).

To derive the state equation, we introduce the centroidal momentum matrix A(q)6×(6+nJ)A(q)\in\mathbb{R}^{6\times(6+n_{\rm J})}, which maps the generalized velocity onto the centroidal momentum (Orin et al. (2013)) as

hcom=A(q)[vbvJ]=[Ab(q)AJ(q)][vbvJ],h_{\rm com}=A(q)\begin{bmatrix}v_{\rm b}\\ v_{\rm J}\end{bmatrix}=\begin{bmatrix}A_{\rm b}(q)&A_{\rm J}(q)\end{bmatrix}\begin{bmatrix}v_{\rm b}\\ v_{\rm J}\end{bmatrix}, (5)

where Ab(q)6×6A_{\rm b}(q)\in\mathbb{R}^{6\times 6} and Ab(q)6×nJA_{\rm b}(q)\in\mathbb{R}^{6\times n_{\rm J}}. The state equation is then given by

f(x,u)=[Ab(q)1(hcomAJ(q)vJ)vJi=1incfi+mgi=1inc(FKi(q)COM(q))×fi],f(x,u)=\begin{bmatrix}A_{\rm b}(q)^{-1}(h_{\rm com}-A_{\rm J}(q)v_{\rm J})\\ v_{\rm J}\\ \sum_{i=1}^{i_{n_{c}}}f_{i}+mg\\ \sum_{i=1}^{i_{n_{c}}}({\rm FK}_{i}(q)-{\rm COM}(q))\times f_{i}\end{bmatrix}, (6)

where mm is the total mass of the robot, FKi(q)3{\rm FK}_{i}(q)\in\mathbb{R}^{3} is a forward kinematics, i.e., position of the ii-th foot, and COM(q)3{\rm COM}(q)\in\mathbb{R}^{3} is the COM position.

2.3 Equality Constraints

2.3.1 Contact constraints:

We impose wheel contact constraints for a given contact schedule in a way similar to Bjelonic et al. (2021, 2022) but extended to Tachyon 3. A swing foot does not have any contact forces, hence an equality constraint

fi=0f_{i}=0 (7)

is imposed for each swing foot ii. A stance foot cannot make any motion in the z-direction. Therefore, an equality constraint

[001]vi(q,v)=0\begin{bmatrix}0&0&1\end{bmatrix}{\rm v}_{i}(q,v)=0 (8)

is imposed for each stance foot ii, where vi(q,v)3{\rm v}_{i}(q,v)\in\mathbb{R}^{3} denotes the linear velocity of the ii-th foot expressed in the world coordinate frame.

In addition to (8), LF, LR, RF, and RR feet have drive wheels and therefore cannot have any motions in the local yy-direction. We then consider an equality constraint

[010]Ryaw,iT(q)vi(q,v)=0\begin{bmatrix}0&1&0\end{bmatrix}R_{{\rm yaw},i}^{\rm T}(q){\rm v}_{i}(q,v)=0 (9)

for each of LF, LR, RF, and RR contacts, where Ryaw,i(q)R_{{\rm yaw},i}(q) is a rotation matrix that extracts the yaw rotation of ii-th foot. However, we found that directly imposing (8) and (9) for all stance feet in the case of Tachyon 3 can result in redundancy in the equality constraints and cause numerical optimization failures. We hypothesize that imposing (8) and (9) for two side-by-side feet, such as LF and RF feet, doubly constrains the angular motion of the body around the local yy-axis because of the small footwise DOF of Tachyon 3. From this perspective, we remove the equality constraints. Specifically, we impose (8) and (9) for only one of the two side-by-side feet when both of them have contacts. Although this constraint switch is a heuristic, it works well in practice.

2.3.2 Swing foot trajectory constraint:

In addition to the contact constraints, we impose swing foot height trajectory as an equality constraint as Farshidian et al. (2017). Suppose that the heights of each contact are provided as well as the contact flags from a higher layer planner. We then design the swing foot height trajectory z(t)z(t)\in\mathbb{R} by spline curves for the given contact heights as

[001]vi(q,v)z˙i(t)+Kp([001]FKi(q)zi(t))=0,\begin{bmatrix}0&0&1\end{bmatrix}{\rm v}_{i}(q,v)-\dot{z}_{i}(t)+K_{p}(\begin{bmatrix}0&0&1\end{bmatrix}{\rm FK}_{i}(q)-{z}_{i}(t))=0, (10)

where Kp0K_{p}\geq 0 is a position-error feedback gain.

2.4 Inequality Constraint

2.4.1 Joint position, velocity, and torque limit constraints:

Thanks to the full-kinematics model, we can directly impose the position and velocity limit inequality constraints on each joint such as

qJ,minqJqJ,max,vJ,minvJvJ,max.q_{\rm J,min}\leq q_{\rm J}\leq q_{\rm J,max},\;\;v_{\rm J,min}\leq v_{\rm J}\leq v_{\rm J,max}. (11)

We also impose static joint torque limit as

τJ,minS(g(q)+JT(q)f)τJ,max,\tau_{\rm J,min}\leq S(g(q)+J^{\rm T}(q)f)\leq\tau_{\rm J,max}, (12)

where SnJ×(6+nJ)S\in\mathbb{R}^{n_{\rm J}\times(6+n_{\rm J})} denotes the selection matrix, g(q)6+nJg(q)\in\mathbb{R}^{6+n_{\rm J}} denotes the generalized gravity term, J(q)3nc×(6+nJ)J(q)\in\mathbb{R}^{3n_{c}\times(6+n_{\rm J})} denotes the stack of the contact Jacobians, and f3ncf\in\mathbb{R}^{3n_{c}} denotes the stack of the contact forces, respectively.

2.4.2 Friction cone constraints:

To avoid negative normal force and slipping, we impose a linearized friction cone for each active contact as used in Katayama and Ohtsuka (2022).

2.4.3 Foot feasible region constraints:

Refer to caption
(a) Ascending a step
Refer to caption
(b) Descending a step
Figure 2: Feasible regions for swing foot collision avoidance

In walking over terrain, the foot position projected onto the (x,y)(x,y)-plane should be constrained to avoid 1) falling from a terrain surface and 2) collisions between legs and the terrain. To this end, we impose the (x,y)(x,y) position of the foot within a convex polygonal region extracted from the perception pipeline. The convex polygon is expressed as

A[100010]FKi(q)+b0,A\begin{bmatrix}1&0&0\\ 0&1&0\end{bmatrix}{\rm FK}_{i}(q)+b\geq 0, (13)

where AA and bb are the coefficients of the polygon. For each stance foot, the convex region constraint is imposed as well as the previous studies (Grandia et al. (2023); Bjelonic et al. (2022)).

In addition, we leveraged the convex region constraint (13) for swing foot collision avoidance. This is in contrast to typical collision avoidance NMPC formulations based on signed distance fields such as Grandia et al. (2023) with which high nonlinearity can cause numerical difficulties. Fig. 2 illustrates the proposed convex region constraint for the swing foot collision avoidance. Suppose that the swing foot height trajectory in (10) monotonically increases in the first-half of the foot swing period and decreases in the second-half of it. Then, in the case of ascending a step, only the first-half swing foot period can have a collision. We can therefore achieve swing foot collision avoidance by imposing (13) over the first-half swing foot period in the ascending case with an appropriate convex region. Similarly, in the descending case, we impose (13) over the second-half of the swing foot period.

2.5 Cost Function

2.5.1 Base local velocity tracking cost:

As with typical legged robots, the move command to Tachyon 3 is the base velocity command expressed in the base local coordinate frame. According to (6), the base velocity is expressed as a nonlinear function of xx and uu:

vb(x,u):=Ab(q)1(hcomAJ(q)vJ).v_{\rm b}(x,u):=A_{b}(q)^{-1}(h_{\rm com}-A_{J}(q)v_{J}). (14)

For given velocity command vrefv_{\rm ref}, we consider a nonlinear least-square cost term the residual of which is given by vb(x,u)vrefv_{\rm b}(x,u)-v_{\rm ref}.

2.5.2 State and control input tracking cost:

We also consider a quadratic state-input tracking cost to track xref(t)x_{\rm ref}(t) and uref(t)u_{\rm ref}(t). Suppose that time-varying reference base pose qb,ref(t)q_{\rm b,ref}(t) is provided by a higher-layer planner. Suppose also that the nominal joint positions are given by constant vector qJ,refq_{\rm J,ref}. The reference state is then given by

xref(t)=[qb,ref(t)TqJ,refT06×1T]T.x_{\rm ref}(t)=\begin{bmatrix}q_{\rm b,ref}(t)^{\rm T}&q_{\rm J,ref}^{\rm T}&0_{6\times 1}^{\rm T}\end{bmatrix}^{\rm T}. (15)

Each element of reference control input uref(t)u_{\rm ref}(t) is zero except for the zz-element of fif_{i} of stance foot ii; it is given by division of the total weight by the number of active contacts.

3 Implementation

Refer to caption
Figure 3: Control pipeline of Tachyon 3 including NMPC
Refer to caption
Figure 4: State trajectory refinement for time lag Δtlag\Delta t_{\rm lag}.

3.1 Numerical Optimization Solver

The OCP of Tachyon 3 presented so far has many terms that depend on contact flags. It is not easy to implement such problems efficiently using general-purpose nonlinear programming (NLP) solvers such as Ipopt (Wächter and Biegler (2006)), particularly to extract the problem-specific structure and warm-start strategy. On the other hand, OCS2 (Farshidian et al. (2017–2023)) is a promising open-source framework for such NMPC implementation and it has been utilized in NMPC for legged robots (Farshidian et al. (2017); Sleiman et al. (2021); Bjelonic et al. (2021, 2022); Grandia et al. (2023)). However, it is not suitable for embedded implementation as it deeply depends on Robot Operation Sysmte (ROS) and involves a large amount of runtime temporary memories.

To mitigate such issues, we have developed a numerical optimal control solver, which employs a similar numerical method and interface similar to that of OCS2 while avoiding the aforementioned technical issues. In our solver, the OCP is transcribed into a finite-dimensional NLP using the direct multiple shooting method (Bock and Plitt (1984)). It employs the structure-exploiting primal-dual interior point method (Nocedal and Wright (1999)) and Gauss-Newton Hessian approximation (Rawlings et al. (2017)) to solve the NLP. Equality constraints are handled using the projection method (Nocedal and Wright (1999); Farshidian et al. (2017)). The open-source structure-exploiting numerical solver HPIPM (Frison and Diehl (2020)) is used to compute the search-direction efficiently. Further, our solver can directly handle Lie-groups within the direct multiple shooting method in contrast to OCS2 that consistently depends on Euler-angles. To implement algorithms regarding robot kinematics and dynamics, we use the C++ open-source library Pinocchio (Carpentier et al. (2019)). In contrast to OCS2 which consistently uses automatic differentiation for kinematics and dynamics, we utilize the analytical derivatives provided by Pinocchio (Carpentier and Mansard (2018)) to reduce the redundant computations (e.g., frame Jacobians J(q)J(q) and body local velocity (14)). Pinocchio also enables us to handle Lie-groups directly in the numerical optimization. Thanks to the careful implementation and the efficient use of Pinocchio, our solver can improve the computation speed slightly over that of OCS2.

3.2 Real-Time NMPC

In the following experiments on NMPC, the OCP solver performed Newton-type iteration ones each sampling time as was the case with Diehl et al. (2005). We fixed the barrier parameter of the primal-dual interior point method to enable fast computation. We also used a soft constraint (Feller and Ebenbauer (2016)) for state-only inequality constraints with the fixed barrier and relaxation parameters to avoid numerical difficulties. We set the horizon length to 1.5 s. We set the discretization time step for direct multiple shooting to 0.015 s (i.e., there were around 100 discretization grids over the horizon).

3.3 Control Pipeline and Implementation Details

Fig. 3 shows the overall control pipeline. Tachyon 3 has two on-board PCs. One is a perception PC and the other is a control PC. The perception PC is used for environment perception based on exteroceptive sensors such as LiDAR. In particular, it extracts surfaces used in (13) in a way similar to Grandia et al. (2023) as well as obstacles. The control PC (CPU: Intel(R) Core(TM) i7-8850 H CPU @ 2.606 GHz) is used for motion planning and control based on the proprioceptive sensors and the environment information sent from the perception pipeline. The main thread (real-time thread) of the control PC runs at 1 kHz and includes the contact planner, CBF-QP, internal state integrator, and state estimator. For the state estimator, we used a variant of the extended Kalman filter (Hartley et al. (2020)). NMPC is implemented on another thread of the control PC. The NMPC thread asynchronously receives state and contact plans from the real-time thread and sends the optimal trajectory to the real-time thread. NMPC runs as fast as possible and we observed that it runs around 25 Hz.

The optimal state trajectory as well as the optimal control input trajectory are used to compute the desired acceleration. However, numerical optimization causes a non-negligible time-lag and therefore the predicted optimal state trajectory can have some error from the actual state. To compensate for the error from the actual state, after solving the NMPC optimization problem, we refined the optimal state trajectory based on the latest received state. This is achieved by integrating the state over the horizon using the state equation (6) with the latest received state and the optimal control input as shown in Fig. 4.

From the refined optimal trajectory, the positions, velocities, and accelerations of the base pose and feet are extracted for a given queried time. The acceleration commands are then computed by the sum of feedforward and feedback terms. For example, the acceleration command of the ii-th foot is given by

ai+Kp(pip¯i)+Kd(viv¯i)a_{i}+K_{p}(p_{i}-\bar{p}_{i})+K_{d}(v_{i}-\bar{v}_{i}) (16)

where pi,vi,ai3p_{i},v_{i},a_{i}\in\mathbb{R}^{3} are the position, velocity, and acceleration of the ii-th foot extracted from the optimal trajectory, p¯i,v¯i3\bar{p}_{i},\bar{v}_{i}\in\mathbb{R}^{3} are the current velocity and position of the ii-th foot retrieved from the internal state integrator, and Kp,Kd0K_{p},K_{d}\geq 0 are the position and velocity feedback gains. The acceleration commands are further filtered by the CBF-QP and the safe-filtered accelerations are then sent to the state integrator to update its internal state. The CBF-QP is of practical importance for a rigorous safety because the update rate of NMPC is limited.

Refer to caption
Figure 5: Time histories of target and actual joint positions measured in real robot experiment with the internal state integrator (left) and without it (right). The state integrator could successfully remove oscillation that appears in the case of the naive state feedback without using it.

The internal state integrator in Fig. 3 also plays an essential role for Tachyon 3, which employs high-gain joint position-controllers. As reported in Koenemann et al. (2015), NMPC for position-controlled robots with naive state feedback causes oscillation in the joint position commands due to the prediction error of NMPC, which is inevitable because the numerical optimization of NMPC has a non-negligible time lag. For this issue, in the same spirit as Kuindersma et al. (2016), we employ an internal state integrator module that updates the internal state of the robot by a combination of the output acceleration of the CBF-QP and the estimate of the actual state. With the state integrator, we can avoid oscillation in the resultant joint position commands while consistently feedback the actual state. This is in contrast to previous NMPC for a position controlled robot (Koenemann et al. (2015)) which does not use any actual state feedback.

We examined NMPC with and without the internal state integrator in real hardware. Fig. 5 shows the time histories of target and actual joint positions of the experiments. We can see the oscillation in target joint commands of NMPC using the naive state feedback without using the state integrator while NMPC using the state integrator resolved the issue. We believe that this framework enables the application of NMPC based on the full-kinematics not only to Tachyon 3 but also to other position-control-based robots.

4 Experiments

4.1 Settings

To demonstrate the effectiveness of the proposed NMPC framework, we conducted simulation and hardware experiments. We assumed realistic settings, that is, Tachyon 3 did not have any prior information regarding the environment and only relied on its on-board sensors. The proprioceptive sensor observations of Tachyon 3 were the joint positions from joint encoders, local base linear acceleration and angular velocity from the IMU. Also, the foot contact sensors and actuator current were used to detect foot contacts for the state estimation. The exteroceptive sensor observations were point coulds from a LiDAR. Throughout the experiments, we considered trot333We define trot as a walking pattern alternating [LF, RF, MR] feet contact and [MF, LR, RR] feet contact. gait. Note that our NMPC is not limited to a trot: it can realize a variety of gait patterns as long as the numerical optimization converges.

Refer to caption
(a) NMPC + CBF-QP
Refer to caption
(b) CBF-QP
Figure 6: Time histories of the step traversing simulations by the proposed NMPC and previous CBF-QP controller. vzv_{z} is the base local zz linear velocity, wyw_{y} is the base local angular velocity around yy axis. The MF foot clibmed up the step first and MR foot clibmed down from it last, which indicates the start and end of the step traverse.
Table 1: Comparison between the proposed NMPC and previous controller in the step traversing simulations.
NMPC + CBF-QP CBF-QP
Traverse time [s] 14 18
Average |vz||v_{z}| 0.021 0.055
Average |wy||w_{y}| 0.056 0.065

4.2 Simulation Comparison

We compared the proposed framework combining the NMPC and CBF-QP and the previous controller using only CBF-QP (Takasugi et al. (2023)) through simulations in which the robot traverses a 20 cm step by trotting. Both methods could successfully traverse the step with a trotting gait while producing in different performances. Fig. 6 shows the time histories of base local vzv_{z} (base local zz linear velocity), base local wyw_{y} (base local angular velocity around yy axis), and MF and MR feet heights. Velocities vzv_{z} and wyw_{y} are preferably small, but inevitably change along with the terrain. Table 1 summarizes the averages of |vz||v_{z}| and average |wy||w_{y}|. We can see that NMPC reduced the unnecessary body velocities vzv_{z} and wyw_{y} compared with the previous method. The table also shows that the proposed method achieved a faster traverse time than the previous controller.

Refer to caption
Figure 7: Time histories of the base linear velocity, joint positions, and feet heights of the hardware experiment. RF and RR legs behaved almost the same as LF and LR legs. The dotted gray lines show the joint position limits.
Refer to caption
Figure 8: Top row: Snapshots of Tachyon 3 ascending two steps in the hardware experiment. Bottom row: Perception results visualized on rviz corresponding to the upper snapshots. In the lower figures, the white dots show the accumulation point cloud and green and red boxes show the obstacles due to steps.
Refer to caption
Figure 9: CPU time of each NMPC update of the hardware experiment.

4.3 Hardware Experiments

In hardware experiment, Tachyon 3 went back and forth over two steps (ascending and descending 20 cm and 16.5 cm steps) via the proposed NMPC. Fig. 7 shows the time histories of base linear velocity, joint positions, and feet heights. From Fig. 7, we observe that the joint positions were close to the joint limit boundaries that are showed as dotted gray lines, which shows that Tachyon 3 required the severe motion generation close to constraint boundaries. Fig. 8 shows snapshots of the experiment. We can see that the feet have been moving close to collisions with the environment, which also shows that the motion is close to constraint boundaries. We also observed oscillation of the steps themselves which worked as a disturbance. Nevertheless, the proposed NMPC could successfully traverse these steps with the online optimization subject to the physical and environmental constraints retrieved from on-the-fly perception. Fig. 9 shows the CPU time of each NMPC update and we can see that the proposed NMPC run up to 25 Hz on the on-board PC.

5 Conclusion

In this paper, we have presented an NMPC framework toward versatile motion generation for telescopic-wheeled-legged robot Tachyon 3, the unique hardware structure of which poses challenges in control and motion planning. We have applied the full-centroidal NMPC formulation that can capture accurate kinematics constraints and dynamics of Tachyon 3 with a moderate computational time. We have developed control pipelines using the internal state integrator to apply the NMPC to Tachyon 3, the actuators of which employ high-gain position-controllers. We conducted simulation and hardware experiments on the perceptive locomotion of Tachyon 3 over structured terrains. The simulation study showed that the proposed NMPC performs better than our previous controller. The hardware experiment demonstrated that the proposed method can generate smooth and dynamic motion under harsh physical and environmental constraints in the real world.

Our future work is to explore the capabilities of the proposed NMPC in a wider variety of settings, such as narrow spaces, cluttered environments, and curved surfaces.

References

  • Bjelonic et al. (2022) Bjelonic, M., Grandia, R., Geilinger, M., Harley, O., Medeiros, V.S., Pajovic, V., Jelavic, E., Coros, S., and Hutter, M. (2022). Offline motion libraries and online mpc for advanced mobility skills. The International Journal of Robotics Research, 41(9-10), 903–924.
  • Bjelonic et al. (2021) Bjelonic, M., Grandia, R., Harley, O., Galliard, C., Zimmermann, S., and Hutter, M. (2021). Whole-body MPC and online gait sequence generation for wheeled-legged robots. In 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 8388–8395. IEEE.
  • Bock and Plitt (1984) Bock, H.G. and Plitt, K.J. (1984). A multiple shooting algorithm for direct solution of optimal control problems. IFAC Proceedings Volumes, 17(2), 1603–1608.
  • Carpentier and Mansard (2018) Carpentier, J. and Mansard, N. (2018). Analytical derivatives of rigid body dynamics algorithms. In Robotics: Science and systems (RSS 2018).
  • Carpentier et al. (2019) Carpentier, J., Saurel, G., Buondonno, G., Mirabel, J., Lamiraux, F., Stasse, O., and Mansard, N. (2019). The Pinocchio C++ library: A fast and flexible implementation of rigid body dynamics algorithms and their analytical derivatives. In 2019 IEEE/SICE International Symposium on System Integration (SII), 614–619. IEEE.
  • Di Carlo et al. (2018) Di Carlo, J., Wensing, P.M., Katz, B., Bledt, G., and Kim, S. (2018). Dynamic locomotion in the MIT Cheetah 3 through convex model-predictive control. In 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 1–9. IEEE.
  • Diehl et al. (2005) Diehl, M., Bock, H.G., and Schlöder, J.P. (2005). A real-time iteration scheme for nonlinear optimization in optimal feedback control. SIAM Journal on control and optimization, 43(5), 1714–1736.
  • Farshidian et al. (2017) Farshidian, F., Neunert, M., Winkler, A.W., Rey, G., and Buchli, J. (2017). An efficient optimal planning and control framework for quadrupedal locomotion. In 2017 IEEE International Conference on Robotics and Automation (ICRA), 93–100. IEEE.
  • Farshidian et al. (2017–2023) Farshidian, F. et al. (2017–2023). OCS2: An open source library for optimal control of switched systems. [Online]. Available: https://github.com/leggedrobotics/ocs2.
  • Feller and Ebenbauer (2016) Feller, C. and Ebenbauer, C. (2016). Relaxed logarithmic barrier function based model predictive control of linear systems. IEEE Transactions on Automatic Control, 62(3), 1223–1238.
  • Frison and Diehl (2020) Frison, G. and Diehl, M. (2020). HPIPM: a high-performance quadratic programming framework for model predictive control. IFAC-PapersOnLine, 53(2), 6563–6569.
  • Grandia et al. (2023) Grandia, R., Jenelten, F., Yang, S., Farshidian, F., and Hutter, M. (2023). Perceptive locomotion through nonlinear model-predictive control. IEEE Transactions on Robotics.
  • Hartley et al. (2020) Hartley, R., Ghaffari, M., Eustice, R.M., and Grizzle, J.W. (2020). Contact-aided invariant extended kalman filtering for robot state estimation. The International Journal of Robotics Research, 39(4), 402–430.
  • Kajita et al. (2003) Kajita, S., Kanehiro, F., Kaneko, K., Fujiwara, K., Harada, K., Yokoi, K., and Hirukawa, H. (2003). Biped walking pattern generation by using preview control of zero-moment point. In 2003 IEEE International Conference on Robotics and Automation, 1620–1626. IEEE.
  • Katayama and Ohtsuka (2022) Katayama, S. and Ohtsuka, T. (2022). Whole-body model predictive control with rigid contacts via online switching time optimization. In 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 8858–8865. IEEE.
  • Koenemann et al. (2015) Koenemann, J., Del Prete, A., Tassa, Y., Todorov, E., Stasse, O., Bennewitz, M., and Mansard, N. (2015). Whole-body model-predictive control applied to the hrp-2 humanoid. In 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 3346–3351. IEEE.
  • Kuindersma et al. (2016) Kuindersma, S., Deits, R., Fallon, M., Valenzuela, A., Dai, H., Permenter, F., Koolen, T., Marion, P., and Tedrake, R. (2016). Optimization-based locomotion planning, estimation, and control design for the atlas humanoid robot. Autonomous robots, 40, 429–455.
  • Mastalli et al. (2022) Mastalli, C., Merkt, W., Xin, G., Shim, J., Mistry, M., Havoutis, I., and Vijayakumar, S. (2022). Agile maneuvers in legged robots: A predictive control approach. arXiv preprint arXiv:2203.07554.
  • Nocedal and Wright (1999) Nocedal, J. and Wright, S.J. (1999). Numerical optimization. Springer.
  • Orin et al. (2013) Orin, D.E., Goswami, A., and Lee, S.H. (2013). Centroidal dynamics of a humanoid robot. Autonomous Robots, 35, 161–176.
  • Rawlings et al. (2017) Rawlings, J.B., Mayne, D.Q., and Diehl, M.M. (2017). Model predictive control: Theory, computation, and design.
  • Sleiman et al. (2021) Sleiman, J.P., Farshidian, F., Minniti, M.V., and Hutter, M. (2021). A unified MPC framework for whole-body dynamic locomotion and manipulation. IEEE Robotics and Automation Letters, 6(3), 4688–4695.
  • Takasugi et al. (2023) Takasugi, N., Kinoshita, M., Kamikawa, Y., Tsuzaki, R., Sakamoto, A., Kai, T., and Kawanami, Y. (2023). Real-time perceptive motion control using control barrier functions with analytical smoothing for six-wheeled-telescopic-legged robot Tachyon 3. arXiv preprint arXiv:2310.11792.
  • Wächter and Biegler (2006) Wächter, A. and Biegler, L.T. (2006). On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. Mathematical programming, 106, 25–57.