Our top priority

We are as proud of our service as we are of our robots.

Forgot your password?

Splash Forums Support Jaco v2 cartesian velocity control broken

This topic contains 1 reply, has 1 voice, and was last updated by  rongoldman 5 months, 2 weeks ago.

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
  • #5194


    Hi. I have been trying to use Cartesian Velocity Control on our Jaco V2 arm (j2s7s300) and the angular velocity control part seems to be broken. I am trying to move the arm to a target pose and compute the difference between the current pose (as published by the topic /j2s7s300_driver/out/tool_pose) and my target pose. The resulting Twist values are then published to /j2s7s300_driver/in/cartesian_velocity. The arm’s XYZ position smoothly moves to the target pose position, but the arm’s orientation gets progressively worse.

    Doing some experimentation I discovered that things work okay if I transform the angular velocity from the base_link frame to the end_effector frame?!?!?! That seems very wrong: angular velocity component in a different frame then the linear component?

    As the ROS wrapper just sends the velocity values over USB to the arm controller that seems to be where the problem is located.

    Note: I am using the latest kinova-ros stack from github.

    — Ron —

    p.s. Using the joystick and commanding a motion along the Y axis I see a small rotation about the Z axis in the fingers’ orientation. Publishing cartesian velocity messages to do a similar motion shows the same Z-axis rotation if I set all the angular velocity values to zero. With the angular velocity values set to the difference between the actual & desired orientation in the base_link frame makes the orientation error worse, and the fingers’ orientation is now rotated about all the axes. Rotating the angular velocity correction into the end_effector frame causes the arm to maintain the desired orientation, correcting for the rotation about the Z axis.



    Thinking more about this it seems that maybe the Cartesian velocity control was previously just used by the joystick where (from the JACO User Guide):

    “When controlling the arm in Cartesian mode with the joystick, the user commands the
    end-effector’s translations (position variations) with respect to the base and the rotations
    (orientation variations) around the end-effector’s reference point.”

    That makes sense for joystick control, but not sure it is best for programmatic control.

Viewing 2 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.

Trending now

Expert Talk

Hitting the Mark with Marketing: The Do’s and Don’ts of Creating a Message Around Robotics

While robotics companies have been around for decades, the spotlight on the industry has only really intensified in recent years as new technologies become more readily available and more implicated in the lives of humans.

Read more
Expert Talk

For the Greater Good: The Importance of Fulfilling Corporate Social Responsibility

By now, it goes without saying that the cornerstone of Kinova’s DNA is our desire to create products that empower humanity, and that fulfilling our ethical, human and social responsibilities is fundamental to maintaining the core of our culture. Always has been, always will be.

Read more
Expert Talk


As discussions around the advancement of AI evolve, so too do the concerns. And for good reason. Machines are getting smarter and smarter, able to complete complex tasks and process information incredibly fast. But, what happens when the developments in AI move too quickly — and we lose sight of human ethics?

Read more