Kinova API Documentation
KINOVAAPIUSBCOMMANDLAYER_API int GetCartesianCommand ( CartesianPosition Response)

This function get the cartesian command of the end effector. The orientation is defined by Euler angles(Convention XYZ).

Parameters:
ResponseAn CartesianPosition struct containing the values. Units are meters for the translation part and Rad for the orientation part.
Member Unit
Xmeter
Ymeter
Zmeter
Theta XRAD
Theta YRAD
Theta ZRAD
Finger 1No unit
Finger 2No unit
Finger 3No unit
#include <iostream>
#include <dlfcn.h> //Ubuntu
#include <vector>
#include "KinovaTypes.h"
//Note that under windows, you may/will have to perform other #include

using namespace std;

int main()
{
        int result;
        CartesianPosition data;

        cout << "GetCartesianCommand function example" << endl;

        //Handle for the library's command layer.
        void * commandLayer_handle;

        //Function pointers to the functions we need
        int (*MyInitAPI)();
        int (*MyCloseAPI)();
        int (*MyGetCartesianCommand)(CartesianPosition &);

        //We load the library (Under Windows, use the function LoadLibrary)
        commandLayer_handle = dlopen("Kinova.API.USBCommandLayerUbuntu.so",RTLD_NOW|RTLD_GLOBAL);

        //We load the functions from the library (Under Windows, use GetProcAddress)
        MyInitAPI = (int (*)()) dlsym(commandLayer_handle,"InitAPI");
        MyCloseAPI = (int (*)()) dlsym(commandLayer_handle,"CloseAPI");
        MyGetCartesianCommand = (int (*)(CartesianPosition &)) dlsym(commandLayer_handle,"GetCartesianCommand");

        //If the was loaded correctly
        if((MyInitAPI == NULL) || (MyCloseAPI == NULL) || (MyGetCartesianCommand == NULL))
        {
                cout << "Unable to initialize the command layer." << endl;
        }
        else
        {
                cout << "The command has been initialized correctly." << endl << endl;

                cout << "Calling the method InitAPI()" << endl;
                result = (*MyInitAPI)();
                cout << "result of InitAPI() = " << result << endl;

                result = (*MyGetCartesianCommand)(data);

                cout << "       Command X : " << data.Coordinates.X << endl;
                cout << "       Command Y : " << data.Coordinates.Y << endl;
                cout << "       Command Z : " << data.Coordinates.Z << endl;

                cout << "  Command ThetaX : " << data.Coordinates.ThetaX << endl;
                cout << "  Command ThetaY : " << data.Coordinates.ThetaY << endl;
                cout << "  Command ThetaZ : " << data.Coordinates.ThetaZ << endl;

                cout << "Command Finger 1 : " << data.Fingers.Finger1 << endl;
                cout << "Command Finger 2 : " << data.Fingers.Finger2 << endl;
                cout << "Command Finger 3 : " << data.Fingers.Finger3 << endl;

                cout << endl << "Calling the method CloseAPI()" << endl;
                result = (*MyCloseAPI)();
                cout << "result of CloseAPI() = " << result << endl;
        }

        return 0;
}
 All Classes Files Functions Variables Enumerations Enumerator Defines