Elton Is Coming

Hello LMR!

This is my current robot project. It's a continuation of my build style, which boils down to this: put more on the next robot, but make it all smaller! This is my second robot that includes a Raspberry Pi. I enjoy the flexibility and power of having a Pi at the wheel, so to speak.

I have recently been looking into neural networks, machine learning and computer vision, and I'm excited to see what I will be able to do with this little chassis. I have been able to implement some very rudimentary ANNs on my other (finished-ish) robot chassis, Lobsang, but unfortunately I've messed up the SD card on that Pi and haven't got around to sorting it out yet.

I am new to the C language and so this will be a base to learn the language on as well as play about with the robotics side of it all. As you can see, the chassis is very small- it's about the width of a Pi Zero, and not much longer. The chassis is cut from offcuts from a plastic window and a piece of brown plastic drainpipe. I'm using Tamiya rubber tracks and little motorgearboxes, and the Pi Zero controls a PiCon Zero which contains a ATMega328 chip, so it basically behaves like an Arduino. I have a mobile phone battery for power, but I'm not sure how long the bot will run on ~1600mAh at 3.7V bumped up to 5V.

I'm hoping to be able to reprogram the 328 chip on the PiCon using step-up-down logic directly from the Pi, meaning the whole robot unit can control and update every aspect of itself from one interface. I imagine logging on to the Pi from the external 'master' Pi and sending some new files across, and the robot's Pi automagically slotting the new files into place, be it through compiling the new C library or rewriting the 328's flash memory.

I will carry across many of the ideas and code concepts from Lobsang. Elton is an evolution of Lobsang, not a change of build direction. Lobsang was programmed solely* in Python and Wiring, however, so I am not going to port across my work. I mean to write Elton's programs almost entirely in C.

*there's a file or two written in Bash as well, pedants. :-)

 


This is a build in progress, which includes this post! There may not be lots of content here right now, but that's just because I don't yet have loads to put here. I will update this in the future, as I work on Elton more. Keep tuned! Thank you for reading.

 

  • Actuators / output devices: 2 tiny motors
  • Control method: autonomous
  • CPU: Pi Zero
  • Operating system: Linux
  • Power source: 3.7V Li-ion 2000mAh
  • Programming language: C
  • Sensors / input devices: ultrasonic, PiCamera
  • Target environment: indoor

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/elton-is-coming

Interesting project

Thanks for sharing your interesting project welshgeekboy.

I imagine you want to use C to program it for speed of control, isn’t it?

I have a raspberry Pi2 around and plans to do some intelligent control over Arduino robot. But first I have to progress on my robot itself then learn how to manage between both which is well documented online.

I look forward to see the progress of your project. Keep going :wink:

Kind  regards,

Francisco

Good idea, the robot

Looks great, I would be a photo of the drive. Could you show some detail ??

Thanks

Gerhard

Drive

Also curious about the drive… does not look like Tamiya motors.

Hi both, thanks for your

Hi both, thanks for your interest.

I’m using micro metal gerbox motors like these:

And I’ve forced the D-shaped motor shafts into the hexagonal Tamyia drive wheel holes.

Thanks for your interest

Thanks for your interest Francisco. Yes I’m mainly interested in the speed of computation that using C will allow me to achieve. Apparently C is about 10 times faster than Python, which is great- in theory, this means 10 fps computer vision instead of 1 fps CV, etc. It probably won’t work out quite like this as so many Python libraries are written in C, but I will get some performance increase.