go_away

Author Topic: Dead-reckoning robot  (Read 3275 times)

0 Members and 1 Guest are viewing this topic.

Offline arixroboticsTopic starter

  • Full Member
  • ***
  • Posts: 119
  • Helpful? 3
    • TalasTronics WCIT KL2008 Fund Raising
Dead-reckoning robot
« on: August 03, 2008, 06:09:04 AM »
Hello roboteers,

One part of my final year project for my degree is to build a mobile robot that can move along a predefined path as accurately as possible.

The robot will need to move around and then come back to its starting position and orientation. The idea is to place a video recorder on it, and record the surrounding as it moves. It will need to come back to its starting position so that the video can be played in a continuous loop without any breaks in the video.

I'm thinking of a few options here:

1. Place encoders on the wheels and do some smart control (PID etc) on the uC to get it follow that path.

2. Make a very good line following robot. Make a line along the path to be taken, and let the robot follow that line.

Can you guys think of any other method I could use? Or any other comments?


Offline JesseWelling

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 707
  • Helpful? 0
  • Only You Can Build A Robot!
Re: Dead-reckoning robot
« Reply #1 on: August 03, 2008, 08:14:10 AM »
In addition to one of those have the robot take snapshot of it's starting position and don't stop till it gets a match when it returns?

Offline bens

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 335
  • Helpful? 3
Re: Dead-reckoning robot
« Reply #2 on: August 03, 2008, 04:19:11 PM »
What kind of distance are you talking about moving?  Encoders work, but the error will build over time and the chances of your getting exactly back to your starting position are low if the distance is long.  If you can follow a line, it would probably be very easy for you to return exactly back to your starting position (building a reliable PID-controlled line-follower is quite doable).  Or maybe you could mix the two strategies by starting on a line, leaving the line and tracking your position with encoders, then returning back to the line (it would be easy for you to reacquire the line using encoders than it would be to return to your exact starting position using just encoders).

I'm a bit skeptical that you could effectively use the snapshot technique JesseWelling suggests just because I think the software involved will be quite complicated.  What if you return so that you're close to your starting position but a little off?  In that situation the snapshots won't quite match and you'll be left having no good way of determining what your robot should do to make them match.  You would need to come up with algorithms to determine that the two different snapshots are similar, and perhaps even more difficult would be to figure out how to move your robot based on these two snapshots so that they do match.  It would be a really cool way of doing things, but it might be beyond the scope of your project.

- Ben

Offline JesseWelling

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 707
  • Helpful? 0
  • Only You Can Build A Robot!
Re: Dead-reckoning robot
« Reply #3 on: August 03, 2008, 07:47:19 PM »
If it's not my project my job is to throw out the most oddball ideas possible. If I don't, where is the fun in it for me? ;D

Offline bens

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 335
  • Helpful? 3
Re: Dead-reckoning robot
« Reply #4 on: August 03, 2008, 09:25:48 PM »
I definitely agree that it's a cool idea.  It reminds me of some stuff I worked on a few years ago for a defense contractor involving satellite/airborne-camera sensor models.  The idea was to be able to convert between image space (pixel row, column) and ground space (at, lon, and elevation) with a high degree of accuracy by knowing key physical characteristics of the camera.  We also worked on image registration technology, which involved identifying the same features present in two different images so that you could basically stitch together a mosaic of separate shots and increase the accuracy of the sensor models (if you have one highly accurate model for a set of images, and you can stitch a new set of images taken with a less accurate model to the accurate set, suddenly your accuracy for the new set is greatly improved).  It seems like you would want to use a lot of the type of math we did for your snapshot idea.

- Ben

Offline JesseWelling

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 707
  • Helpful? 0
  • Only You Can Build A Robot!
Re: Dead-reckoning robot
« Reply #5 on: August 04, 2008, 02:20:02 AM »
Meaning Bayesian filters I'm guessing...
Which leads us to our next option for dead reckoning!
The ever popular Kalman Filter (or EKF, or UKF ...) ;D


Really, I need to sleep :-\

Offline arixroboticsTopic starter

  • Full Member
  • ***
  • Posts: 119
  • Helpful? 3
    • TalasTronics WCIT KL2008 Fund Raising
Re: Dead-reckoning robot
« Reply #6 on: August 04, 2008, 06:24:14 AM »
Wow great ideas guys, thanks a lot!

I don't mind oddballs, coz it makes the brainstorming more fun :D

I really like Ben's idea of mixing both strategies. The robot will start by following a short line, then off with the encoders, and then come back to the line. That could really work well, as long as my programming is good enough.

The robot will move really slow actually. I can't remember how slow, but it will need to capture the video slowly. And since its slow, one video loop would take about 15 minutes to complete.

This project is actually a testing platform for a research my uni is doing in insect vision. They said that they have almost perfectly mimic how bugs like flies see, and so now they are ready to test it in the real world. That's where this robot will (hopefully in a year's time) come in.


Arif

 


Get Your Ad Here