Dancing Chinese Lion
If you want to see traditional Lion Dancing then check out this video: https://www.youtube.com/watch?v=SGQq9o0jSpU
I've been asked to convert a traditional Chinese Lion costume into a robot for display at conventions, trade shows etc. As it will travel a lot and must be able to run all day the robot needs to be simple, reliable and easy to fix on the road.
First we went to a factory that makes the costumes. The head is very light weight despite it's huge size thanks to a frame made of bamboo strips and paper. A lever inside is used to make the eyelids and ears to move.
The costume is normally worn by two men so it is quite large. I put together an aluminium frame to support the lion. I'm not following any plans so it is a work in progress. At the base of the frame is a large 24V DC motor that drives a cam shaft to make the lion rear up. At it's full height the robot hits the ceiling.
In this photo the frame is not complete and using vice grips to hold some aluminium angle in place. I am just checking how big the costume is so I can work out the dimensions of the frame.
So far the frame seems to be the right size. I'm waiting for some ball joints to arrive and then I can get the lifting motor connected.The motor I'm using is just a 6.5A, 24V DC brushed motor. It is a low speed, high torque motor with a 50:1 worm drive gearbox.
I use some small magnets and a magnetic rotary encoder to monitor the position of the shaft. With some simple feed back code this motor and sensor works like a huge servo. The sensor is an I2C sensor with 14bit resolution. We use these sensor a fair big on our bigger projects.
As the motors torque is very high I am using a cam system. This way if there is a fault in the code then the motor can just spin freely. The worse that can happen is the lion keeps jumping up and down.
Today I've mounted the rotary magnetic encoder. I started by hotgluing the magnets on the shaft. They already stick to the stell shaft very well but I wanted to make sure that they did not move due to vibration. Hot glue is not the best adheasive but should be good enough for this purpose.
Next I got some fiberglass sheet and made a simple mounting plate for the sensor. As the sensor is very small and light weight I also used hot glue for this job. I've also put some hotglue around the wires to provide basic strain relief.
The sensor bracket then fits neatly in the threaded mounting holes on the gearbox. If your trying to get the full 14bit resolution from this sensor then it really needs to be precisely aligned with the axis of the shaft but for my project an accuracy of 1° is enough so it does not matter if the sensor is off center by a small amount.
I finished the main frame today. When I added the waist linkages it worked perfectly but I suspected it was not strong enough. I am using a parallelogram design so that the head will stay level as the body raises up and down. To allow the body to bend left and right I needed to create a swivel joint. This joint keeps the head level regardless of the angle of the body, left / right / up or down. The joints worked perfectly until I added the head.
As suspected, the joints bent under the addional weight of the head. If you look carefully in the photo below you can see a slight bend in the joints.
The head is not that heavy by itself but once you add a simple aluminium frame with a motor to drive the eyelids and ears it adds up. Tomorrow I will remake the joints using 12mm high tensile steel bolts instead of 8mm soft steel. This will increase the cross-sectional area by 225% and the harder steel won't bend as easily.
I spent half the day buying parts and still forgot some springs to counter the weight. I don't want to use counterweights because it is more momentum that the mecanism must fight against if the robot is moving quickly.
I did manage to get the new joints made but only got one good photo before the battery in my phone died :(
The joint is a block of Aluminium 40mm x 40mm x 60mm. The 8mm mild steel bolts have been replaced with 12mm hardened steel threaded bar. An aluminium sleeve over the bar acts as a spacer, it doesn not add to the strength.
Now I have the basic frame made I need to add a few more motors to get it all moving. Hopefully I will have some video soon.
I mounted the motor for swaying left and right. It works for now but needs some adjustment to get a wider range of movement. I also added a wider brace at the base so it would not fall over sideways. I reduced the range of movement up and down a bit because the head frame was trying to punch a hole in the floor.
The video shows the first test. No processor, just motors connected to a 24V battery trying to tear the frame apart. overall i'm happy with the results so far. I need to add a few springs to counter the weight and a cross brace to stop the frame twisting but over all it's looking good. I still need to mount a motor for turning the head left and right.
I wasn't happy with the motor used for the waste joint so I changed it for another motor like the one I used to raise and lower the body.This motor is slower and has a higher torque.
I've now mounted the head using hose clamps. I need to get some larger ones for the motor. As you can see in the photo the elastic cord that operates the eyelids and ears is tied to a 10mm diameter shaft fitted directly to the motor (no gearbox). A blob of hot glue stops the knot from coming undone. When power is applied the cord wraps around the shaft to close the eyelids and move the ears forward. When there is no power to the motor, spring tension in the elastic cord spins the motor backwards and unwraps the cord.
Click on the photo below for a higher resolution image.
I have not bothered with any limit switches now. The controller just needs to apply power for about 1 second to activate the motor. If I want to hold the eyelids closed then I can just reduce the PWM a bit so the motor does not get too hot. Ramping the PWM up and down can be used to control the speed. Since I only need to control the motor in one direction a single power FET driven by a PWM output is all that is needed.
Unfortunately I made my original frame too long. When I went to put the costume back on it did not fit. So I had to cut it back a bit. This is actually a good thing as now there is less strain on the motors and joints.