Activitybot: Use other Wheels?
Hello community!
First: I hope this is the right place for this questions - didn't know where else to post.
Then: I wanted to know if it's possible to use other wheels on the activitybot. Maybe the ones from the sumo bot - or even selfmade ones.
If i understand this correctly, it's required to calibrate the robot in order to drive proper distances (or to get porper motion, generally). There's a program doing that calibration, it's measuring sensor ticks between the spokes of the wheel. When using other wheels than the original ones, the number of spokes would differ from the original 32.
Is it possible to just mount anything that has such spokes? Will the number of holes in the wheel affect the motion?
I'm aware that by using other wheels, the used distance per tick needs to be adjusted. Original is 3.25mm per tick, that will differ depending on the layout of the wheel, of course. But is there anything else to be aware of? For example, is the calibration based on the 32 spokes and it'll be needed to change that number anywhere?
Thanks in advance for any help!
First: I hope this is the right place for this questions - didn't know where else to post.
Then: I wanted to know if it's possible to use other wheels on the activitybot. Maybe the ones from the sumo bot - or even selfmade ones.
If i understand this correctly, it's required to calibrate the robot in order to drive proper distances (or to get porper motion, generally). There's a program doing that calibration, it's measuring sensor ticks between the spokes of the wheel. When using other wheels than the original ones, the number of spokes would differ from the original 32.
Is it possible to just mount anything that has such spokes? Will the number of holes in the wheel affect the motion?
I'm aware that by using other wheels, the used distance per tick needs to be adjusted. Original is 3.25mm per tick, that will differ depending on the layout of the wheel, of course. But is there anything else to be aware of? For example, is the calibration based on the 32 spokes and it'll be needed to change that number anywhere?
Thanks in advance for any help!
Comments
You are in the right place. Welcome to the forums! Great questions and ideas. You will learn a lot by exploring this.
Let me do a little research... But in case you haven't seen the two attached documents. They will give you a little material to study about the theory on how the encoders work. The first is the original BOE Bot wheel encoder instructions and the second is a document that explains the operation and theory in great detail.
Of course you can use different wheels and different counts or ticks as you said and yes you would adjust the code.
Keep posting and there are lots of folks here who will try to help help! PhiPi (Phil Pilgrim), who wrote the ApplyEncoder pdf is around, and my pal erco is an encoder wiz too!
Edit - Of course, Andy with Parallax, whose post is below is like getting the answer directly from the source! ;-)
Have fun!
The current optical sensor doesn't do well with more than 32 spokes, and it is also pretty picky about distance from the surface it detects.
There's a servodiffdrive library that does not require encoder feedback. With drive_speeds(0,0); you can use a screwdriver to make the servos stay still. You can also write functions that take encoder feedback from scratch with that library.
Other, options might include a paper disk with 32 black spokes, but it would have to be the right distance from the sensor and the right black ink.
thanks for the Information!
It's not that i'm already working on it, i'm still getting started with my ActivityBot - but while putting the parts together, i thought "Hey, maybe you can use almost anything with spokes for wheels..?"
So, now i know it's surely possible. But i also know that it's not done by just changing some numbers. I've had a quick look at the two PDFs and was a little shocked about the details. A great source, thanks for that - but also way too much information right now :-)
To change the mentioned abdrive library seems to be a task worth doing (...i guess i'll learn much about coding) - but to be honest, i don't even know where to start. I guess i'll not have to re-invent this library, but having a quick look at the code i couldn't locate anything that looks like "...and this piece is working with encoder ticks".
So, in general it should be possible, yes. But as for now, i have no clue how.
Anyways, thanks for your informations!