Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Technical Discussion (http://www.chiefdelphi.com/forums/forumdisplay.php?f=22)
-   -   Localization of A Omni-Directional Robot (http://www.chiefdelphi.com/forums/showthread.php?t=136765)

vrcprogrammer 04-19-2015 02:37 PM

Localization of A Omni-Directional Robot
 
I have been looking around the web and couldn't find anything. I am trying to do localization, which is finding the location of a robot, on an omni-directional, such as an X-Drive or Mechanum Drive. I have encoders on all four wheels. If anyone can point me towards the formulas or the code that I can use to figure it out.
Thanks for all your help.

Ether 04-19-2015 03:01 PM

Re: Localization of A Omni-Directional Robot
 
Quote:

Originally Posted by vrcprogrammer (Post 1473498)
I have been looking around the web and couldn't find anything. I am trying to do localization, which is finding the location of a robot, on an omni-directional, such as an X-Drive or Mechanum Drive. I have encoders on all four wheels. If anyone can point me towards the formulas or the code that I can use to figure it out.
Thanks for all your help.

Finding the correct speed for each of four mecanum (notice there's no h in mecanum) wheels, given the desired instantaneous vehicle motion (rotatation and XY translation), is called inverse kinematics.

The opposite problem -- finding the vehicle motion given the speeds of each of the four mecanum wheels -- is called forward kinematics. I discuss this briefly starting at the bottom of page7 of this document.

But even if all four mec wheels are always turning at kinematically correct speeds (which is a non-trivial problem), in the real world there will be factors such as roller axis free play, roller friction, carpet compliance, weight distribution, acceleration forces, etc etc which cause the actual vehicle motion to differ (perhaps substantially) from the predicted motion.

Then, on top of that, you would have to integrate the vehicle motion over time to get vehicle location and orientation... and the errors would accumulate.

So the question needs to be asked: how accurate do you need the vehicle location and orientation to be, and what distances and times do you have in mind? Depending on the answers to those questions, there may be a better solution than what you currently have in mind.



vrcprogrammer 04-19-2015 03:14 PM

Re: Localization of A Omni-Directional Robot
 
Thanks A Lot,
I am trying to find a reasonably accurate position (+/- 6-12 Inches) on a 12x12 Foot Vex Field. I have a gyro that I can use for the heading and the match is 2 minutes long.
Thanks
vrcprogrammer

AlexanderTheOK 04-19-2015 09:10 PM

Re: Localization of A Omni-Directional Robot
 
Correct me if I'm wrong, but since mecanum wheel rollers, when moving forwards or backwards, may not spin predictably due to friction in the rollers, you may not be able to get any good precision out of them.

With something like killough, kiwi, or X-drive the rollers will be forced to spin since the wheels are actually angled, providing more deterministic roller movement.

Also, 2 minutes? I doubt you would get that kind of precision over that time period. Any errors in angle measurements have a huge effect on positional measurement.

If your gyro drifts even 2 degrees, your positional error over 5 feet would be that's sin(2 degrees)*5 ft. Which is just over 2 inches already. I imagine you plan to drive your robot a lot more than that.

If you really need this over a 2 minute time period you may want to think about having the robot drive itself into a wall or corner to re-zero its measurements at some point.

vrcprogrammer 04-28-2015 03:42 PM

Re: Localization of A Omni-Directional Robot
 
Thanks, Do you have any ideas? One idea that I had was to have 2/4 wheels to keep track of X-Y position. Any ideas/formulas that could help me impliment this.
Thanks.
vrcprogrammer

Hugh Meyer 04-28-2015 04:11 PM

Re: Localization of A Omni-Directional Robot
 
LIDAR from a Neato vacuum cleaner is another option if you are open to other ideas. If you Google or eBay or Amazon the terms "neato lidar" you will see what I am thinking of. Here is a link to some on eBay. Some vendors even offer code and instructions on how to talk to these devices.

http://www.ebay.com/sch/i.html?_from...dar&_sac at=0

-Hugh

vrcprogrammer 04-28-2015 04:14 PM

Re: Localization of A Omni-Directional Robot
 
Quote:

Originally Posted by Hugh Meyer (Post 1477987)
LIDAR from a Neato vacuum cleaner is another option if you are open to other ideas. If you Google or eBay or Amazon the terms "neato lidar" you will see what I am thinking of. Here is a link to some on eBay. Some vendors even offer code and instructions on how to talk to these devices.

Thanks, but I will have variable objects blocking my robot, so only sensors that are focused on the robot would work.
If anyone has any ideas, that would be great.
vrcprogrammer

Jared Russell 04-28-2015 04:17 PM

Re: Localization of A Omni-Directional Robot
 
Quote:

Originally Posted by vrcprogrammer (Post 1477990)
Thanks, but I will have variable objects blocking my robot, so only sensors that are focused on the robot would work.
If anyone has any ideas, that would be great.
vrcprogrammer

Do you want the sensors to be mounted on the robot (and thus sensing the environment - floors, arena boundaries, etc.), or fixtured to the environment (and thus sensing the presence and/or location of the robot)?

vrcprogrammer 04-28-2015 04:19 PM

Re: Localization of A Omni-Directional Robot
 
I would need to have the sensors mounted on the robot.
Thanks

cad321 04-28-2015 04:51 PM

Re: Localization of A Omni-Directional Robot
 
I dont know what the capabilities of your controller is (roborio or other controller?) But if you have usb ports you might be able to use this.

vrcprogrammer 04-28-2015 04:54 PM

Re: Localization of A Omni-Directional Robot
 
Quote:

Originally Posted by cad321 (Post 1478015)
I dont know what the capabilities of your controller is (roborio or other controller?) But if you have usb ports you might be able to use this.

I really like this idea, is there any way to use this with wheels/encoders. Thanks.

vrcprogrammer 04-28-2015 06:56 PM

Re: Localization of A Omni-Directional Robot
 
I am trying to design/think of the program for a set of wheels, for X-Y positioning, and I am stuck on getting the formulas. Can anyone help me, or is a 4 wheel design better.

AlexanderTheOK 04-28-2015 09:08 PM

Re: Localization of A Omni-Directional Robot
 
Quote:

Originally Posted by Hugh Meyer (Post 1477987)
LIDAR from a Neato vacuum cleaner is another option if you are open to other ideas. If you Google or eBay or Amazon the terms "neato lidar" you will see what I am thinking of. Here is a link to some on eBay. Some vendors even offer code and instructions on how to talk to these devices.

http://www.ebay.com/sch/i.html?_from...dar&_sac at=0

-Hugh

You'll spend the same amount of money on the vacuum as you will on one of these

Except the RPLidar is built for hobby robotics, already functional, and already has solid ROS support. You wouldn't get anything done in VEX since it has it's own motor and isn't a VEX part, but it's a good option for a personal robot or for the Roborio, and again, same const as the neato, but you don't need to take a vacuum apart and risk breaking things.

vrcprogrammer 04-28-2015 09:25 PM

Re: Localization of A Omni-Directional Robot
 
This all sounds great, but I need this to be on a vex robot, so does anyone have a way to do this with vex edr (vex robotics competition) parts.
Thanks
Vrcprogrammer

cad321 04-28-2015 10:17 PM

Re: Localization of A Omni-Directional Robot
 
Quote:

Originally Posted by vrcprogrammer (Post 1478176)
This all sounds great, but I need this to be on a vex robot, so does anyone have a way to do this with vex edr (vex robotics competition) parts.
Thanks
Vrcprogrammer

What about 2 omni wheels placed perpendicular to each other that drag along the floor. As the one in the y axis moves, it gives you your position in the y axis and the same as with the x. Although I do not know how the code might work, to make this more reliable you could add a gyro to correct for any kind of rotation.

As for the mouse idea, I don't have any info on it other than what's in the post. It's on my to do list but that's a mile long not to mention school work.


All times are GMT -5. The time now is 04:55 AM.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi