Skip to content
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

Motors do not start at same time #315

Closed
jcrobots opened this issue Jan 12, 2019 · 3 comments
Closed

Motors do not start at same time #315

jcrobots opened this issue Jan 12, 2019 · 3 comments

Comments

@jcrobots
Copy link

I am using ROS_CANOpen to move a differential drive robot, with a config setup based on: https://github.com/ipa320/schunk_robots/tree/indigo_dev/schunk_lwa4p

I'm using profiled position mode and publishing to the topic "joint_group_position_controller/command" to send target positions. I have found that sometimes when I publish a command, one of the two wheel motors will begin moving one SYNC interval later than the other (I am having to use a 200ms SYNC interval due to this issue: ipa320/schunk_robots#59). I have been told that if I use SYNC messages and my two servo drives have the same group identifier (in firmware they both have group ID 128), they should start at the same time. However there does not seem to be any way to specify a group ID in ROS_CANOpen. It may be notable that I have been unable to reproduce this issue using profiled velocity mode.

I believe this may be a missing functionality in ROS_CANOpen, but if this can be fixed on my end, I would very much appreciate any help or advice!

Thank you for reading

@gavanderhoorn
Copy link
Member

This would appear to be a cross-post of ROS_CANOpen motor synchronization problem on ROS Answers.

@jcrobots
Copy link
Author

Correct, is that ok?

@mathias-luedtke
Copy link
Member

I addressed most of the question on ROS answers.

my two servo drives have the same group identifier (in firmware they both have group ID 128),

I don't know what a "group identifier" should be. It looks like the SYNC object (128 = 0x80).
At the moment this value is hard-coded to this value, it should be synchronous then.

is that ok?

Not really, I will close this issue in favor of ROS answers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants