Command Cartesian Pose and additive Wrench via FRI

  • Hello,


    I am using DirectServo and the transformationProvider to command cartesian pose via FRI, which works decently well.

    In Cartesian Impedance mode there is the option to add an additional wrench via FRIJointOverlay, which I wanted to try out as:


    Code
    FRIJointOverlay wrenchOverlay = new FRIJointOverlay(session, ClientCommandMode.WRENCH);
    aDirectServoMotion.addMotionOverlay(wrenchOverlay);
    _lbr.moveAsync(aDirectServoMotion);

    However, the IIWAs give an error about an invalid motion type, which makes me think that you can not use MotionOverlay in combination with direct servo, since everything works if I remove the first two lines. Is this true or did I make an error?

    If these two can not be combined, are there any other solutions to commanding a Cartesian Pose as well as a Wrench via FRI?


    Many Thanks

  • AD
  • Hello pdoh,


    I've never been aware of using Servoing and FRI simultaneously can work.

    Probably you've thought about it since FRI doesn't support commands in Cartesian space.


    If your Cartesian pose part is not under real-time control, you can localize the Cartesian pose part with ordinary motion. And let the overlay take the Wrench part.

    -> Not really sure if it's applicable to you, but you can still get Cartesian pose data through another communication channel from your client, if you need to get it externally.


    And if you need the Cartesian pose part still be controlled in real-time, you can stick with -only- FRI, and try transformationProvider-there's an example code- along with Wrench command.

    As far as I understood, transformationProvider offers the Client side to transform a given Frame(Base) which the Server side will get affected in real-time.

    So a command like 'lbr.moveAsync(controlledFrame).addMotionOverlay(ov);' will be controlled in both Cartesian pose and Wrench.

    -> Never tested by myself but it might worth a shot for you.

  • Hello Seulki,


    Quote

    I've never been aware of using Servoing and FRI simultaneously can work.

    Probably you've thought about it since FRI doesn't support commands in Cartesian space.

    Yes, I found this workaround from another thread in this forum.

    Quote

    If your Cartesian pose part is not under real-time control, you can localize the Cartesian pose part with ordinary motion. And let the overlay take the Wrench part.

    I am using Simulink to provide the desired Cartesian pose online via FRI.

    Quote

    -> Not really sure if it's applicable to you, but you can still get Cartesian pose data through another communication channel from your client, if you need to get it externally.

    So you mean e.g. an additional UDP connection for transmitting Cartesian Pose? I was hoping to avoid that for safety reasons and to find a native solution.


    Is the FRI that limited? We were using the Stanford FRI on the old LWR 4+ to command Cartesian pose and Wrench simultaneously without any problem.


    Quote

    And if you need the Cartesian pose part still be controlled in real-time, you can stick with -only- FRI, and try transformationProvider-there's an example code- along with Wrench command.

    As far as I understood, transformationProvider offers the Client side to transform a given Frame(Base) which the Server side will get affected in real-time.

    So a command like 'lbr.moveAsync(controlledFrame).addMotionOverlay(ov);' will be controlled in both Cartesian pose and Wrench.

    Actually I am using transformation provider at the moment to update the setpoint for the servomotion.

    So you propose to do everything without servoing?

    To be honest I am not 100% why we are using it at the moment. I think to update the impedance parameters online. Would this be possible to do without servoing?

    Worst case I can live without it, if that means I can command cartesian pose and wrench at the same time via FRI.

    Quote

    -> Never tested by myself but it might worth a shot for you.

    I will try it out an update this post as soon as I have the time for it.


    Thank you a lot for your help!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now