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
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:
- Rebuilt and perfect a simulator with high efficiency controller in Webots;
- High-performance control on FRDM K66F board;
- EtherCAT communication between Linux and leg;
- 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 ratioControl 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.