orfeus
September 12, 2010, 8:19pm
1
Hi to all,
this is an Arduino based three omni wheels rover with 2DOF.
The 2DOF is accomplished by three omni wheels on a continuous rotation servo (modified) each in a 120 deg. angle.
The code was a little bit tricky but with good old trigonometry and physics it is done :)
The actual sketch can be found here: OmniBOT Arduino Sketch
(Yes it is in GREEK it doesn't just sound like it :) but the code is readable (english) )
A few more pictures can be found here : OmniBOT photos
Any thoughts, suggestions or comments are welcome !!
Thank you for your time.
Orfeus
p.s.
I am saying this is complete cause the main purpose of the project was the code.
Next will be a completed "sensore-ised" rover.
Holomonic Movement Kiwi Steering 2DOF
Actuators / output devices: 3 HiTEC Servos (modified for continuous rotation)
Control method: autonomous
CPU: Arduino Duemilanove
Operating system: Windows
Power source: 3V5, 7V2
Programming language: Arduino IDE 0019
Sensors / input devices: none yet
Target environment: indoor
This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/omnibot-arduino-based-three-omni-wheels-holomonic-movement-rover-kiwi-steering
adamh
September 13, 2010, 10:38am
2
Very nice work! I love
Very nice work! I love omnidirectional wheels and I have something similar (http://dir.adamh.cz/robot-omnibot/foto/2010_09_11_omnibot-cd/omnibot_cd4.jpg ) on my table now.
How did you mounted whells to servos? And didn’t you have problems with wheel adhesion as I have? (I have to put my robot on some rougher or rubber surface if I want him moving straight)
Looking forward to the version with sensors!
adamh
September 14, 2010, 4:57pm
3
No, and I don’t use Arduino,
No, and I don’t use Arduino, so I have another code Where can I find yours? Did you solved problems with servo non-linearity?
The pencil is an interesting idea, I tried gluing it too first, but centering was a little bit tricky
When will you have version with sensors?
orfeus
September 15, 2010, 4:55am
4
Thanks adamh,actually the
Thanks adamh,
actually the CD-based rover is a great idea !!! nice thinking.
I super glued the spare horns on the wheels so they are stable as rocks I used a pencil as an axis so they where centered.
I do have problems with wheel adhesion they are slippery as on ice !!! but I had to work with them as you
You can tell how slippery they are watching the video :((((
Did you read the sketch ? Did you tried it ?
I am waiting for yours to be alive !!!
Thnx again
orfeus
September 17, 2010, 3:31am
5
At last !!! some nice questions !
I was waiting for someone to have some questions about it !!! Thank you for that.
I am using 3 different ways to “fine tune” the servos.
1.Because they were modified for continuous rotation they didn’t have the same settings
(max/min pulses and of-course the center). So I used an array with their Offsets. Every time I am
asking the servo to do something the offset is there.
2. There is an option to mount some servos with different “polarity” so I am using a “polarity” variable (vals: 1,-1) to
multiply by the final speed.
3. The linearity was a tricky bit. I am using logarithms (ln(1+cos(dir)*1,718)) and then I am “mapping” the values to the
servo pulses limits. Not perfect but close enough !!
About the sensors, I am going to use 2 IR mounted on a servo with 180 angle between them, so I am going to have
360 degrees scanning region with one sweep . That’s to have omni robots, obstacles can be everywhere around !!!
Hope you find it useful.
Thank you again !!
orf.
p.s.
What uC are you using ?
orfeus
September 17, 2010, 5:23am
6
The sketch (CODE)
Adamh you can see the code here : OmniBOT Sketch
(or see the attachment above)
adamh
September 24, 2010, 6:29am
7
Very nice, I had the same
Very nice, I had the same problems with servo’s “center” value
I am using cubic regression from http://www.cs.cmu.edu/~pprk/tech_info.html for counting servo speed, it works well. I use jBotBrain controller (http://jbrain.c-bot.eu ), it’s board with AT91SAM7S256 running Java (like lejos on Lego Mindstorms). I’ve uploaded my robot’s video on http://www.youtube.com/watch?v=wrWtY4WH_PU , but I don’t have time now for playing with t and adding more sensors
Have you mounted IR rangefinders already? I am looking forward to next video
orfeus
September 26, 2010, 6:30am
8
Hi Adam, nice video and good
Hi Adam, nice video and good idea for the plastic floor !!! I didn’t even think of cubic regression but using the logarithmic approach I am getting a close match.
I am going to measure the wheels speed to make it more accurate (Nice thinking !!! thnx)
The jBotBrain is a very nice uC unit and as I can see you are getting a nice movement.
The goal with our type of robots is to: Always Have The Front Side Ahead and I am not there yet.
Maybe I have to blame the wheels !!!??? but I am still “fighting” with the code.
I am not going to add any sensors till I got the accurate movement I am looking for so I am back to “software coding” issues. I am having some hard time at work (New Cisco ASAs) so I am a little bit back but hopefully I will have some free time to spend on it.
Please keep me posted with your progress always two minds is better than one ;)
Thnx