Backstory

I am very interested in machine vision. I always have been and when I ran across Adam the CEO of Aim.Vision I was very inspired how he had been turning excavators into construction robots using tensor flow and other machine learning techniques.

Additionally, I’m a dad who likes to do things with his kids. My son has shown some proficiency in programming and engineering so it was time he and I did a hardware project together.

Thus Carbot was born. The idea is to modify an RC Car to become a robot that can drive all the way around my block. The secondary goal was to get my son up to speed on several engineering skills in the process.

Philosophy

I want anyone to build and repeat what we are doing here. So I will be publishing a github with all the 3D prints and a parts list if you want to buy the same stuff and try this at home. Think of it as an open source robot project.

Status & The Plan

  • Build a simple version that we can control
  • Use 3D printing to make a shell
  • Figure out how to run Tensor Flow on an old Android phone
  • Train the phone to see the edge of sidewalks
  • Run the car while getting advice from the phone
  • Figure out how to connect the phone to the motors and servo
  • Build in an automatic kill switch that we can run remotely
  • Test Carbot by having it drive to a cone
  • Test Carbot to stop before hitting something
  • Test that Carbot can stay on a sidewalks
  • Test that Carbot knows where to turn at the end of the blocks
  • Final testing and driving all the way around

Parts List

We printed a new body to put it all together

We started by measuring out all the parts using cardboard to prototype the different pieces.

Then using a Prusa Printer we were able to produce the individual pieces.

Then using a Prusa Printer we were able to produce the individual pieces.

The final vehicle looks like this. Note that that camera on the front is hooked to the drone racing headset.

The final vehicle looks like this. Note that that camera on the front is hooked to the drone racing headset.

Lessons Learned So far

FreeCad is awesome when used with a Prusa Printer

https://www.freecad.org/ is a fantastic 3D cad program which is extremely sophisticated. I think that there are probably better programs that are more intuitive. However, I have a drafting background and I really enjoyed the idea of building an engineering specific model. If I couple that with the https://www.prusa3d.com/ and we have a pretty good system for creating custom parts.

This video is what I used to figure out how to use FreeCad. This 3D printing manual is what I used to get the printer setup.

Our camera is taking too much power to be connected to the batteries on the car

My original plan was to use the circuit for the lights on the car to power to camera. We ended up building a custom cable but found that when we connected it, the power usage was still too high and the voltage would drop to 4.5 V which seemed to keep the camera from transmitting well. To solve this, we use a rubber band to strap a USB battery backup charger to the frame.

Conclusion

We have a car with a camera that can transmit. It seems to have about 1 block working distance as long as nothing is obstructing the view. The next step will be to figure out how to collect images from a drive around the block so we can use it to train up a Tensor Flow CNN.