Tag Archives: babelbots

Climberbots II – work in progress

 vlcsnap-2013-09-10-20h41m40s239 So, here we are again, with Climberbot II.

Last version was made out of recycled scrap and household stuff. And it worked, partially. But the tracks were not good enough for further development. I wanted a more reliable track. Time for Pololu’s 22T Track set and to migrate the design to a more interesting hardware.

vlcsnap-2013-09-10-20h41m55s109

This is the BOM of the prototype:

  • microcontroller board: ATmega328p (Arduino Pro Micro clone). $4.00 (shipped, if buying 2 units)
  • IMU board: MPU6050 (GY-521) $2.80 (shipped)
  • motors: 2x N20 micro motors, 1:150 reduction metal gearbox (many sellers: Pololu, Solarbotics, chinese traders, etc.) $4 to $15 each (shipped)
  • motor controller board: Pololu DRV8833 dual driver carrier $7.00 (+ shipping)
  • 2x 14500 li ion 700mAh rechargeable batteries (1S2P), $3.00 each (price shipped, if buying 10 units)
  • Pololu 22T track set $12.00 (+ shipping)
  • 4x TCRT5000 IR proximity sensors $0.20 each (shipped, buying 10 units)

Total aprox. $45.00, prices may vary depending on destination country and seller. Plus custom conection plates inbetween them, and a custom handmade aluminium chassis.

The result is less “frankesteinish” than the previous version, but still a working prototype.

vlcsnap-2013-09-10-20h42m04s234The code had to be updated, tweaked and calibrated for the new motors an geometry. The initial just “climb towards slope if you are on a slope” behaviour of previous version was changed in this test to :

– climb towards slope if you are on a slope

– if you are on an horizontal surface, if it is black: then keep going straight; if it is white then stop

In the first seconds the robot expects to be on a white flat surface, to calibrate the sensors.

This simple set of rules allows, within a proper black playground with a white mountain, that the robot eventually gets to the mountain, climbs it up, reaches the top and stays there.

You can see the test results in this video.

And now the conclusions extracted from the test, most of them deducted beforehand as they are quite obvious:

– It needs a very good grip, silicone rubber tracks on cloth surface works fine, but may be improved (rubber on glass is excellent, but reflects IR light). Just one note: one has to ensure the black cloth is black for the IR sensors, and the white cloth is white for them. IR spectrum reflection/abortion is different from visible light.

– geometry: in order to be able to climb each other the width / height proportion has to be at least 4, so that the centre of mass of the one climbing surpasses the edge of the other one.

– behaviour: it would be nice to add a “avoid black slopes” rule, so that they turn back at an arbitrary angle once the reach a black wall.

– sensors: it could have a pair on each side to detect cliffs at the sides.

center_of_mass

In the meanwhile I’ve been making a lot of 3D sketchup prototyping, with ideas as: put the batteries inside the wheels (1/3 AA batteries); make the wheels along all the whole front/back (but not the tracks, like the Flintstones’ cars, so that it doesn’t get stuck on the edges of the mountain); put the motors between the wheels, under the tracks, etc.

climberbot_evolution

This is the last 3D version so far:

climberbot_views2 climberbot_inside_01 climberbot_assemblyclimberbot_board_assembly

I’ve made a cardboard mockup of the last 3D version to test the size and the components fittings, like the sandwich board that connects all the other boards or the four 350mAh 10440 li-ion batteries (1S4P).

20130910_193210 20130910_193341 20130910_193415 20130910_193549 20130910_193719

Flattr this!

“Moonwalker III” robot simulation with Sketchyphysics

We are giving Sketchup a try, as it is free and will work on Mey’s OSX and my Lunix (via wine and some tweaking).

We called one of the robot models/alternatives in process of development “Moonwalker III”, as it will use bristles on its legs to slide like Michael’s famous movement.

This is an animation of the basic model with Sketchyphysics simulation:

Flattr this!

Evaluating 3D modeling software alternatives

FreeCAD screenshot
FreeCAD screenshot

Mey and I are considering several software alternatives that allow us to make the prototypes and send them to be 3D printed.

The ideal would be that we could use the same software on our different platforms. Mey is using OSX and I’m using Ubuntu GNU/Linux.

So far my favorite choice is FreeCAD, for several reasons. One, of course, is because it is free, with no restrictions or paid extra features. Another one is because I got used to SolidWorks at the University, and FreeCAD learning curve is less steep for me than, for example, OpenSCAD.

Flattr this!

Programming strategies

Neural Network
http://en.wikipedia.org/wiki/File:Neural_network_example.svg

As the author of the world first computer generated sculpture Robert Mallary said back in the 70’s:

Cyberneticians generally make a distinction between artificial intelligence, in which a computer is programmed to perform logical or perceptual operations in the manner it can best perform them using its own natural machine “language,” and simulated intelligence, in which the programmer uses the computer to imitate the ways he believes these operations take place inside The human head.

In this sense, we are also thinking in two different strategies to deal with our robots’ behavior:

a) “Artificial intelligence”: design a neural network model with inputs (sensor data) and outputs (motor signals) and use simulated data to train the network and reach the goals, with the help of the available tools (Neuroduino, ArduinoANN, FANNtool). An interesting example of this strategy is the neural network controlled RC car.

or

b) “Simullated intelligence”: this is the usual way – to design a set of states and transition paths between them, and program those on the specific hardware. There are also several tools that help designing state transition diagram, most time using the Unified Modelling Language (https://www.draw.io/http://projects.gnome.org/dia/, http://wwwhome.cs.utwente.nl/~tcm/)

Flattr this!