Demonstration

To demonstrate the actuation system, we developed a swing robot as shown below.

Overview

People swing by moving their body forwards and backwards. We swing by moving our legs at the right time. We made the robot that reproduces that motion.

The robot consists of an arm unit and a body unit. The arm unit connects a fixed joint with bearing (it is referred to as free joint). The body unit connects to the arm unit with a bearing (it is referred to as powered joint). We can control the powered joint with two McKibben actuators. The robot swings by a control powered joint at the right time.

The McKibben actuator and pump are in the arm unit. Electric parts are in the body unit. Almost all of the frame parts are made by machining (Download .step file).

Goal

The swinging robot needs instantaneous large force when it bends the powered joint. Because of this, the actuator has to be strong enough. The goal of this demonstration is to show that the joint controlled by the actuation system is quick and elastic enough.

all

Arm unit

Body unit

Weight Balance Simulation

To make the robot we considered the opposite ratio of body unit weight to the total weight with simulations. We use VisualC++ and ODE (Open Dynamics Engine). The program control powered joint so as to be bent 60 degrees when the robot is just below free joint, to be straight when the robot is at maximum amplitude of a swing.

simulation model

We considered the time of gain in swing amplitude from 20 degrees to 60 degrees.

Below is the result of the simulation. Red graph shows acceleration.

The graph below shows the result of the simulation.

simulation graph

The design guidelines that weight radio should be about 40-60%.

The actual arm unit: length 285mm, weight 1.08kg
The actual body unit: length 183mm, weight 0.66kg
--> The actual ratio: 38%

Powered Joint Operation Unit

To operate the powered joint, two McKibben actuators pull a timing belt that fits the powered joint with timing pulley. We put the sensor that measures the angle of the powered joint. Detected angles are fed back to the McKibben control.
The picture below shows the simplified arm unit. A left bearing hole is connected to the free joint. The right shaft is connected to the powered joint.

around mckibben

Belt Tensioner

Since two McKibben actuators are connected to one pump, the sum of the volume of fluid in two Mckibben actuators is constant. This means that the sum of the length of two Mckibben actuators is not constant because Mckibben actuators do not contract linearly. To avoid timing belt from coming off the timing pulley, we made belt tensioners using springs.

Electronic Circuit

The main controller is AVR ATmega168P, which has 16KB program ROM, 512B SRAM, and 22 GPIOs. And it is operated at 8MHz. The team also used mcp3208 (AD converter) and NJU3711D (IO expander).

The main board has interfaces to acceleration, angle, hydraulic pressure sensors and the motor driver.

electrical circuit

To acquire the status of the robot, we use LSM303D which can acquire the value of acceleration up to 16g. To drive the pump, we used the dual VNH2SP30 motor driver carrier MD03A, which can drive up to 30A. For the power supply, we used two 7.2V 1300mAh lithium polymer batteries.

main board and motor driver

Main board and motor driver

angle sensor

Angle sensor and acceleration sensor

 

XBee wifi

XBee WiFi: to connect a PC wirelessly

battery

Battery

hydraulic pressure sensor

Pressure sensor:  MPX5700GP (up to 700kPa)