跳到主要内容

NRC_SetAllServoMapRelation(std::vector<int> servoMap,int syncGroupSum, int syncType[], std::vector<std::vector<int>> syncServoMap)

设置伺服映射关系

说明:

机器人轴与伺服对应关系为:

1 轴 连接 第 2 个伺服

2 轴 连接 第 3 个伺服

3 轴 连接 第 1 个伺服

4 轴 连接 第 4 个伺服

5 轴 连接 第 6 个伺服

6 轴 连接 第 5 个伺服

则 servoMap 的值为 { 2, 3, 1, 4, 6, 5 }

外部轴个数与伺服对应关系

无外部轴,则 syncGroupSum 值为 0,

一个单轴变位机,则 syncGroupSum 值 1,syncType 为{1,0,0},syncServoMap 为{{7}}

两个双轴变位机,一个地轨,则 syncGroupSum 值 3,syncType 为{2,2,3},syncServoMap 为{{7,8},{9,10},{11}}

类型

int=>设置伺服映射关系

返回值说明
0表示函数正常调用
-101无效的输入参数
-102目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值
-103目标对象当前处于不可操作状态

参数 Option

参数类型说明
servoMapstd::vector < int>伺服映射关系,个数为设置的机器人总轴数,值为每一轴所连接的伺服编号
syncGroupSumint外部轴组最大数目,最大为 3,最多支持两个双变位机加一个地轨
syncType[]int外部轴组类型,0:无,1:单轴变位机,2:双轴变位机,3:地轨
syncServoMapstd::vector < int>外部轴伺服映射关系

示例代码

std::vector`<int>` servoMap = { 0, 0, 0, 0, 0, 0 };//机器人映射
int syncGroupNum = 2;
int syncType[]={2,1,0};
std::vector<std::vector`<int>`> syncServoMap={{0,0},{0,0},{0,0}};
NRC_SetAllServoMapRelation(servoMap,syncGroupNum, syncType, syncServoMap);//设置伺服映射关系