-
Notifications
You must be signed in to change notification settings - Fork 17
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
Document how to handle external axes / groups #11
Comments
From what I understand in the code a linear track in the first group will be automatically supported. I would like to be able to fetch joint states from two groups, the first group (6 axis of the robot) and the second group (2 axis turn table) |
Unfortunately this driver, similar to the regular The code you linked to earlier would be involved in multi-group support, but at the moment that is all there is. Adding this is on the TODO list, but no work has been done in that direction (well, that's not entirely true: there has been some work done, but it's not in the public repositories). A complicating factor is that it would be nice to do make such support dynamic (ie: not hard-coded for a specific setup). That is non-trivial, especially when dealing with both synchronous and asynchronous motion across multiple groups. An additional complication is that Summarising:
|
I'm not entirely sure it would be possible with your setup, but one way around this limitation is to change your robot's configuration and move the two additional axes to the first group. This would most likely mean that all motion of the robot and turntable would become coordinated. Perhaps not something that you'd want. |
Just realised that you're mostly asking about At least, it's not that involved on the |
Thank you for the detailed responses. If you have some time to craft something it would really be helpful. There are probably simplifications that would allow to do this without re-writing a lot of code! |
There is actually one relatively 'easy' way to get multi-group state reporting working: by using multiple That is how we've done it on ABB robots (such as YuMi fi) with the old driver (EGM will be different). I'll see if I can quickly hack something together for you. |
I've basically just duplicated I'll attach an archive with the binaries once you tell me which version of system software you're running ( Edit: an alternative hack I could put together is use a custom version of On the ROS side you would just use a controller_joint_names:
- 'joint_1'
- 'joint_2'
- 'joint_3'
- 'joint_4'
- 'joint_5'
- 'joint_6'
- 'pjoint_1'
- 'pjoint_2' This is probably simpler, as you wouldn't need to run an additional |
See I think I like this better. You'd only need to replace If you can let me know for which system software version you'd need a binary, I can attach it here to this thread. |
Seeing as it's only a single file, here are the binaries for the second approach (ie: positioner joints 1 and 2 in joint 7 and 8 of the 1st group): Be sure to rename the files to I'm pretty sure this will work out-of-the-box. Let me know. |
Hey, I like the second option too! The drivers abstracts groups, which feels good because there is no such thing in ROS from what I know. I'll begin testing this today and I'll report my progress. |
well .. motion groups do nicely map to ROS namespaces. Or at least, they can be made to map like that. That makes it possible for drivers to relatively easily support asynchronous, but concurrent, execution of trajectories for different motion groups on the same controller. So strictly speaking: no, there is no 'motion group' concept in ROS, but completely abstracting it away might also not be always desirable. |
(just deleted your duplicated comment) |
Example package making use of the driver in the @gavanderhoorn should I add documentation somewhere or is this issue enough at the moment? |
As this is not really an 'officical' solution, let's keep this issue as a stand-in for documentation right now. Future users looking for multi-group support will find it. |
Thanks again for testing. Glad I was able to help. |
Hello Gijs :)
It would be nice to document how to to handle extra axis or groups on Fanuc robots with this driver.
At the moment I'm only interested in getting
ROSSTATE
working on a M710iC with a 2 axis turntable in group 2.I've not yet dug the Karel code but maybe you already have examples with this kind of thing?
The text was updated successfully, but these errors were encountered: