by i-Bot » Wed Mar 23, 2011 12:08 pm
by i-Bot
Wed Mar 23, 2011 12:08 pm
Thanks bullit for the clafication on the two versions.
I started with the UPenn code and agree it is more complete and the best start point if Robocup is the objective. The code hacks I put in the article are not valid for the UPenn code.
To run the UPenn code I had a different approach where I emulated the CM-730 on a Cortex M3 (actually an NXP not STM because I prefer the USB bootloader). This used the on chip USB interface to talk with the main controller unlike the CM730 which uses an FTDI chip. I had to write linux USB device drivers and rewrite the low level c and lua from UPenn. This got DARwin communication manager working. I was looking at adapting the kinematics on UPenn when the Robotis code appeared. The Robotis code seemed to offer a quick start opportunity to get more people involved, so I jumped over to that.
The UPenn code seems to have reference to a SYNC READ command, but that did not appear to make it to the Robotis docs or code. Do you use the same firmware in the CM-730 for both UPenn and Robotis main controller software ?
The superiority of the RX28M is interesting. Since you have experience of a wide range of Robotis servos including some with mag encoders, do you think the improvement is due to mechanics, encoders, or the servo firmware ?
In the UPenn code, I see in the DarwinOPCommManager.lua code, the comment " We can control hardness with RX28" and in the DarwinLCCommManager.lua code the comment " Dynamixel torque limit..... making it useless for hardness control". Can bullit, JS, or anyone explain this and what servos it applies to ?
Thanks bullit for the clafication on the two versions.
I started with the UPenn code and agree it is more complete and the best start point if Robocup is the objective. The code hacks I put in the article are not valid for the UPenn code.
To run the UPenn code I had a different approach where I emulated the CM-730 on a Cortex M3 (actually an NXP not STM because I prefer the USB bootloader). This used the on chip USB interface to talk with the main controller unlike the CM730 which uses an FTDI chip. I had to write linux USB device drivers and rewrite the low level c and lua from UPenn. This got DARwin communication manager working. I was looking at adapting the kinematics on UPenn when the Robotis code appeared. The Robotis code seemed to offer a quick start opportunity to get more people involved, so I jumped over to that.
The UPenn code seems to have reference to a SYNC READ command, but that did not appear to make it to the Robotis docs or code. Do you use the same firmware in the CM-730 for both UPenn and Robotis main controller software ?
The superiority of the RX28M is interesting. Since you have experience of a wide range of Robotis servos including some with mag encoders, do you think the improvement is due to mechanics, encoders, or the servo firmware ?
In the UPenn code, I see in the DarwinOPCommManager.lua code, the comment " We can control hardness with RX28" and in the DarwinLCCommManager.lua code the comment " Dynamixel torque limit..... making it useless for hardness control". Can bullit, JS, or anyone explain this and what servos it applies to ?