go_away

### Author Topic: Path calculation robot  (Read 1729 times)

0 Members and 1 Guest are viewing this topic.

#### MC

• Jr. Member
• Posts: 16
##### Path calculation robot
« on: December 06, 2013, 01:24:06 AM »
Hello,

I am making a robot which needs to perform some load and unload operations on arriving at a station
I am using a gyro to measure my heading angle and also calculating with the the help  of encoders
Which angle should i take into consideration- the actual gyro sensor angle or from my calculated angle derived from encoder?

While taking as turn, when it reaches the end point the heading angle is not correct. so at what point i should change the ster angle in order to get the perfect heading angle at stop position
Also how much tolerance should i keep for steering angle ?

Thank you

#### jwatte

• Supreme Robot
• Posts: 1,345
##### Re: Path calculation robot
« Reply #1 on: December 06, 2013, 11:23:11 AM »
I assume that the encoder is tied to a pair of wheels?

The problem with that is that wheels may deform, and thus encoders will drift over time.
At the same time, gyros have finite resolution, and thus errors in integration may accumulate over time.
Thus, you have two relative sensors, that both accumulate error over time.

You can do sensor fusion to get a probabilistic estimate of where you are at and what your heading (pose) is, but as you move further, that estimate will become looser and looser.

You need some kind of absolute sensor to re-zero your relative sensors if you want this to be robust over time/distance.

#### WhomBom

• Full Member
• Posts: 64
##### Re: Path calculation robot
« Reply #2 on: December 07, 2013, 05:19:13 PM »
I agree with the above, although my personal preference would go toward the encoders, that is assuming you are using a differential drive robot.

The problem with gyroscopes is that they provide you with rotational speeds which you then have to integrate to get rotations. This causes all kinds of practical problems I will not get into right now, let's just say I'm not a great fan of them
You could consider using magnetometers as they give you a fixed heading. In fact most scientific IMUs use a combination of accelerometers, gyroscopes and magnetometers (google 9dof IMU, there also are ready made pieces of software for them) to get a fair accuracy. But unfortunately any disturbances in the earth magnetic field (for instance by a metal object in the vicinity of the sensor) make them go off whack...

that's why my preference goes to high resolution encoders, perhaps with the gyro as a check for wheelspin... but again that is assuming you have a differential drive robot.
PS, better described questions lead to better answers

#### MC

• Jr. Member
• Posts: 16
##### Re: Path calculation robot
« Reply #3 on: December 10, 2013, 07:46:43 AM »
The robot is tricycle with only one main drive wheel.
So the encoder is fitted in the front wheel.
The gyro reading i am getting is in angle degrees format
What i plan is to use rfid tags also so as when the robot passes over it it can get the x,y position
Is it the proper method
How do i do path correction for it
Also my steer angle is never exact 0deg. it may be 0.5 or -0.3 degrees , it varies
So since i dont get exact zero my position calculation goes wrong slightly.
Should i give some tolerance for steer degree?

#### jwatte

• Supreme Robot
• Posts: 1,345
##### Re: Path calculation robot
« Reply #4 on: December 10, 2013, 07:37:02 PM »
I would add a compass sensor for absolute heading to help out with the absolute orientation.

#### MC

• Jr. Member
• Posts: 16
##### Re: Path calculation robot
« Reply #5 on: December 10, 2013, 11:11:51 PM »
I dont think compass sensor will be very accurate compared to gyro
Lot of factors affecting the compass sensor
heading angle derived from cal of encoders and heading angle from gyro sensor....which of them should be taken for robot head?

#### jwatte

• Supreme Robot
• Posts: 1,345
##### Re: Path calculation robot
« Reply #6 on: December 10, 2013, 11:26:40 PM »
If only one wheel has the encoder, and there's +/- 0.5 degrees or more of slop in the steering, that encoder isn't going to give you very good heading.

The gyro will drift over time. Meanwhile, the compass will have an absolute reference, assuming you can keep it away from ferrous metals/magnets (raised on a plastic or aluminum mast, perhaps.)

#### hobbes

• Jr. Member
• Posts: 29
##### Re: Path calculation robot
« Reply #7 on: December 12, 2013, 02:46:25 AM »
Consider adding a camera system in the environment that will be able to detect your robot and guide it. You can place a QR code on your robot to make it easier to find its position and orientation.

#### Cristi_Neagu

• Robot Overlord
• Posts: 165
##### Re: Path calculation robot
« Reply #8 on: December 12, 2013, 10:21:55 AM »
Or you could use the industry tried and tested method of line following, with either lines painted on the floor, or with conductive wires.

#### MC

• Jr. Member
• Posts: 16
##### Re: Path calculation robot
« Reply #9 on: December 12, 2013, 10:38:16 AM »
Instead of a QR code I am putting rfid tags. But they can only give me position x,y and not heading.
Don't prefer the traditional way of putting tapes
Intact the laser systems are accurate but they are very costly.
Hence prefer using inertial systems-gyro
There are lot of robots that use gyro inertial systems. How do we correct the heading angle.
My current robots shows an error of 80mm in y axis and 10 mm in x axis and the heading angle around 2deg
I am using an incremental encoder on the wheel

#### waltr

• Supreme Robot
• Posts: 1,944
##### Re: Path calculation robot
« Reply #10 on: December 12, 2013, 12:22:35 PM »
To learn more about how to use and the capabilities of IMUs, look up and read on using them in model airplanes and Quadcopters.

Another method for the bot to fix its x,y position and direction is to use a camera and the symbol on the floor. This is how the warehouse robots from Kiva used to pick Amazon orders do it. Google "kiva warehouse robots" to learn more.
« Last Edit: December 12, 2013, 12:26:15 PM by waltr »

#### hobbes

• Jr. Member
• Posts: 29
##### Re: Path calculation robot
« Reply #11 on: December 12, 2013, 02:15:32 PM »
You should be able to get the heading with QR codes.

#### jwatte

• Supreme Robot
• Posts: 1,345
##### Re: Path calculation robot
« Reply #12 on: December 12, 2013, 07:01:10 PM »
Quote
There are lot of robots that use gyro inertial systems.

I'm not aware of any that use *only* gyro/inertial systems to calculate absolute pose (heading.)
Do you have any links/references?
Most of them use IMUs that include compass information.

#### MC

• Jr. Member
• Posts: 16
##### Re: Path calculation robot
« Reply #13 on: December 14, 2013, 07:28:03 AM »
There are lot of sensor companies providing only gyros.
They are used in industrial places like automated guided vehicles for industrial use

http://www.invensense.com/mems/gyro/mpu3300.html

they provide gyros. and these gyros are used in AGVs only without compass
What i am trying to do is incorporate the same method in my robot with gyro and rfid tags.

#### jwatte

• Supreme Robot
• Posts: 1,345
##### Re: Path calculation robot
« Reply #14 on: December 14, 2013, 10:44:57 AM »
Quote
There are lot of sensor companies providing only gyros.

Yes, absolutely! Sensor companies sell all kinds of sensors, from very discrete, to highly integrated packages.

Quote
they provide gyros. and these gyros are used in AGVs only without compass

You say that, but I'm not aware of any system that can reliably maintain a pose estimate using only a gyro. Some kind of regular absolute input is also needed. Note that I didn't say it had to be a compass; there are many absolute inputs (lines on the ground, cameras detecting poles, GPS receivers, radiolocators, etc.)

So, if you know of any ROBOT (not just sensor) that can accurately maintain a correct pose estimate using only gyro input, I'd love to see a link to that.

#### CJAlbertson

• Jr. Member
• Posts: 24
##### Re: Path calculation robot
« Reply #15 on: January 13, 2014, 04:43:15 PM »
Are you still working on this?  If so look up "Kalman Filter".  That is exactly what you need.   It is the literally the optimal solution for getting a heading from a combination of sensors where none of them are perfect.

In your case I'd use the wheel based odeemetry, the gyro and the compass.  None are perfect but you put them together and they will be pretty good.

The down side is the mathematical complexity.  It is not as simple as just reading the heading.  You will need to learn about covariance matrixes, Jacobin, and the like.  You can find some code on-line to get you started.   But this really is the accepted method and is worth learning if you are serious about navigation. Wikipeadia is not a bad place to start

Also look at those flying robot quadrocopters. ALL of them use this method although they lack wheels, you'd have to add theta in as an additional sensor
Chris A. in So. Cal.