Sensor usage with CM-5

Bioloid robot kit from Korean company Robotis; CM5 controller block, AX12 servos..
57 postsPage 3 of 41, 2, 3, 4
57 postsPage 3 of 41, 2, 3, 4

Post by sdeba » Sat Nov 26, 2011 12:08 pm

Post by sdeba
Sat Nov 26, 2011 12:08 pm

So I'll rather choose IMU, but will think about this wider.

How about CM-5 programming. Where I can find now libavr/libbioloid C library?
So I'll rather choose IMU, but will think about this wider.

How about CM-5 programming. Where I can find now libavr/libbioloid C library?
sdeba offline
Savvy Roboteer
Savvy Roboteer
Posts: 31
Joined: Sat Nov 12, 2011 9:00 pm

Post by i-Bot » Sat Nov 26, 2011 2:11 pm

Post by i-Bot
Sat Nov 26, 2011 2:11 pm

I sent a private e-mail to Stuart and Matt to check status on getting access to libbioloid back again.

There is another option here:
http://code.google.com/p/bioloid/

And of course:
http://www.siempreaprendiendo.es/progra ... ioloid.htm
I sent a private e-mail to Stuart and Matt to check status on getting access to libbioloid back again.

There is another option here:
http://code.google.com/p/bioloid/

And of course:
http://www.siempreaprendiendo.es/progra ... ioloid.htm
i-Bot offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by sdeba » Sun Nov 27, 2011 12:47 am

Post by sdeba
Sun Nov 27, 2011 12:47 am

I found this programming bioloid examples before, but as I posted before microcontrollers are black magic to me that's why I need library which will do most actions under the hood or some detailed guide (I know that there aren't any) or the possibility to talk with sensor via arduino using RoboTask (nice option, but I want to learn how to programm Bioloid). Maybe I should start from reading some books about microcontrollers? Any sugestions from more advanced you would be welcomed. And I would like to thank you for all previous help given to me and patience ;)
I found this programming bioloid examples before, but as I posted before microcontrollers are black magic to me that's why I need library which will do most actions under the hood or some detailed guide (I know that there aren't any) or the possibility to talk with sensor via arduino using RoboTask (nice option, but I want to learn how to programm Bioloid). Maybe I should start from reading some books about microcontrollers? Any sugestions from more advanced you would be welcomed. And I would like to thank you for all previous help given to me and patience ;)
sdeba offline
Savvy Roboteer
Savvy Roboteer
Posts: 31
Joined: Sat Nov 12, 2011 9:00 pm

Post by sdeba » Sat Dec 03, 2011 2:11 pm

Post by sdeba
Sat Dec 03, 2011 2:11 pm

Hi,

All parts are now connected properly on breadboard. I've uploaded HUV IO hex into Arduino so the next question is how to test accelelometer or gyroscope if it works? ;)
Hi,

All parts are now connected properly on breadboard. I've uploaded HUV IO hex into Arduino so the next question is how to test accelelometer or gyroscope if it works? ;)
sdeba offline
Savvy Roboteer
Savvy Roboteer
Posts: 31
Joined: Sat Nov 12, 2011 9:00 pm

Post by i-Bot » Sun Dec 04, 2011 11:54 am

Post by i-Bot
Sun Dec 04, 2011 11:54 am

I too ordered a MinIMU-9. When I get it built I will look at code for the I2C interface.

My suggestion would be for you to first check you can read and write the HUV IO registers and pins using LED or buttons on the ports.

Will you do this through Roboplus Task ?

Libbioloid C library for CM-5 is now available again here:

http://braincell.cx/bioloid/
I too ordered a MinIMU-9. When I get it built I will look at code for the I2C interface.

My suggestion would be for you to first check you can read and write the HUV IO registers and pins using LED or buttons on the ports.

Will you do this through Roboplus Task ?

Libbioloid C library for CM-5 is now available again here:

http://braincell.cx/bioloid/
i-Bot offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by sdeba » Sun Dec 04, 2011 2:37 pm

Post by sdeba
Sun Dec 04, 2011 2:37 pm

Oh, first of all unfortunatelly I bought 6 DOF Digital Combo IMU from SparkFun, because MinIMU-9 would be available in my country in Januraty which is toooo late ;)

SDA and SCL from IMU goes via level converter (Two TXI pins are occupied, RXI are free, is it good?) to Arduino. I've connected it to A4,A5 because I read that there are SDA and SCL pins in Arduino. Don't know if I done it right.

Ok, I'll try to test it using LED and buttons ;)

I'll probably try to do it via Roboplus Task, but already downloaded the library and I'm now reading documentation ;)
Oh, first of all unfortunatelly I bought 6 DOF Digital Combo IMU from SparkFun, because MinIMU-9 would be available in my country in Januraty which is toooo late ;)

SDA and SCL from IMU goes via level converter (Two TXI pins are occupied, RXI are free, is it good?) to Arduino. I've connected it to A4,A5 because I read that there are SDA and SCL pins in Arduino. Don't know if I done it right.

Ok, I'll try to test it using LED and buttons ;)

I'll probably try to do it via Roboplus Task, but already downloaded the library and I'm now reading documentation ;)
sdeba offline
Savvy Roboteer
Savvy Roboteer
Posts: 31
Joined: Sat Nov 12, 2011 9:00 pm

Post by sdeba » Tue Dec 06, 2011 10:30 pm

Post by sdeba
Tue Dec 06, 2011 10:30 pm

Ok, so I have working connection between CM-5 and Arduino. It sees Arduino as Dynamixel interface device with ID 122. The next step is to get values from IMU. I've tried playing around with libbioloid and their implemenred HUV IO and IMU functions, but no success for now. If someone can help me, I would appreciate ;)
Ok, so I have working connection between CM-5 and Arduino. It sees Arduino as Dynamixel interface device with ID 122. The next step is to get values from IMU. I've tried playing around with libbioloid and their implemenred HUV IO and IMU functions, but no success for now. If someone can help me, I would appreciate ;)
sdeba offline
Savvy Roboteer
Savvy Roboteer
Posts: 31
Joined: Sat Nov 12, 2011 9:00 pm

Post by i-Bot » Wed Dec 07, 2011 3:49 pm

Post by i-Bot
Wed Dec 07, 2011 3:49 pm

Pleased to see you are making good progress.

I put a project in my file area which is the HUV IMU modified to read the 6DOF digital IMU over I2C.



I tried not to diverge too far from the original HUV code. This does mean that responses from the IMU may sometimes be delayed by 500 usec or so if the I2C is being read when the the dynamixel read occurs. Probably should intersperse checks on uart char available and call to BLD_ProcessChar, with the I2C cycles to improve response Still this should get you started.

http://robosavvy.com/Builders/i-Bot/6DOF_IMU.zip
Pleased to see you are making good progress.

I put a project in my file area which is the HUV IMU modified to read the 6DOF digital IMU over I2C.



I tried not to diverge too far from the original HUV code. This does mean that responses from the IMU may sometimes be delayed by 500 usec or so if the I2C is being read when the the dynamixel read occurs. Probably should intersperse checks on uart char available and call to BLD_ProcessChar, with the I2C cycles to improve response Still this should get you started.

http://robosavvy.com/Builders/i-Bot/6DOF_IMU.zip
i-Bot offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by i-Bot » Thu Dec 08, 2011 1:45 pm

Post by i-Bot
Thu Dec 08, 2011 1:45 pm

I updated the 6DOFIMU project in my file area.

There was a problem where after a while it stopped working. This seems to be a known problem with the ITG3200 failing to respond and requires the I2C to be reset on a timeout. This is fixed in new code and has been running several hours OK.
I updated the 6DOFIMU project in my file area.

There was a problem where after a while it stopped working. This seems to be a known problem with the ITG3200 failing to respond and requires the I2C to be reset on a timeout. This is fixed in new code and has been running several hours OK.
i-Bot offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by sdeba » Fri Dec 09, 2011 4:47 pm

Post by sdeba
Fri Dec 09, 2011 4:47 pm

Hello,
So I've trying to test your code with libbioloid library (it has ready-to-run example of HUV IMU interaction) and when I was trying to look into results via RoboPlus Terminal I was getting an error ERROR:8100:007A:02. It means, from what I read, that there is a connection problem. Any suggestions?
Hello,
So I've trying to test your code with libbioloid library (it has ready-to-run example of HUV IMU interaction) and when I was trying to look into results via RoboPlus Terminal I was getting an error ERROR:8100:007A:02. It means, from what I read, that there is a connection problem. Any suggestions?
sdeba offline
Savvy Roboteer
Savvy Roboteer
Posts: 31
Joined: Sat Nov 12, 2011 9:00 pm

Post by i-Bot » Fri Dec 09, 2011 5:12 pm

Post by i-Bot
Fri Dec 09, 2011 5:12 pm

It may be the ID. The HUV IMU code has the IMU at ID 120 decimal, not 122.
It may be the ID. The HUV IMU code has the IMU at ID 120 decimal, not 122.
i-Bot offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by sdeba » Fri Dec 09, 2011 5:39 pm

Post by sdeba
Fri Dec 09, 2011 5:39 pm

Oh, I made a mistake trying to upload *.hex file into CM-5, now everything works perfect, the Terminal shows actual values from accelelometer ;) When I've uploaded program into CM-5 I now can't access functions like RoboPlus Manager or RoboPlus Motion. Is it normal behaviour?
Oh, I made a mistake trying to upload *.hex file into CM-5, now everything works perfect, the Terminal shows actual values from accelelometer ;) When I've uploaded program into CM-5 I now can't access functions like RoboPlus Manager or RoboPlus Motion. Is it normal behaviour?
sdeba offline
Savvy Roboteer
Savvy Roboteer
Posts: 31
Joined: Sat Nov 12, 2011 9:00 pm

Post by i-Bot » Fri Dec 09, 2011 5:55 pm

Post by i-Bot
Fri Dec 09, 2011 5:55 pm

I don't use libbioloid, but it seems quite normal to me. To work with Roboplus Manager or Roboplus Motion, you need the CM-5 to communicate with the appropriate protocol for these programs. Using Libbioloid uses the serial link for whatever you program in CM-5.

To use Roboplus Manager or Roboplus motion you need either to replace the original Robotis CM-5 code, or write a compatible version in libbioloid.
I don't use libbioloid, but it seems quite normal to me. To work with Roboplus Manager or Roboplus Motion, you need the CM-5 to communicate with the appropriate protocol for these programs. Using Libbioloid uses the serial link for whatever you program in CM-5.

To use Roboplus Manager or Roboplus motion you need either to replace the original Robotis CM-5 code, or write a compatible version in libbioloid.
i-Bot offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by sdeba » Fri Dec 09, 2011 6:01 pm

Post by sdeba
Fri Dec 09, 2011 6:01 pm

Just like I thought. Is there any possibility to run Motion using C code? ;)
Just like I thought. Is there any possibility to run Motion using C code? ;)
sdeba offline
Savvy Roboteer
Savvy Roboteer
Posts: 31
Joined: Sat Nov 12, 2011 9:00 pm

Post by i-Bot » Fri Dec 09, 2011 8:14 pm

Post by i-Bot
Fri Dec 09, 2011 8:14 pm

To run Motion with C code is possible, but not simple.

The actual CM-5/CM-510 remains closed source from Robotis.

I didn't keep up with any current CM-5/CM-510 emulation projects, so you should search for these first. Also waht work hs been done to document the protocol

The protocol and interaction of Motion with the CM5/CM510 is an extension of the Dynamixel protocols, but adds some major new dimensions. The ability to download motions into the CM5/CM-510 and then to have them execute locally is the main addition. This means that a motion engine needs to be implemented in the controller.

Good news comes from the DARwin project, where source is provided for a very similar motion engine( even including Gyro support).

Any chance for you to document your work in blog or article for others ?
To run Motion with C code is possible, but not simple.

The actual CM-5/CM-510 remains closed source from Robotis.

I didn't keep up with any current CM-5/CM-510 emulation projects, so you should search for these first. Also waht work hs been done to document the protocol

The protocol and interaction of Motion with the CM5/CM510 is an extension of the Dynamixel protocols, but adds some major new dimensions. The ability to download motions into the CM5/CM-510 and then to have them execute locally is the main addition. This means that a motion engine needs to be implemented in the controller.

Good news comes from the DARwin project, where source is provided for a very similar motion engine( even including Gyro support).

Any chance for you to document your work in blog or article for others ?
i-Bot offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

PreviousNext
PreviousNext
57 postsPage 3 of 41, 2, 3, 4
57 postsPage 3 of 41, 2, 3, 4