Jumping Leg

Keywords: Simulation to Real, Control System, EtherCAT, Locomotion Control, Webots

Tutor: Prof. Patrick M. Wensing (University of Notre Dame, IN)

Members: Shenggao Li, Chunchu Zhu

Brief: I and my companion, Chunchu Zhu, built a simulation model on Webots platform to test the controller before we deploy it on the real robot (which was built on Arduino by other students before). We immediately touch the limitation of Arduino. Therefore, we rebuilt part of the electronic system and deployed the controller on the real robot with the FRDM-K66F as the main control board. The robot doesn't achieve our expectation and the simulation result because the motor is much weaker than we expected. Fortunately, we made the robot jump several steps before the motor burning under the overload voltage.

Videos, presentation slides and a brief version of final report are available below.

Video

Presentation

JumpingLeg FinalPre.pdf


Report

Introduction

In this project we're asked to modify the embedded control of a hopping leg robot. There is a one-leg hopping robot in the lab. It is driven by two brushed DC motors and is restricted to 2D motion via linear bearings. There was a simulator built in Matlab where the robot can hop around under height and speed control, but the real-time control for the robot is not yet capable to realize these behaviors.

The specific aims of this project are:

  1. Rebuilt and perfect a simulator with high efficiency controller in Webots;
  2. High-performance control on FRDM K66F board;
  3. EtherCAT communication between Linux and leg;
  4. Robot jumping on the treadmill.

Simulator

The reason why we want to rebuild a simulator in Webots is that the simulation in Matlab is basically based on calculation, mainly Lagrange, and the result is just animation. So it is hard to confirm its reliability. Also in the Matlab simulator, the simulation and controller are deeply coupled, we’re unable to adjust the controller. Despite the low calculating speed, it is hard to edit parameters since the model is not intuitive.

Figure 1. Matlab Simulator

In order to avoid these problems, we rebuilt a simulator in Webots which is almost the same as the real robot.

Webots is a robot simulator that provides a complete development environment to model, program and simulate robots. Thousands of institutions worldwide use it for R&D and teaching. It is the most efficient solution to quickly get professional results.

Figure 2. Webots Simulator

Motor Behavior

Through the analysis of the Torque-Speed graph, we got that the best gear ratio for hip and knee joint are 50:1 and 70:1. Under that situation, the motor should work in a reasonable RMS-current value. However the robot has 19:1 GR on both joints, we had to increase the maximum voltage at the risk of burning out our motors to get more torque.

Torque-Speed Distribution

from simulation, Gear Ratio: 50:1(hip) / 70:1(knee)

Jumping Speed, Knee Motor Current and RMS Current

from simulation, 70 gear ratio

Control Method

Figure 3. CURRENT PI CONTROLLER

Figure 4. PID POSITION CONTROLLER

Figure 5. WHOLE CONTROL FLOW

Hardware

Figure 6. HARDWARE CONNECTION

EtherCAT

EtherCAT is a open real-time Ethernet network for automation applications requiring short data update times with low communication jitter and reduced hardware costs. The SOEM is a library that provides the user application with the means to send and receive EtherCAT frames.

In this project we use SOEM to communicate with the jumping leg. It is up to the application to provide means for:

  • Reading and writing process data to be sent/received by SOEM
  • Keeping local IO data synchronised with the global IOmap
  • Detecting errors reported by SOEM
  • Managing errors reported by SOEM
  • Use the real-time data over EtherCAT to improve the simulation model and/or the fidelity of low-level motor current control.