-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
motor state publishing in position control demo significantly slower than the old dynamixel_motor package #53
Comments
Hi :) I checked frequency of publishing data in position control demo. I checked it using topic monitor in rqt. Thanks. |
I am using MX-12W and MX-64AT together both set at baudrate of 1000000.
When I run the same command while running position control with
|
Hi :) I tried MX-12W and MX-64AT which are set at baudrate 1000000.
I think you have a mistake something. Thanks. |
Okay. Good to know. I will debug my code. I just pulled master branch and it seems that it stopped compiling.
|
Hi :) 'kinetic-devel' branch is used to upload for official ROS packages. It points that which version is downloaded by 'apt-get install' commands. The error messages shows last version of dynamixel-workbench. $ sudo apt-get purge ros-kinetic-dynamixel-workbench* After delete installed metapackage, clone again it your catkin_workspace. Thanks. |
Okay. I cleaned up all system install of dynamixel workbench.
And, I still only get 5Hz on this same machine (fairly powerful laptop) that can achieve 30Hz with
|
Here is little more debugging info in timing. I measured both package how long it takes. In
Similarly, I measured times of three functions in
Notice that to prepare one motor_state message, it took 191 ms. However, similar to So, I think
Just like |
Hi :) Thank you for your contribution. I will be check it in my environment. Thanks. |
Both packages were tested with ROS Kinetic on Ubuntu 16.04. Thanks! |
This issue of slow publishing was happening with all the motors we had (including XM430, MX-64AT, MX-12W, AX-18A) and on all the desktop machines we tried. I fixed I only fixed it for XM motors in |
Hi :) Thank you for sharing your code. Thanks. |
This closed issue might be help you #145 |
While running pan and tilt demo, I noted that in the code, there is
readDynamixelState
function which causes bottle neck because it is callingreadRegister
many times.bool PositionControl::readDynamixelState()
bool DynamixelDriver::readRegister(std::string addr_name, int32_t *value)
It has a consequence of slowing down publishing motor state to 2Hz.
On the same computer, when I use
dynamixlel_motor
package with same set of 2 Dynamixel motors, it can publish motor state at 30Hz. When I looked at their code, they read all the registers with a single read, is that possible indynamxiel-workbench
?The text was updated successfully, but these errors were encountered: