Saturday, March 9, 2019

Centi (#3) - The next iteration of design

Centipede!
The bio-inspired multi-leg walking robot!

It seemed that the main sprocket is capable of turning the chopstick legs, and the ball & socket were going to work.  This is the working theory, i will not be able to test a load on them until much later in the development.

The next iteration of the design of the motion mechanism was to start to incorporate a gear into the drive in order to turn the sprocket.  I did a number of changes in the CAD design.  I increased the size of the frame (height) and added M3 holes on the sides.  I updated the socket top to take recycled torx screws from a printer. 

Centipede next iteration of design

For the main design, I have added a 22x7mm skateboard bearing (red) to take the load of the leg (also red) and provide rotation. I extended the cam shaft to hold a gear.  Most important, I designed two gears, one to turn the sprocket, and the other to drive that cam gear.


Close up

The new print has noted improvements. Also, a number of issues that will have to be tweaked in the next iteration

Full View, new iteration on the left, original prototype on the right. 
 Together, the assembly will start to look like 1/3 of the walking mechanism.



Sunday, March 3, 2019

Centi (#2) - A Bio-Inspired Centipede Robot

Centipede!



a little more drafting of ideas around the mechanism.  

Draft of the first test
I drafted out a simple test mechanism to see how well the ball rotating in the ball mount would work with the circular motion of a wheel.  Also, the end of the leg would have to fit inside this wheel as well.

Print of the "minimal viable test"

building the Wild Weasel helped me understand how the bearing and gears could be used to transmit the mechanical energy and absorb the weight of the robot.  I think I will mount the main "sprocket" with a bearing.  After all, the weight of the robot will be directly on this wheel. 

In addition, I will need to add some teeth to the sprocket so that it can be turned with a motor. Finally, it is not too soon to start thinking about how this could be made into a modular component where it can be attached to other legs in the Centipede!

Saturday, March 2, 2019

Wild Weasel - tracked robot (#2)


The first build of the Wild Weasel tracked robot seems to be working well.


Wild Weasel Tracks - in Robot configuration
Here is a video from back in early build, where I first tested out the track.  The track is using two white gears that are from the recycled printer. I went on to recreate these and printing a duplicate set for the second track.  This involved counting the teeth and height and angle of the gears.  Here is a video from my YouTube channel:



As you can see from the video, it is very energetic with 12v of "shore" (mains plug) power. It was running all around my desk, especially as it had no frame besides for the track unit itself - as designed!! ;)

I have since added the Chassis frame consisting of modular units:  a battery bay, a controller bay, and the initial sensor platform.  The robot is fitted out with a tallent cell 12v/5v battery, Raspberry Pi, L298N motor driver, Logitech 920C camera, and USB speakers.



If you would like to drive the robot remotely...  !!  go to LetsRobot.tv and it might be available.  I try to put it online using my TotallyNotEvilRobotArmy stream on LetsRobot.tv.  You can find it here:  TNE-RobotArmy WildWeasel

LetsRobot.tv controls for Wild Weasel (type in chat to speak

Ready to go!
Wild Weasel in LetsRobot Configuration (with lance!)
Learnings and Next Steps:

After some time spent with users operating the Wild Weasel on LetsRobot.tv, there are some learnings. LR is a great way to test out design, the robot gets a lot of (sometimes hard) use.  

  • My clever design for locking the module connections does not work.  the 3D printed pin and loops shear off under force. a better solution is to use metal nails perhaps.
  • One of the motor stalls much earlier than the other. This may be due to low power from the battery. I will test this further.  The impact is that the robot will not drive straight
  • The MQTT client is reading duplicate values sent from the streaming site. I will update the code to ignore long strings of the same command.
  • Need a better override at the MQTT level. perhaps a second command channel that will allow me to flush the stream from the other channels.


Anti-Collision detection
Most important, I will be adding an Anti-collision code to the motor controller. I will be using an HC-SR04 ultrasonic distance sensor to determine if the robot is against a wall or other object. I believe the best interface will be just to ignore commands that would try to continue to drive into the obstacle.  more details on this to come.