Finnian's blog

Software Engineer based in New Zealand

5-Minute Read

Reflections

At the end of our project our initial objectives had now been added to and matured through the development process.

Objectives at the start

The objective of this project was to build an all terrain vehicle which could be used for various applications and controlled from anywhere in the world. We wanted it to be operational in all circumstances, which meant being able to operate in low light/pitch dark conditions and being able to traverse all terrain. It was essential for the user to be able to see from the ReCoRVVA’s point of view in real time. We also wanted the ReCoRVVA to be able to sense when it was about to crash and automatically stop to avoid collisions.

Objectives at the end

The ReCoRVVA is controllable from anywhere in the world, the user can see in real time where they were driving and knows the environmental conditions they were operating in. The ReCoRVVA is able to automatically stop if it senses an obstacle.

We have also shown that it can be adaptable to any circumstance and any user or their medium of control.

Technical

One aspect of the finished ReCoRVVA that could have been improved is the battery life. Its motors use a lot of power, and we found ourselves frequently having to replace the two AA battery packs. Looking back perhaps we could have hooked up an ammeter to the motors and made some calculations about just how much power they would use and therefore how many/what capacity batteries to use.

One of our first USB hubs did not work, so the company sent a new one, that one worked…. or so we thought.  Two of us were doing some coding at one of our houses and we had everything up and running with a Pi hooked up to the USB hub. After about 5 minutes of use the hub made a loud bang, with smoke coming from it, which then caused a power cut. It also frazzled Finnian’s WiFi dongle, which we had to replace.

To extend the project we think we could make more robots but on different chassis and see which performs, best. It would also be good to see if we could break into each other’s robots and take control.

Project

The software side of the project worked well. Software development was most efficient when we started using git and GitHub to collaboratively work on it. Since only one of us could have the ReCoRVVA at a time, we each used our own Pi to test our software when it was in development and then tested it on the ReCoRVVA over Skype with whoever had the robot.

Of course it was challenging to work on the hardware living long distances apart, but by using carefully labeled wiring diagrams and regular communication we were able to overcome this challenge.

Here is a video of the ReCoRVVA whilst hamster hunting…

http://youtu.be/zsmw_TIJC2o

Conclusion

We think we have completed all of the objectives and have achieved more besides. Table 2 reviews the objectives and explains the ways that they have been completed.

Table 2: Review of Objectives

Objective How much completed
Able to traverse all terrain Completed. Has tracks (Section Chassis) driven by separate motors for maximum mobility and ease of steerage.
Controllable from anywhere Completed (Section API). Works through the use of an API for connections from anywhere in the world.
Versatile Completed. Could be applied to many applications, such as mapping the terrain, locating people in disaster zones and detecting hotspots in buildings.
Visual feedback Completed (Section Visuals). Camera stream can be viewed from a web browser, or via the TK interface (Section 10.2.2.2).
Automatic stopping Completed. Stops when an obstacle is detected or when the temperature is too high.

Could it have been done cheaper?

Overall the vehicle cost around £38. We think it could have been done slightly cheaper, by shopping around for cheaper components more. It could also have been cheaper by bulk ordering components, but as we were only building one robot, we didn’t think this was necessary. We also could have invested in some rechargeable AA batteries, which would have brought the cost down significantly!

Overall what have we proved/learned?

We have proved that kids can code and take the initiative to make something! We’ve greatly improved our knowledge and capacity of network programming, Python, electronics and project management in general. We have learnt an awful lot, including how to setup and maintain code that is collaboratively written as well as how to regulate and sensibly distribute power to multiple devices. We have also learnt how to make a good project report and work well in a team- both of which are very valuable life lessons.

Overall what would we do next to improve what we did?

Next we would make the center of balance better, to avoid unstable operations. We would also get a smaller mount, to make sure the camera could work properly.

Future applications

Our project could be applied to help teach children that you don’t have to be an expert to make something really cool. It could also be used to replicate our project or to use the different modules we have designed to make something completely different.

Appendix

Sources

During the project we extensively used lots of forums, notably StackExchange, the Raspberry Pi forum and Arduino.cc. We also used these website for help and support:
  1. http://www.cl.cam.ac.uk/projects/RaspberryPi/tutorials/robot/wiimote/
  2. http://www.RaspberryPi.org/forums/
  3. http://RaspberryPi.stackexchange.com/
  4. http://forum.Arduino.cc/
  5. http://computers.tutsplus.com/tutorials/controlling-dc-motors-using-Python-with-a-Raspberry-pi--cms-20051
  6. http://en.wikipedia.org/wiki/H_bridge
  7. http://www.youtube.com
  8. http://playground.Arduino.cc/Code/NewPing
  9. http://www.instructables.com/id/How-to-Wire-Batteries-in-Series-or-in-Parallel/
  10. http://www.RaspberryPi-spy.co.uk/2012/12/ultrasonic-distance-measurement-using-Python-part-1/
  11. http://abstrakraft.org/cwiid/
  12. http://www.RaspberryPi.org/forums/viewtopic.php?t=22923
  13. https://learn.adafruit.com/dht-humidity-sensing-on-Raspberry-pi-with-gdocs-logging
  14. http://www.adafruit.com/blog/2014/04/18/build-your-own-homemade-sports-ticker-with-a-Raspberry-pi-and-led-sign-Raspberry_pi-piday-RaspberryPi/
  15. https://docs.Python.org/3.3/library/index.html
  16. https://github.com/
  17. http://www.robertcudmore.org/blog/?p=273
  18. http://RaspberryPihq.com/how-to-add-wifi-to-the-Raspberry-pi/
  19. http://www.pridopia.co.uk/rs-pi-set-bluetooth.html
  20. http://www.instructables.com/id/Create-an-internet-controlled-robot-using-Livebots/step5/Get-the-webcam-streamer-for-Raspberry-Pi/

Project Code

All code for the server Raspberry Pi and client Pi are on GitHub at

https://github.com/developius/ReCoRVVA

Components and costs

Part Cost
Tracked chassis £ 12.70
Double gearbox £ 8.90
Motor driver £ 3.65
HC-SR04 ping sensor £ 3.01
10 x 3v3 Motors £ 6.25
DHT-11 temp sensor £ 3.19
Total £ 37.70

Recent Posts