SRMS Values

TerraMimic

New member
Joined
Jun 11, 2010
Messages
106
Reaction score
0
Points
0
So, I've got a class in robotics, and I was wondering if someone here either knows, or knows where to find the DH values for the SRMS (Canadarm). I was hoping to be able to use them to create a simulation for class.

Thanks.
 
So, I've got a class in robotics, and I was wondering if someone here either knows, or knows where to find the DH values for the SRMS (Canadarm). I was hoping to be able to use them to create a simulation for class.

Thanks.

DH? You mean Denavit-Hartenberg convention?

You can try looking into the SSU sources, we have pretty accurate dimensions and at least the data that you need for getting a formally correct DH form. I don't want to claim that the IK part of SSU really is DH, I remember it is rather optimized already. But DH was sure part of the solution process. The animation data that we use for the forward kinematics by Orbiters API could also be useful, since orbiters animation API is pretty close to the frames of the DH form.


EDIT: Of course, you can also just use the SSU add-on. SiameseCat did a great job getting the SRMS panels implemented.
 
Thanks for the info. Unfortunately I can't just use SSU. We are supposed to be creating our own simulations using the teacher provided code libraries to model an existing robot arm.

Eventually, we are supposed to be creating alternate control methods (non traditional controls) for the arm. Having real world data would make it more accurate. If I can't find these, data on other 6 degrees of freedom arms will work just as well.

I was just hoping to come up with something more impressive than the cookie-cutter models the rest of class is most likely going to have.
 
If you want the lengths of each of the links, you can look at the RMSSystem.h file; the RMS_XX_XX_DIST parameters give the distance between different joints. The SY and SP joints are at the same position.

BTW, if you want to see how SSU does the IK calculations, look at the MoveEE; for given end effector position/direction, it calculates the required joint angles.
 
Maybe i'm just being stupid right now, but i can't find the SSU source anywhere. Even google has failed me.
 
Ok, let's see if I've got this right.

SY_JOINT - shoulder yaw joint
SP_JOINT - shoulder pitch joint
EP_JOINT - elbow pitch joint
WP_JOINT - wrist pitch joint
WY_JOINT - wrist yaw joint
EE_POS - end effector position

And the position values are in meters, right? I can get the distances for all the joints just fine from what i can see, but how do I determine the angles between the joints for the arm in its start position? And I only see 5 degrees of freedom here, where's the 6th? (i could just be counting wrong, according to class the end effector doesn't count, so...)

Edit: I got a length of 15.0740m for the arm. Is that correct?
 
Last edited:
Ok, so I found this image to give me some idea of the positioning of the joints.
rmsparts.jpg

But I could not find position info for the Wrist Roll Joint (the 6th DOF i couldn't find before). Also, does the position data in the .h file take into account that the elbow joint is out of plane with the rest of the arm? The code I'm writing right now assumes that it is in-plane.
 
The Wrist Roll Joint is at the End Effector position.

The RMS_SP_NULL_ANGLE and RMS_EP_NULL_ANGLE values compensate for the elbow joint position. In effect, they represent the angle offset between the measured joint angle and the actual joint angle. In the start (stowed) position, all joints are at angle 0.0.
 
Back
Top