Hi,
I am working on a 7DOF manipulator which will trace a given trajectory in xyz space, here is some information about the system i am using,
PC OS: windows 7
programing language&compiler: Visual studio C++
SSC32 firmware version: 2.07
The manipulator i am working on is actually a Cyton Robai, since they are using SSC32 control board so i am trying to direct control the manipulator by sending the command to SSC32 through serial port.
So here is the problem,
In the video i am trying to control the manipulator tracing a circle trajectory, however there are a lot of “vibration” is generated and apparently it is not accurate at all, so my question is if there is anyway to solve this kind of vibration problem from “software level”?
In my case, i am generate a set of joint angle from matlab and than passing it to the C++ and storing in a vector. And then i just transfer those joint angle into the command and send them to the ssc32, time step i’m using to update the coordinate is 100ms.
Here is a part of my code about sending the command to the ssc32,
for (int i = 0; i<NumJoint; i++)
{
joint_angle* = AngleCalibrate(q*);
std::cout<<"joint_angle "<<i<<"="<<joint_angle*<<"\n";
}
//writing joint angle to controller
char Angle[200];
DWORD dwBytesToWrite = (DWORD)strlen(Angle);
DWORD dwBytesWritten = sizeof(Angle) + 1;
std::string String_char;
String_char = sprintf(Angle,"#0 P%d T%d #1 P%d T%d #2 P%d T%d #3 P%d T%d #4 P%d T%d #5 P%d T%d #6 P%d T%d \n\r",joint_angle[0],TimeStep,joint_angle[1],TimeStep,joint_angle[2],TimeStep,joint_angle[3],TimeStep, joint_angle[4],TimeStep,joint_angle[5],TimeStep,joint_angle[6],TimeStep);
printf(Angle);
std::cout<<"\n";
if(!WriteFile(hComm, Angle,dwBytesToWrite, &dwBytesWritten, NULL))
{
printf("error sending command");
ERROR_DETAIL();
system("pause");
}
Sleep(100);
thanks you***