Go Down

Topic: My rover robot (Read 5544 times) previous topic - next topic

Northof49

May 21, 2014, 08:59 pm Last Edit: May 21, 2014, 09:45 pm by Northof49 Reason: 1
Here is my rover robot to date.


It is built on a Lynxmotion 4wd platform with a Sabertooth 2x12 motor controller.  Arduino Mega 2560 R3 with sensor shield V2.0, Ethernet shield off to the side using a cable connecting it to the shield's ICSP port.  B-Link Mini wireless router connected to the ethernet board and set as a repeater, giving it both access to the LAN and Internet.  Three Sharp Sonar sensors (for obstacle avoidance), one Sharp IR distance sensor (for cliff sensing).  Adafruit 3 axis magnetometer (H5883L) and a separate GPS unit (U Blox Neo 6M).

I've programmed it to relay all sensor information back to the client that logs on to the router using WIFI, receiving distance info, orientation, decision status, compass, GPS coordinates, etc. while it runs autonomously.  Power is from a 2200 mah 3S lipo pack that powers the motor controller with full 11.1 volts, and also a 5 amp 5 v supply that powers the Arduino and the router.  Power consumption is 8 watts while moving.  I found I saved 2 watts by powering the Mega with 5v via the USB, rather than supplying it with 12v to the barrel jack.

Next step in the software is to make the arduino a client as well as server and process commands from WIFI.  I want it to navigate a set of way points using the GPS autonomously, and also to be able to toggle it to take steering commands.

solderspot

Very cool looking. Are you blogging this project? Do you have an application in mind or is this more for fun?

oric_dan

Cool platform. Does it have enough torque to turn on carpet? I bought something similar [cheaper route, unfortunately], and it would climb straight up a wall and flip over, but wasn't enough motor torque to turn :-(.

Northof49

I am building it for fun, and am trying all sorts of variations on control, from autonomous, IR using a tv remote, RC spectrum receiver, to wifi.  Tried a couple of different cameras, 900mhz to a receiver, and an IP camera.

The motors have spenty  of power to spin on carpet at high throttle..   The biggest disappointment with the platform is the adverse effect on traction that having no suspension has.  A small lift at one corner will take the weight off two wheels on the opposite diagonal.  It needs suspension travel to maintain traction at slow speeds and not rely on inertia from speed.

It will climb severe angles on a flat surface, or straight up a wall or stair and roll onto it's back.  I am thinking about various suspension ideas.  A swing arm would be the simplest.  Perhaps with a torsion bar between them, like the rear of an old volkswagen.  Not sure how that longer wheelbase might adversely affect doing a tank turn.

oric_dan

My non-lynxmotion platform will also just barely turn on carpet, but I have to use almost full throttle to do it. Not very well controllable. Sounds like yours is similar.

Longer wheelbase will definitely make it harder to turn. However, it seems to me that even if one diagonal is lifted, you still have drive from the other 2 wheels, due to being 4WD, so why is that a problem? It should still go. I would think that high-centering may be more of an issue - perched on a hump with all the wheels off the ground.

You might check out the Wild Thumper arrangement too.

Here is my "secret" plan to deal with the turning problem. Install a caster or similar wheel under the rear end, and use a servo to extend or retract it vertically a cm or so. Then, when turning on carpet/etc, it can be lowered and the platform will turn easily via 2WD traction. Way down in the queue after 100 other projects, unfortunately :-).

Northof49

I might have left a wrong impression.  The lynxmotion chassis definitely turns and spin turns fine on carpet.  At full throttle it has so much power  it will damage furniture or push a ten pound chair across a kitchen floor.  I set it to a light throttle setting on autonomous because I don't want it bashing into objects hard, or burning out a motor if it gets snagged on a table leg that falls between two sensors.  That might or might not explain why it losses traction when two diagonal wheels are off the ground.  It might not be delivering any power to the wheels on the ground if it's in a turn mode, or insufficient power to jump over the obstacle.  Losing half your traction and half the drive torque from two wheels off the ground is not a good thing.

oric_dan

Your platform definitely has a lot more motor torque than mine, from the sounds of it. In which case, I should think it would have plenty of torque with just 2 wheels on the ground to get over any moderate-sized humps. You just might need to step up the drive level.

Such a platform definitely needs a lot sensors to prevent crashing into things. Eg, bumpers and IR proximity detectors. You might also use an accelerometer module to tell when it's starting to tilt. If the sensors say it's tilted and it's not run into something, then maybe you need to step up the drive to get over a hump. Good sensing of the environment is the #1 key to robotics.

Northof49

I might fill in the two gaps between the three forward facing sonic sensors with two IR sensor that can look down and forward, and do double duty as both cliff sensors and proximity / obstacle.  I was also thinking of putting two more sonic sensors on the sides to allow for an adjustment that centres it between two parallel walls, such as a hallway or narrowing funnel structure.  I'll post a video of it in action to show you have it currently navigates and turns.

Northof49

#8
May 26, 2014, 03:33 am Last Edit: May 26, 2014, 03:36 am by Northof49 Reason: 1
Here is a short video of it navigating on carpet.  It is running at only partial speed.  It navigates rooms and hallways like champ.  It does get snagged sometimes when there are thin table legs or an overhang that eludes the sensors.

http://youtu.be/G4sgtwRBsiQ

oric_dan

#9
May 26, 2014, 05:39 am Last Edit: May 26, 2014, 07:49 pm by oric_dan Reason: 1
It's doing good for just having 3 sonars, but realistically, you need multiple different types of sensors that all complement each other. Mechanical bumpers or feelers as a last resort. IR proximity detectors for close in. Sonars for further off detection. Everyone talks about how good sensing is "the" most important aspect of robotics, and how sonars alone are too prone to give errors, due to multiple reflections, grazing incidence angles, etc.

Joe Jones has a really good book [and cheap] that goes into different sensor issues in great detaill.
http://www.amazon.com/Robot-Programming-Practical-Behavior-Based-Robotics/dp/0071427783

Some robots detect obstacle collisions by measuring motor currents, but your rover has so much torque, that probably won't work, and you need bumpers, IR prox, etc.

You might also checkout dpa's robots. He's one of the best builders. The rover isn't the best for suspension compliance, but chekout j-bot.
http://www.geology.smu.edu/~dpa-www/myrobots.html

Go Up