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

Missing directory #1

Open
wilson-ko opened this issue Apr 17, 2015 · 9 comments
Open

Missing directory #1

wilson-ko opened this issue Apr 17, 2015 · 9 comments

Comments

@wilson-ko
Copy link

Hi,

I am using the LBR IIWA robot as well and was interested in using your work. However, I can't get your package to build. It appears that the folder fri/include containing the file friLBRClient.h is missing. Could you please have a look at that? Thanks.

@rtkg
Copy link
Owner

rtkg commented Apr 21, 2015

Hi,

The mentioned file is proprietary and given by KUKA as part of the software package coming with the iiwa, therefore we cannot include it in the repo. If you have purchased the system, just copy the corresponding header file to fri/include.

Anyway, right now the interface is in a pretty hacky state. We're not actually using the FRI, since it currently doesn't support impedance control. For the Direct Servo connection we employ now, the header file is not actually necessary and it should compile and work by just commenting out the FRI related parts of the code.

Best,
-Robert-

@wilson-ko
Copy link
Author

Hi,

I see, thanks for the info! I'm actually new to programming with Kuka so I didn't know what FRI was. Unfortunately, I do need impedance control (or actually, gravity compensation) so I guess that this won't work for me. Please let me know if you have any tips on gravity compensation and again thanks for your reply!

Wilson

@rtkg
Copy link
Owner

rtkg commented Apr 21, 2015

Gravity compensation is done by the KUKA controller on the Sunrise cabinet anyway. You can either directly program your applications there, using the Java Sunrise environment or use one of the interfaces to the external world (Direct/Smart Servo or FRI, where the latter currently only offers limited usability).

In general it's no problem to command the external joint/cartesian torques and/or forces only, the internal ones like gravity, friction and dynamics are compensated for by the KUKA controller. So if you command zero external cartesian force/torque to the end-effector (or, alternatively, zero external torques to the joints) this corresponds to gravity compensation in the static case. Note, that force control is not the same as impedance control, where you'd control the arm essentially like a mechanical mass-spring-damper system with desired stiffness, damping and inertia.

You could also command the applied torques directly, but since no model of the robot is available (and KUKA is very hesitant to release it) it would require quiet some system identification effort to implement things like gravity compensation yourself.

I'd suggest you have a look at the documentation of the Sunrise and the available interfaces to decide what works best for the application you have in mind.

-Robert-

@wilson-ko
Copy link
Author

I see, so it is actually done by the controller itself. From the information I found it seemed like a special mode which needs to be enabled, using the Sunrise environment there is this class GravComp which I thought should be activated in some way they didn't explain. Both the API and documentation didn't say much about this, but your explanation clarifies a lot, thanks. I guess I will try to dig for more information from the mentioned interfaces. Thanks again!

@mma-po
Copy link

mma-po commented Jul 10, 2015

Did you figure out how to activate gravitation compensation? I have the same problem right now and looking forward for your help. Thank you!

@wilson-ko
Copy link
Author

Hi,

As Robert mentioned, the gravity compensation is done by the Kuka
controller itself. You don't need to activate it specifically, only thing
you need to do is to specify a tool with the right dimensions and mass.
This can be either done in code or graphically in sunrise workbench. You
can find more about this in the documentation and API.

Wilson

On Fri, 10 Jul 2015 16:17 mma-po notifications@github.com wrote:

Did you figure out how to activate gravitation compensation? I have the
same problem right now and looking forward for your help. Thank you!


Reply to this email directly or view it on GitHub
#1 (comment).

@mma-po
Copy link

mma-po commented Jul 10, 2015

Thanks for your answer. I know that I have to specify the tool/workpiece I want to use. In a kuka promotion video I saw someone moving a gravitation compensated tool by hand without pressing a switch on the hanguiding device, which means he wasn't using the ClassMMCMotions. My question is how I can move a tool by hand this way. I think for this it's necessary to activate the gravComp mode.

@wilson-ko
Copy link
Author

Aah sorry then I misunderstood your question. To move the tool around you
can use impedance mode, have a look at cartesian impedance mode. Once you
set the robot in cartesian mode you can specify the position and
orientation stiffness. When a tool is specified the gravity compensation
module will still work even in impedance mode afaik.

Wilson

On Fri, 10 Jul 2015 19:12 mma-po notifications@github.com wrote:

Thanks for your answer. I know that I have to specify the tool/workpiece I
want to use. In a kuka promotion video I saw someone moving a gravitation
compensated tool by hand without pressing a switch on the hanguiding
device, which means he wasn't using the ClassMMCMotions. My question is how
I can move a tool by hand this way. I think for this it's necessary to
activate the gravComp mode.


Reply to this email directly or view it on GitHub
#1 (comment).

@mma-po
Copy link

mma-po commented Jul 10, 2015

ok, it's a good idea to use the impedance mode and set the stiffness to 0.
I just wrote a mail to kuka and got the answer that the gravitation compensation is officially not available yet. That means your suggestion is the only possibility to get a 'pseudo' gravitation compensation.

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