Let's Make Robots!

ArcRover

GPS Waypoint navigation, computer development platform

The ArcRover is my latest platform for developing GPS navigation systems as well as other computer related stuff. The robot uses a Raspberry Pi as the main computer. The Raspberry Pi is a very flexible and fun platform to work with. This is my first robot that uses a real computer, and this really opens up a lot of opportunities.

The Rover has an on board router that creates a WiFi network around it. This allows me to log into the Raspberry Pi using a SSH or VNC client on a laptop. The rover is also equipped with a web cam.

Currently a GPS connected directly to the on board serial port is the only sensor, but maybe I will add some other sensor in the future. I use some PIC processors to control the servos and motor speed. The Raspberry Pi sends data using the on board serial port to PIC processors. The PIC processors also measures the speed of one of the front wheels and adjusts the speed of the motor using a PID algorithm. This acts as a cruise control and it makes the rover drive at fairly the same speed on different kinds of terrain.

I have tried to make some programs for the rover both in Python and C++, but now I have decided to use Java instead. The main advantage of using Java is that it is easy to send data over a network.

Things that a have done:

  • Made a simple working waypoint navigation program in C++.
  • Made a server program in Java that allows me to connect to the rover's WiFi network form a home made Android application and drive it manually.

Future development:

  • Make a more advanced navigation program in Java that uses PID algorithms to steer to the waypoints.
  • Make the rover to steer towards the line between two waypoints instead of just to the next waypoint.
  • Specify an aria in which the rover should drive autonomously.
  • Develop a custom program to run on a laptop communicating with the rover. I want this program to be able to start an autonomous mission, as well as driving the rover manually.

More information about this robot is available on my website: http://axelsdiy.brinkeby.se

 

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Very nice.

What about the current consumption? I guess this will be a problem having Raspi + WebCam + Router +....

How long can you drive with your 8000mAh Lipo?

 

I do not really know, I have not measured it. But it can run for over an hour (when I drive it manually). And if I only use the electronics, not the motor and servos, if can run for 4-5 hours without a problem. However, since I do not have an internal system for monitoring the battery voltage, and I do not want to discharge the LiPo to much, I usually stop at halt the battery's capacity.

nice and clean construction like all of your robots :)

You have used a rasp pi on this so there is a lot of scope for further development on your platform. I really like your chassis and it seems quite tough, have you hacked it from a RC car?

 

Thanks. I have used the same chassis as my third robot, a Traxxas Stampede RC car. However, I did have to reinforce the suspension with some metal wire, since this robot weighs a lot more than the RC car did.

Wow that's amazingly well built! 

P.S.: I've also been looking for good networking solutions for Python. IMO, there's loads of bull**** and undocumented, unmaintained libraries. However, there are two that I recommend to anyone: 

http://twistedmatrix.com/trac/

http://www.geometrian.com/programming/projects/index.php?project=Mastermind%20Networking%20Library

Very nice build *thumbs up* :)

How do you handle the LiPo recharging in-bot? Dedicated charging driver?

Thanks. I do not have an onboard charger. The charging connector shown in one of the pictures is connected directly to the LiPo battery. I use an external standard hobby charger to charge the battery.