K'nexabeast
Update: I’ve had a nice breakthrough in the leg mechanisms for K’nexabeast. The motion is now much stronger and closer to Jansen’s ideal curve.
Overview: K’nexabeast is my effort to join in all the fun people are having building Theo Jansen style robots. With the exception of the electronics and servos it is built entirely from K’nex. Hats off to Gareth and Rik and all the others who have blazed the Jansen trail ahead of me. As always I appreciate the fine work and everyone’s willingness to share.
Since originally posting about K’nexabeast a few weeks ago, I’ve been working almost exclusively on improving the mechanics and overall construction of the body. The process got a little intense. I was able to do a little bit of “what if” design using graphics on my PC, and I setup a test rig to play with sample legs. But of course the only way to fully test an idea was to put the new design on the robot and give it a spin. This meant a lot of disassembly and reassembly!
The main fix was accomplished by raising the crank. (see pictures below) In the original design the center point of the crank was even with the pivot point in the leg mechanism, and the two connecting rods were the same length. The result of this design was a gait that was virtually flat. The leg was just barely lifting during the swing phase and was even dragging at times. When I raised the crank I was able to have connecting rods of different lengths which ultimately allowed for a significantly improved gait with a higher swing. The Beast can even handle a medium-pile carpet now.
I’m using two GWS S35 continuous rotation servos set up as a differential drive – K’nexabeast can go forwards, backwards, left and right. I had started using K’nex motors that I hacked and wired through an H-bridge, but that approach was a complete failure as the motors didn’t have anywhere near the torque I needed. Earlier I had been planning to try some different servos or regular geared motors, but one of the results of the improved legs and of tightening up the body has been that the servos have actually been performing better. For now I’m letting the S35s ride.
The setup with the PICAXE 20X2 and Sharp GP2Y0A21YK is largely unchanged. I added more steps to the sensor sweep. Before I was taking 5 readings, now I’m taking readings at a total of 14 positions – 7 in one direction at about horizontal and then 7 more on the way back angled slightly lower. The 14 positions translate to 42 sensor readings because in an effort to reduce false positives I’m taking three readings at each position and tossing out the high and low. Thanks are due to “noise0” who noticed that I could take readings more quickly – that was a good suggestion.
There will be more sensors soon. I have a couple of ultrasonic rangers on order and I’ve been working on some homebrew IR units. I haven’t ordered yet, but I’m likely to bump up to a PICAXE 40X2 before long. In addition to needing the I/O, I’m going to start work soon on a navigation system that goes a little beyond wander and avoid, and does some type of optimization and goal seeking so I'll want the additional memory.
Thanks again to folks who posted earlier comments and suggestions.
Obstacle avoidance via Sharp IR
- Actuators / output devices: 2 x GWS S35 Continuous Rotation Servos, 2 x Tower Pro SG-90 Servos
- Control method: autonomous
- CPU: Picaxe 20x2
- Power source: 4xAA niMH, 4xAAA NiMH
- Programming language: Basic
- Sensors / input devices: Sharp IR
- Target environment: indoor