空间圆弧默认为三维,构造圆弧时,方向逆时针为正、除起始点和终点外,辅助参数输入分为三种:
int main()
{
double startPos[3] = { 0, 10, 20 };
double endPos[3] = { 10, 0, -20 };
trajectory_handle handle = trajectory_new_line(3);
trajectory_set_start_pos(handle, startPos);
trajectory_set_end_pos(handle, endPos);
trajectory_set_plan(handle);
double dist = trajectory_get_plan_distance(handle);
for(double d = 0; d <= dist; d+=0.1)
{
double pass_dist[3];
trajectory_get_plan_slice(handle, d, pass_dist);
std::cout << "pass_dist :" << pass_dist[0] << "," << pass_dist[1] << "," << pass_dist[2] << endl;
}
trajectory_delete(handle);
return 0;
}
2. 圆弧插补示例:起始点 { -10,0,10 },终点 { 10, 0, 5 }, 经过圆弧点 {0, 10, 7.5}
int main()
{
double startPt[3]= { -10, 0, 10 };
double auxPt[3] = { 0, 10, 7.5 };
double endPt[3] = { 10, 0, 5 };
trajectory_handle handle = trajectory_new_arc(0, auxPt, 0);
trajectory_set_start_pos(handle, startPt);
trajectory_set_end_pos(handle, endPt);
trajectory_set_plan(handle);
double dist = trajectory_get_plan_distance(handle);
for (double d = 0; d <= dist; d+=0.1)
{
double pass_dist[3];
trajectory_get_plan_slice(handle, d, pass_dist);
std::cout << "pass_dist :" << pass_dist[0] << "," << pass_dist[1] << "," << pass_dist[2] << endl;
}
trajectory_delete(handle);
return 0;
}
ZMC600E运动控制器 配备了直线和圆弧插补算法,这些算法能够灵活应对各种应用需求,确保轨迹的精确性。掌握这些运动插补技术,有助于提高设备的控制精度和工作效率,为工业生产带来显著的效益提升。