OpenCV | Janne Honkonen - Janne Honkonen - Official pages of the Janne Honkonen, visual artist

Mr. Roboto – Part 3

Mr. Roboto – Part 3 – First actual running

With a little strike of luck and a good timing, I yesterday finally had chance to put together the first actual running test of the robot. Two days ago, on Wednesday, I received second pair of 1.5-6 volt engines+tires kit from a nice eBay seller which eventually raised my tire+motor count to four successfully solving my dilemma with robot tire design.

Contingency plan

Contingency plan

Earlier this week I was not sure how long it will take me to receive my second tire+motor pair order and was not sure will I ever receive one since there was a small address issue with the eBay purchase, so to solve this I was planning of using two tires and a revolving chair’s wheel I had as a spare so I would survive only with two motors and tires. This would also have meant that I would have been using only smaller area for additional parts.

The original designed frame for robot was a firm plastic and lightweight container box I had bought from local store but it did not fit for its purpose because motors did not fit as well as I had wished for. I eventually had to rethink the whole setup and decided to use a spare 1cm thick plywood which I took from a very old drawer box I found from our warehouse.

wpid-20150319_211534.jpg

First plywood fitting tests

I roughly cut the plywood with handsaw to quadrilateral shape of 20x15cm for lighter weight and for more agile moving of the robot. After this I drilled holes to the each corner of the plywood for iron wire which I used to tighten the motors to the frame.

Excited with the successful fitting with the robot I spent following evening making an example controlling Python routine for the first actual run of the “robot on the wheels” and watched my little pal tumbling around the walls of our kitchen. As my parents were coming to visit to our house the very next day, I spent few extra hours with Python making robot to obey basic controlling routines such as “go forward” which tells left and right motors to go forward and “rotate left” which tells left motors to go backward and right motors to go forward making it possible for robot to turn on it’s place.

wpid-20150320_193341.jpg

First actual running setup

As anyone can think, robot is not a good robot if it cannot move independently from network wires and USB charger so I quickly used my old external USB battery (2600mAh) for robot’s power input and very old WiFi stick for networking so it would run without any wires.

At this moment, my robot, after powering it up by clicking external USB battery on, starts the Python script using Raspberry’s /etc/rc.local file and does simple “go forward, rotate left, rotate right, go backward” command loop until it is shut down. It was a simple but good example for testing robot on different surfaces and for demoing purposes for my family and my parents. For my great disappointment, my WiFi stick did not provide a stable network connection and I was unable to remote connect to my robot when it was running on battery, so I am currently looking for to buy a newer and smaller more low-power WiFi stick for better operation.

Next phases

This part lists some of the most important parts I need to do or get with this my first edition robot project.

  • I need to do some research with location awareness using webcam with RasPi. I am planning using either color-coding room-by-room or planting small QR code prints which my code will recognize.
  • I need to purchase new smaller and more power-effective WiFi stick for RasPi which would provide more stable network connection with lower-powered battery based input.
  • I need to glue iron wire – attached motors more better to the plywood frame so it has more stable driving.
  • I need to make mounts to the plywood for the camera, RasPi, battery and motor batteries.
  • The whole final remote control for the robot will be done using SSH, RDP and web-browser so this also needs some good planning.
  • The streaming: My robot will both use camera for recognizing people (OpenCV) and for detecting QR Codes/color tags (OpenCV also) but it will also use it to stream video out from the robot for viewing purposes.
  • Wireless charging: I have found a cheap inductive charging kit which can be easily attached to this robot so I may purchase it from eBay.
  • Better battery for RasPi. My current test battery can only provide 2600mAh meaning my robot will not run for hours- I have seen 10k mAh batteries being sold which were not too expensive so I’ll get one when I get the chance.

Also to be noted

  • For my extra luck, two extra spare motors + tires arrived today which I had ordered in case second delivery would have gone to wrong address so now I have already two tires ready for the next (i.e. second edition) robot I will make next. I will most likely use the extra spare revolving tire for this robot so I can make robot which uses only two motors. Saves money, saves trouble and gives me a chance to test new techniques.

© Janne Honkonen - www.jannehonkonen.com