Using geometricJacobian and velocities

10 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)

Community Treasure Hunt

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

Start Hunting!