Society of Robots - Robot Forum
Electronics => Electronics => Topic started by: benji on March 26, 2008, 04:29:00 PM
-
hey folks, latley ive been workin on my hexapods turns (45 degrees)
i just want to add somthin to make it make reliable turns( 45 degrees precisly)
a compass wont do cuz you know the big number of motors in a hexapod and their magnetic fields.
ive been told to use gyros but i dont have much info about it,,
if anyone can post a link to a good gyro or a tutor link that would be great
(ps. any new ideas of making this possible other than using gyro are pretty much welcome)
Benji
-
Try Analog Devices for gyros... I don't know many thing... to tell you the truth I know nothing... I've just have 2 ADIS series gyros from Analog...
Try their student sample form and you might get them for free... But I never materialized a board to work on those sensors, due to my big lack in time...
Try to google what a gyro is? - wiki...
wikipedia usually has many nice staff and theory...
Cheers...
-
I think sparkfun has the gyros already mounted on boards. Alternatively, you could pick up a gyro from a hobbyshop and read the PWM signal from it.
Overall, I don't know if this approach is such a good one. Gyro's only tell you angular rate, that is how fast you are turning. You need to integrate (sum up) these rates over short periods of time to get an approximation of your actual angle position, which therefore slowly drifts over time as error accumulates. You may be able to get it to work in the short run, like for turning roughly 45 degrees, but you wouldn't be able to keep track of which direction is north if you initially started the robot pointing north. Just google gyro drift and you will find detailed explanations of this problem.
A compass is still probably better. You could attempt to isolate the compass from the motors. There are ways to shield magnetic fields, but it isn't easy.
-
A compass is still probably better. You could attempt to isolate the compass from the motors.
its very hard in a hexapod, the thing is laoded up with motors all around,,12 ..
well is there somway i can do this other than compass and gyros?
i mean some tricky way that you can use a combination of stuff??(encoder??photocouplers???,,, )
im lost on this
the problem is that if it dont turn exactly 45 it could ruin the map im building over the computer
helllllllllp
-
You could try putting the compass up high on the hexapod and using sometype of magnetic shielding below it.
Something complicated to try would be having a rotating camera on the robot. With the camera facing 45 degrees from forward (in the direction you want to turn) to take a reference snap shot, then turn the camera back to facing forward (0 deg) and turn the hexapod until the new images from the camera match the reference image.
-
mm nice idea but it would look weak,, using a camera just to ensure my turns???
im not sure about this one
-
I think that a hexapod turns too slow for the gyro. The compass is still your best bet.
But I have another ideea. Take an optical mouse, modify the angle of the lens and LED (increase the distance to the ground so it doesn't have to be dragged on the table...), mout it on the hexapod's belly (but not dead center!) and you should have a good distance measuring device, turns included. But this depends greatly on the hexapod ability to turn without sideways movement.
-
can you explain it a little better? i didnt get it
-
You know that an optical mouse has a red LED and a camera inside? The LED shines on the surface of the mouse pad through the lens and the camera sees reflections and detects movement. The lens are focused to a very short distance as the mouse is close to the ground. In order to use it for robots, greater ground clearance is needed. This can be obtained using different lens or modifying the angle the lens shine on the ground, perhaps a laser can be used... I didn't use a mouse for robotics, but I remember seeing something like that on the net. Do a search, it will get you there.
-
alright thanks i will search for that,, but is this going to be a prt of image processing as there is a camera?
-
mm now i started to understand how this can work,,pretty neat idea
But this depends greatly on the hexapod ability to turn without sideways movement.
im thinking to make a goal (x and y ) ,if it meets this goal after movement then the turn is accomplished succefully
wouldnt this do?
or if the thing is very precise and i can handle a little error then the goal x and y would be a range
if x is between 2 and 4 and y is between 6 and 7 then the turn is succefull
this would be pretty awesome if it can work this way
anyways i would be glad if you guys post some links that explains how to interface an optical mouse to a robot
i did a little search and till now they aint so clear
-
A compass is still probably better. You could attempt to isolate the compass from the motors. There are ways to shield magnetic fields, but it isn't easy.
Thats silly talk - a compass won't work if all magnetic fields are blocked ;)
What you really want to do is locate the compass in the center of your robot and up high away from the motors. You also want to sheild your motors, electronics, wiring, and batteries - plus tons of noise suppresion caps - to avoid it sending signals to your compass.
I've seen gyro compensated compasses, too. A compass doesn't work right if its tilted!
-
the bot look would pretty much suck if i put the compass up high
plus i need a more preciese sensor
i checked with the cmps03 and the resoloution is around 4 degrees,, i need 45 not 47 or 43
thats why im chaeckin with the optical mouse thing
-
Generally what you want to do is hell difficult cause it's a hex...
Everything suggested requires the hex to be always horizontal...
Or else nothing will work, including mouse, gyro etc...
Compass is a solution, but as suggested by admin... you got to place it high...
Another solution would be GPS... well I know you laugh at me now but I only have to suggest...
I can't really think of anything else... sorry...
Anyways, good luck to you,
Lefteris, Greece
-
Another solution would be GPS... well I know you laugh at me now but I only have to suggest...
no why would i laugh,,, i thank u for the suggestions
actually my hexapod is horizontal all time,,,cuz the leg goes up n down but the body always bounces on the others while the ones moving goin up n high
-
See, this problem of yours, is the same for any legged robot. I want to build a biped. But as a side project I want to build a pet for my doughter, some quadruped robot inside a toy dog. Any of them can't have compass because of it has to be mounted up high and inside a GPS doesn't work well. So all I'm hoping is that I will be able to rely on relative positioning like all humans do. Have a bunch of sensors check the distance to the objects around trying to mach the location with some place on the map. I also hope to use a camera like the Blackfin or something that would be able to recognize shapes and edges. This is not clear yet, since I didn't even started to play with parsing image data from a camera. But I am not concerned with precision. All I want is the robot to be able to get near by a designated (goal) place by the use of map and some sort of path finding algorithm, then rely on distance sensors and camera to better position on the object of interest, depending on the action it needs to do.
If you realy need precision, for a legged robot you need a inside GPS solution. Some camera on the ceiling watching the whole room, connected to a PC, a grid roughly the size of the robot and a radio serial link to the robot telling it the position in the room. Basically this is what satellites do. Or, you can use the triangulation of 3 beaming stations installed in the corners of the room.
You see, even the cars don't allways have good odometers (miles counters). It depends on tire diameter, inflation and so on. But at the car scale, a few inches error at a number of miles doesn't matter. The GPS system has also a few feet error. But the unmaned cars rely on GPS just to bring them in the close range of the destination (or waypoint), together with the odometer and compass, then adjust position by using distance (laser) sensors and cameras.
Anyway, I would suggest to figure out a way to the goal by using intermediate goals (waypoints) where the robot should verify the position on the map by using triangulation (eighter measuring the distance to 3 known objects or using a system like the one in the previous paragraph). Recalculate the path each time a waypoint is reached and make corrections. Depending on max distance the sensors can measure, you may need to avoid going through the middle of a large room, or if you do it, you need to recalculate the position as soon as posible, because a small error in turn angle after a great distance will give a great position error.
-
. Some camera on the ceiling
im not allowed to put anything in the room
you can use the triangulation of 3 beaming stations installed in the corners of the room.
same thing,, or i can do this if there is a way to extract features in the room,, but what would these be in my 2d map? a corner? there could be
other than the whole room corners ,,
its hard to get landmarks out of 2d grid ,,
-
Well my friend, it seems that you need vision for your robot...
-
but u actually suggested me the optical mouse,,and i think its awesome for that, why are you dropin it off now?you think it wont do??and why?
-
He probably means vision by a camera...
Sounds very hard and it is...
You have your camera lock an object and then use triangulation to find angles and so on...
So expect very advanced programming!!!
Or you can be building an optical mouse yourself... Optical mouse are based on camera and light to find movement...
You need to interface a camera and perhaps a laser place them in the belly of your robot, pointing the flour and so on...
May I ask you a thing? Is it that necessary for your robot to steer... why don't you try y axis movement???
Cheers,
Lefteris
-
May I ask you a thing? Is it that necessary for your robot to steer... why don't you try y axis movement???
yes it has to steer,,simply because it cannot do y axis movements,,why? because each leg has 2 DOF the first allow it to move up and down
while the other forward and backward
in order to make it move by y axis i should include an additional motor to each leg to make it 3 DOF
this is pretty mechanically complicated and it makes the body very heavey,,
what im thinking to do is to interface an optical mouse into my atmega and prepare the appropriate lenses
this is why im asking about some kind of optical mouse datasheet,,cuz i want to know what data does it output and how.