Literally.
The omniwheel is capable of going in any direction you want, it can also rotate on the spot. So I thought, why not combine the two and make it rotate and move? After picking Brian Davis’ sizable brain about using a gyro as a means to calculate a heading, I tweaked my old program and came up with this.
There are some issues with slippage but, more importantly, gyro drift. The program is very simple, so no special code was added to compensate for that. Perhaps the next version will.
Did you try to compute position by small movement integration? I am doing this for a robot with two wheels, but I do not known if your sensors are precise enough and construction is rigid enough to do this.
The construction is very rigid. However, the gyro’s drift is quite a lot.
I use the following code to compute the heading:
task getHeading () {
HTGYROstartCal(GYRO);
PlaySound(soundBeepBeep);
while (true) {
time1[T1] = 0;
curRate = HTGYROreadRot(GYRO);
if (abs(curRate) > 3) {
oldAngle = newAngle;
newAngle = oldAngle + curRate * delTime;
if (newAngle > 360) newAngle -= 360;
else if (newAngle < 0) newAngle += 360;
}
wait1Msec(5);
delTime = time1[T1];
delTime /= 1000;
}
}
My message was not clear, I was talking about odometry by looking at wheels rotation.
Very cool! I can only imagine what that could be used for. Maybe a waiter or something at a Japanese restaurant?
[…] — Xander @ 11:10 The “Minifig Vomit Mobile” is what my friend Marc-Andre called the omniwheel I took the video of. I felt that in order for that name to be more accurate, I had to add a minifig to the robot, […]
What is the IR Seeker for? Chasing an IR ball?
How do you correct the heading? RC using BT?
He actually corrects the heading using a invisible sail and a huge fan :). No, actually I don’t think that he was correcting the heading at all in the video. Maybe I’m wrong.
The IR Seeker is there for decoration purposes only at the moment. This robot is not remote controlled. It uses the gyro to keep track of its heading. I just stood back and made the video and then ran when it went over that edge.
[…] “Minifig Vomit Mobile” is what my friend Marc-Andre called the omniwheel I took the video of. I felt that in order for that name to be more accurate, I had to add a minifig to the robot, so […]
Hi!
I have a 3-wheel omni robot and I’d like to know, how can I get it rotating and at the same time moving forward. It doesn’t have gyro. It’s a robot, which is used for kicking balls(found by camera) in the goal. And It would be really cool to do one 360 before kicking the ball in or something like that 😀 Can you guys share an algorithm for this? Of course functions which control the wheels are different, but just a general idea would be great too.
Hey Madis,
It is hard to get the spin right when you don’t know what your current heading is. Do you have a compass on your robot?