Clear Filters
Clear Filters

Using geometricJacobian and velocities

3 views (last 30 days)
I used the geometricJacobian method that generated a the matrix for a puma. So I underatand v = J theta_dot, where v is a vector of cartesian velocities, and theta_dot is is a vector of joint velocities. When I created the rigidbodytree and rigidbody, I did not specify any velocities.
  1. Am I supposed to spectify velocities when I create the rigidbody joints?
  2. With the Jacobian I got from using geometricJacobian, is there a method that returns the joint velocities and the cartesian velocities, so I know what they look like, and I can multiply the J with the jount velocities, to verify the result of the cartesian velocities? I am confused where the velocities are basically, and which functions are there to obtaon velocities.

Accepted Answer

Yiping Liu
Yiping Liu on 2 Mar 2021
To your questions:
  1. NO. rigidBodyTree in Robotics System Toolbox is designed to be stateless. So there are no joint positions/velocities/accelerations on the robot objects. These quntities are passed in as input argumetments to robot methods, such as getTransform, or inverseDynamics.
  2. NO. the geometricJacobian is just a matrix that relates joint velocities to end-effector velocity. It is also conifguration-dependent, so it's typically written as J(q). To get the end-effector velocity in Cartesian space, you need to provide your vector of joint velocity qDot, and do xDot = J(q) * qDot;

More Answers (0)


Find more on Robotics System Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!