This function set the angular torque's maximum and minimum values.
#include <iostream>
#include <dlfcn.h>
#include <vector>
#include "KinovaTypes.h"
using namespace std;
int main()
{
int result;
cout << "SetAngularTorqueMinMax function example" << endl;
void * commandLayer_handle;
int (*MyInitAPI)();
int (*MyCloseAPI)();
int (*MySetAngularTorqueMinMax)(AngularInfo, AngularInfo);
commandLayer_handle = dlopen("Kinova.API.USBCommandLayerUbuntu.so",RTLD_NOW|RTLD_GLOBAL);
MyInitAPI = (int (*)()) dlsym(commandLayer_handle,"InitAPI");
MyCloseAPI = (int (*)()) dlsym(commandLayer_handle,"CloseAPI");
MySetAngularTorqueMinMax = (int (*)(AngularInfo, AngularInfo)) dlsym(commandLayer_handle,"SetAngularTorqueMinMax");
if((MyInitAPI == NULL) || (MyCloseAPI == NULL) || (MySetAngularTorqueMinMax == 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 << endl;
AngularInfo commandMin;
AngularInfo commandMax;
commandMin.InitStruct();
commandMax.InitStruct();
commandMin.Actuator1 = 2.0f;
commandMin.Actuator2 = 2.0f;
commandMin.Actuator3 = 2.0f;
commandMin.Actuator4 = 2.0f;
commandMin.Actuator5 = 2.0f;
commandMin.Actuator6 = 2.0f;
commandMax.Actuator1 = 90.0f;
commandMax.Actuator2 = 90.0f;
commandMax.Actuator3 = 90.0f;
commandMax.Actuator4 = 90.0f;
commandMax.Actuator5 = 90.0f;
commandMax.Actuator6 = 90.0f;
result = (*MySetAngularTorqueMinMax)(commandMin, commandMax);
cout << "Force max min has been set." << endl;
cout << endl << "Calling the method CloseAPI()" << endl;
result = (*MyCloseAPI)();
cout << "result of CloseAPI() = " << result << endl;
}
return 0;
}