View Full Version : [Question(s)] On Bioloid: How to measure the angular position of a turntable?

11-27-2011, 02:22 AM
Hi folks,

INFORMATION: I've got a premium Bioloid kit.

SITUATION: A colleague and me have been working on a project for a while at the robotic laboratory of our university. Basically, our purpose is to analyse the movement of a turntable when a robot attached to it his moving. We now have what seems to be a good theoretical model for it. However, we aren't able to experimentally validate our equations with a robot we built using the Bioloid robotic platform because we aren't able to get a good value for the angular position.

TESTS: I've tried many ways to use two infrared sensors to detect the shade of two circles placed under it (see picture below) in order to get the angular position, but the infrared sensors are definitely not enough precise to give a good value (ie. the best we got was an error of plus or minus 20 degrees). I've also tried to increase the precision by using the DMS in a certain way, but it still isn't enough precise. Except these two sensors, I've got the gyroscope that measures the velocity.


QUESTION: How can I measure the angular position of a rotating turntable with the Bioloid robotics platform?

HYPOTHESIS: I don't know any Bioloid sensor that can do it. I don't think the integrated sensor (AX-S1) can do it, right? (http://support.robotis.com/en/product/auxdevice/sensor/dxl_ax_s1.htm) Do you think there's a way to use the sensor in the actuator to measure the angular position (I don't really care if it is only of 300 degrees instead of 360) but without causing to much friction on the pivot point? Otherwise, do you have an idea of how I could integrate a non-Bioloid sensor with the Bioloid platform? by making our own sensor (http://support.robotis.com/en/product/bioloid/premiumkit/usefullinfo/cm-510_usersensor.htm)?

CONCLUSION: Money isn't an issue. We would just like to find out something that would work with the Bioloid platform because otherwise, we will have to build our own robot.

Thank you very much for reading my post and for suggesting ideas if you have any.

Mathieu Roy

11-28-2011, 01:34 PM
Not sure how you have the gyro mounted, but it does not measure yaw rate (about the axis perpendicular to the top of the sensor IC). So mounting it correctly (with the sensor IC as close to the turntable rotational axis as possible), you should be able to get the rotational rate (angular velocity) as an analog signal to be retrieved by the CM-510. The details of the signal are located on the robotis support site. If it is insufficiently accurate, you could buy any of a wide assortment of analog rotational rate sensors from several manufacturers (might need a 2.7~3.3V regulated supply if not already on the breakout board). Or drop the CM-510, and use an Arduino with a digital sensor. Or you could try going the magnetic encoder route (like the MX-28). Just a few of the many available options.

11-28-2011, 05:52 PM
"it does not measure yaw rate" I only need the angular velocity compared to the axes perpendicular to the turntable.

"you should be able to get the rotational rate" Actually, it is the angular position measurement that I wanted to improve. I already have a value for the rotational rate (even if I haven't really test the precision of it yet).

May you give me a Internet link of a sensor I could buy to do this?

Thanks a lot

11-28-2011, 10:37 PM
Well stupid me. Apparently I no longer read anything in its entirety anymore as I keep managing to skim over key pieces of information (e.g. mistaking angular rate/velocity for angular position). Of course by integrating velocity over time, you do get distance.

Whether you realize it or not, you appear to have created a very basic rotary optical encoder in the image you uploaded. Add a few more IR sensors (or simpler versions of them) and a proper encoder disc, and you should be able to achieve fairly reasonable accuracy in absolute positioning. There is a thread on the trossen forums about a program (http://forums.trossenrobotics.com/showthread.php?4438-DIY-Encoders-new-application&highlight=encoder+program) for creating incremental and absolute rotary encoder discs that can be printed out. Took a while, but I finally tracked down the google code site for it (http://code.google.com/p/wheel-encoder-generator/). Some of the inexpensive IR sensors (like the Phidgets (http://www.trossenrobotics.com/p/phidgets-IR-relfective-sensor-5mm.aspx) IR sensor or other line sensors) might be a better choice than the Robotis sensors, but I am not sure about that (the smaller sensors may allow better resolution of the transitions within a ring and have less interference between each encoder ring).

11-29-2011, 03:28 AM
Of course by integrating velocity over time I do get distance, but I don't think that is precise enough.

When I do a (proper) encoder with black and white color alternating (as shown in you links), it seems like I cannot separate my circle in more than 8 parts because otherwise, when the turntable is turning rapidly, the sensor sometimes skip a part (so then I get all positions values shift by a value of 22.5 degrees).

Now you're suggesting me to use like 5 circles with 5 infrared sensors. So I'll try this (as soon as we get the other premium kits we bought), but I stay skeptical about whether it will significantly increase the precision. If it does not work, I'll consider buying other types of sensors.

I'll reply to this thread when I will have test this solution. Thanks.

Meanwhile, if you think of something else, please let me know.