|
| Downloads | Software: RRG Kinematix v3.0 |
|
|
| New RRG Kinematix v4.0 is available |
|
| RRG Kinematix v3.0 is available for download below. The file size is 800KB and it is zipped. |
|
| Description |
'RRG Kinematix' is a C/C++ library for generalized robot kinematics. It can be used to perform forward and inverse kinematics of any serial chain robot, with any number of Degrees of Freedom. All information about the robot is included in the DH parameter file, that the user has to supply for their own robot. Also, the user can create and manipulate multiple robots at the same time.
The usage is very simple, because the forward and inverse kinematics is performed by calling simple functions like 'GetHandPosition( )' and 'GetJointPosition( )' respectively. For those who like to fine tune the kinematics routines to their own needs, functions are provided that will adjust the parameters of the inverse kinematics routines.
The library is supplied as a DLL file for Win95/NT. The LIB file supplied, is to be included as one of your project files, while compiling programs made to use the DLL. Once compiled, the program will automatically look for the DLL in the Windows system directory.
|
|
| Example Applications |
'RRG Kinematix' is distributed along with four sample applications developed with it. These examples demonstrate the capabilities of the library and also show how to use this package.
Example 1: This program performs the forward kinematics solution for a planar 3R robot. The user enters the 3 joint values in degrees and the program computes the position and orientation of the end-effector and prints it in the homogenous matrix form.
Example 2: This program uses the 'RRG Kinematics.dll' to find the inverse solution of a Puma560 robot. Some initial set of angles are specified in the program and then it calculates the values of joint angles to make the EEF move in the x direction incrementally. The joint values are printed on to the screen.
Example 3: This Program demonstrates RRG Kinematix performing inverse kinematics for a 7-DOF robot. Here we specify the robot to move in a straight line along the x direction. This program needs RoboWorks running simultaneously. 'RoboWorks' is a easy-to-use 3D simulation package developed by Dr. Chetan Kapoor at UT. RoboWorks can communicate with other programs through the TCP/IP channel and thus other programs can control the simulations of robots in RoboWorks. The high level functions and libraries needed for the third party programs to communicate with RoboWorks is distributed with it. Roboworks is available in our Software Download section.
Example 4: This Program demonstrates the ability of RRG Kinematics in using multiple robots. Here, a 10 DOF robot is considered as two robots having 3DOF and 7DOF each. The 7DOF robot 'arm', sits on the end-effector of the 3DOF robot 'torso'. The user can move the torso DOFs using the keyboard keys. This program then calculates the forward kinematics for torso and based on this result recalculates the arm inverse kinematics, so that the end-effector of the arm stays in the same position. This example also needs RoboWorks.
|
|
| What's new in v3.0 |
Four new functions have been added in version 3.0 of RRG Kinematix, in addition to some changes in the original API. The new functions added are:
- GetDOF: Returns the Degrees of Freedom (DOF) of a robot.
- GetHandJacobian: Returns the Jacobian matrix of the robot. The user can specify the joint angle state based on which the Jacobian is to be calculated. If the user does not supply joint angles, the current joint angle state is used.
- SetJointLimits: The user can set the joints limits for the robot using this function. The joints limits are specified in a limits file which is in a specific format.
- SetInverseType: Using this function the user can specify which inverse type is to be used in the inverse kinematics calculations. The two choices available are Pseudo Inverse and Avoid Limits Pseudo Inverse. The first one is the default and the second one can be used only if the robot is spatial and redundant.
Apart from the above additions, few minor changes in the original API have been made which might cause programs developed for previous versions of RRG Kinematix to not work with version 3.0 DLL.
The changes are in the predefined error return values. All error return values have been prefixed with 'RRG_' in order to avoid namespace clashes. For example, FAILED will now be RRG_FAILED and BAD_DHFILE is now RRG_BAD_DATA_FILE. See the new RRG Kinematix.h file for more information.
Also, the GetJointPosition() function has been modified in version 3.0 to take 4 parameters instead of 3. The last parameter is an integer array of the same size as DOF and this will return the joint limit violation information.
|
|
| Download |
| RRG Kinematix 3.0 is no longer available. Please use RRG Kinematix Version 4.0. |
|
|
|
|