• Tidak ada hasil yang ditemukan

Global Position Control on Cassie

EXTENSION ⊃ GLOBAL POSITION CONTROL

9.3 Global Position Control on Cassie

In this section, we present the application of the H-LIP based synthesis to control the global position of Cassie. Similar to the application on the aSLIP, we apply the MPC with H-LIP based stepping for GPC. Since Cassie is a complex 3D underactuated robot, practical considerations are needed on generating the behavior on Cassie. We

illustrate the modification on the output construction for GPC, and finally present the results and the analysis of this approach.

GPC on Cassie

The walking synthesis frame is identical to that in Chapter 7 with some exceptions:

the nominal step sizes are calculated from the MPC, the desired step sizes are calculated via Eq. (9.4), and turning should be enabled to let the robot walk to the direction of the desired global trajectory. With turning, the robot can ‘face’ towards the direction of walking for observing and planning the path using its sensors if necessary. Moreover, the robot typically has different ranges of motion in its sagittal and lateral planes. With turning, the robot can flexibly align its plane with a larger range of motion to the direction of walking. Thus we want the pelvis angle to be 𝜙yaw → 𝑟𝑑

𝜃(𝑡) by defining the desired yaw angle of the pelvis in the output construction as

𝜙des

yaw =𝑟𝑑

𝜃(𝑡). (9.15)

The desired pitch and roll angles of the pelvis are still set to 0. The desired yaw angle of the swing foot is constructed as

𝜓des

yaw(𝑡) = (1− B(𝑡))𝜓+

yaw+ B(𝑡)𝑟𝑑

𝜃(𝑡), (9.16)

where𝜓+

yawis the yaw angle of the swing foot in the beginning of the SSP. The rest of the output construction is identical to those in Chapter 7. Both direct and indirect approaches can be applied.

Results

To evaluate the GPC on Cassie, we designed various shapes of paths, including a circle, a cardioid, a square, and a sinusoid. Trapezoidal speed profiles are de- signed for tracking the cardioid, the circle, and the sinusoid path. A triangle speed profile is used on the square path. For the experimental results, we con- sider the square path. This will be further discussed after describing the simu- lation results. A video of the simulation and experiment results can be seen in https://youtu.be/06efo-U1mrw.

Tracking Results: Using the proposed approach, the robot can track all global tra- jectories well in terms of the position and velocity profiles (Fig. 9.4). The circle and cardioid can be tracked easily even with relatively large speeds. The sinusoid and square paths are designed as challenging examples. On the sinusoid, the robot walks and turns significantly. While on the square, the path is not smooth, and

-4 -2 0

𝑣 𝑣

0 20 40

-2 0 2

0 50 100

-0.4 -0.2 0 0.2 0.4

𝑘

(a1) (a2)

(a3) (a5)

(a4)

(b1)

(b2-3) (b4) (b5)

Figure 9.4: Simulation results (Red lines are the desired, blue lines are the planned trajectories of the H-LIP, and green lines are the actual trajectories of Cassie): Track- ing a circle path (a) and a sinusoidal path (b) in terms of the global position/velocity trajectories (2,3) and the step sizes in the different planes (4, 5).

thus the robot has to come to a stop and turn. More dynamical maneuvers, such as sharp turning with high speeds, are challenging to realize on the robot considering the existence of the kinematic limits, torque bounds, and spring underactuation.

Undoubtedly, the tracking can fail when the required walking and turning speeds are too large simultaneously, e.g., over 1m/s and 45deg/s. The failure often happens when the step sizes are too large for the robot to track due to limited motor torques.

This can be easily avoided by setting limits on the allowed forward and turning velocities.

Obstacle Avoidance:The given path should be obstacle-free. In the case of existing obstacles on the path, we can avoid obstacles by adding constraints in the MPC formulation, e.g., in the form of | [𝑐𝑥(𝑡), 𝑐𝑦(𝑡)]𝑇cobstacle| > 𝑑, withcobstaclebeing

(e1) (e2)

(e3) (e4)

Figure 9.5: The simulated walking with (a) avoiding an obstacle on the path and (b) disturbance rejection. Cassie follows the square path in simulation (e1) and in experiment (e2). The pelvis global positions (e3) and heading velocities (e4) from simulation (dashed) and the experiment (solid).

the position of the obstacle and𝑑being a minimum distance between the robot and the obstacle. This changes the MPC from a QP into a quadratic constrained QP, which is also fast to solve on the low dimensional dynamics of the H-LIP. Fig. 9.5 shows an example of avoiding an obstacle while tracking a sinusoidal path.

Disturbance Rejection:The step planning approach can also handle unknown exter- nal disturbances on the robot during walking. Fig. 9.5 (b) shows an example where an external lateral force of 200N is added on the pelvis at𝑡 =10s for 0.1s duration.

The robot was pushed away from the path but then walked back to its original path.

Experiment:The tracking for a square path was implemented on Cassie as a prelim- inary experiment to demonstrate that the generated motion from simulation using this approach is dynamically achievable on hardware. Due to the missing of sensors to detect the robot location globally, we have not yet implemented the closed-loop controller as being presented here on the hardware. Instead, as a proof-of-concept, we use the simulated walking velocities and turning rates of the robot as targets, which were tracked on the robot with another controller in [105]. The robot ulti- mately followed the desired walking profiles on hardware, with a comparison of the positions and velocities of the experiment and simulation shown in Fig. 9.5. As the robot is tracking the commanded velocities, there is a slight drift in the position and heading as it executes the later segments of the shape. Note that this experiment was conducted before the implementation of the controller in Chapter 8. In the future, we will faithfully realize the proposed GPC on the hardware using the H-LIP based direct synthesis by incorporating global sensing.

C h a p t e r 10