切换模式和速度设置
切换模式
Inexbot 自主研发的示教器系统有三种操作模式,分别是示教模式,运行模式,远程模式。示教模式下可进行单步运行程序,运行模式可实现示教器的上的已有功能。 使用枚举类型来定义三种操作模式:
enum NRC_OperationMode
{NRC_TEACH_ = 0, ///< 示教模式
NRC_REMOTE_ = 1, ///< 远程模式
NRC_RUN_ = 2, ///< 运行模式
}
通过调用函数NRC_SetOperationMode(NRC_OperationMode mode)
设置操作模式,其中参数 mode 将当前模式切换到该模式下,
同时可以调用函数NRC_OperationMode NRC_GetOperationMode()
返回当前模式,示教速度应该适当,
速度设置
(1)通过调用函数NRC_SetTeachRunSpeedPer(int speedPer)
设置示教速度百分比,其中参数参数范围:0 < speedPer <= 100,微动参数范围 : -1,-2 (关节坐标系下:-1 表示 0.1 度,-2 表示 0.01 度;其他模式下:-1 表示 1mm/s,-2 表示 0.1mm/s)。
调用函数NRC_GetTeachRunSpeedPer()
获取示教速度百分比即其返回示教速度百分比 retval。返回值范围:-2 < NRC_GetTeachRunSpeedPer() <= 100 , NRC_GetTeachRunSpeedPer() != 0。实际速度应该为指令速度乘以示教速度百分比再乘以机器人额定速度。
(2)同理可以调用函数NRC_SetAutoRunSpeedPer(int speedPer)
设置运行速度百分比,speedPer 参数范围:0 < speedPer <= 100,
调用函数NRC_GetAutoRunSpeedPer()
返回自动速度百分比,其中返回值的范围应在 0<NRC_GetARunSpeedPer() <= 10。
设置操作模式的 C++demo 程序
#include <iostream>
#include "nrcAPI.h"
#include<stdio.h>
using namespace std;
int main()
{
SystemStartup();//系统启动,详见3.3节
RobotMsg();//获取机器人配置,详见3.4节
SetServoMap();//设置伺服映射关系,见3.5节
SettingofRobotRelatedParameters();//机器人相关参数设置,详见3.6节
//////以上调用函数可见附录一/////
NRC_SetServoReadyStatus(1);//设置伺服允许,详见3.8节
NRC_SetOperationMode(NRC_RUN_);//设置操作模式为运行模式
NRC_SetAutoRunSpeedPer(80);//设置自动速度为80
NRC_Delayms(1000);//延时1000ms
cout<< NRC_GetAutoRunSpeedPer()<<endl;
cout<<"设置操作模式成功"<<endl;
while(1)//保持程序继续运行
{
NRC_Delayms(1000);
}
}