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

grl iiwa driver #14

Open
ahundt opened this issue Dec 14, 2017 · 5 comments
Open

grl iiwa driver #14

ahundt opened this issue Dec 14, 2017 · 5 comments

Comments

@ahundt
Copy link

ahundt commented Dec 14, 2017

Hey,

I'm the author of https://github.com/ahundt/grl, and I'm interested to see how is FRI based control is working for you in practice?

I'd also like to mention these two recent papers by Disney research on control of the KUKA via FRI:

  1. https://www.disneyresearch.com/publication/toward-torque-control-of-a-kuka-lbr-iiwa/
  2. https://www.disneyresearch.com/publication/toward-controlling-a-kuka-lbr-iiwa-for-interactive-tracking/
@sammy-tri
Copy link
Collaborator

It's been working pretty well for us, though we haven't use the torque control features extensively (we have used it to some extent though). We have had intermittent issues where we lose FRI control of the robot and need to reboot the control cabinet (this is usually accompanied by an error on the pad which reads something like 'Connection to Sunrise failed'), though that seems to be happening less frequently these days.

I looked at grl a bit a year or two ago, it looks like it's come a long way since then.

Thanks for the pointers to the papers, I'll definitely take a look!

Let me know if you have any more specific questions about FRI (or our experiences) and if I don't know I'll try to track down someone who might.

@ahundt
Copy link
Author

ahundt commented Dec 14, 2017

@sammy-tri I'm continuing the conversation from #15 (comment) regarding runtime. Which program would be the best one to run with no end effector to give your stack a first try?

I see

I'd appreciate your advice.

@sammy-tri
Copy link
Collaborator

Unfortunately the best example in drake is suffering from some bitrot and you'd basically need to build spartan anyway to get the needed dependencies to get it to work (there's a backlog item to replace the demo in drake with something newer but sadly we haven't gotten there). If you can get https://github.com/RobotLocomotion/spartan/blob/master/scripts/bin/kuka_iiwa_procman to run successfully, there's a director-based app to teleop the arm which would give you a basic example... but spartan is not easy to build in my experience.

@rcory has recently gotten a working mac build of spartan (I think), tagging him in here to see if he's got any pointers.

Unfortunately you've come across a major gap in our new user experience where our sample code was written for director which is no longer shipped with drake. My apologies for this situation (and for the fact that it's gone on this long).

@ahundt
Copy link
Author

ahundt commented Dec 14, 2017

No worries, I appreciate that you're looking to close that gap and improve the user experience! It looks like drake has also come a long way.

There has been quite a bit of progress with grl but our team is of limited size. This is very tentative,
but if drake is easy to set up and run it might be sensible for me to make a pull request integrating some of the key grl features such as switching FRI/java control modes at runtime and go from there.

Would there be any potential interest in this from you/your team?

It looks like the only additional driver dependency I'd have is flatbuffers, which is used to pack and send UDP packets to the robot controller which configure the mode such as FRI position control, FRI torque control, SmartServo, DirectServo, Teach.

@sammy-tri
Copy link
Collaborator

Being able to set the control mode parameters (FRI position vs. torque, joint impedance constants, fri configuration) without deploying a new app with Sunrise would definitely be of interest to us, I've just been too lazy to add a control protocol to do it. :)

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

2 participants