arduino API

1. 机器人整体运行状态 Overall Status

powerOn();

  • 功能:atom 打开通讯(默认打开)
  • 返回值:无

powerOff();

  • 功能:atom 关闭通讯
  • 返回值:无

isPoweredOn();

  • 功能:atom 状态查询,返回 atom 链接状态
  • 返回值:打开 TRUE、关闭 FALSE

setFreeMove();

  • 功能:按下Atom按钮,所有关节关闭扭力输出
  • 返回值:无

2. 输入程序控制模式 MDI Mode and Robot Control (Manual Data Input)

getAngles();

  • 功能:读取所有关节角度,使用时应定义一个 Angles angles,来接收读取到的角度,Angles 是库函数内置的变量或函数定义,可以定义一个内存为 6 的储存空间 angles,用来储存角度变量,使用的方式与数组相同。

  • 返回值:Angles 类型的数组

writeAngle(int joint, float value, int speed);

  • 功能:发送单关节角度

  • 参数说明: 关节序号 = joint,取值范围 1-6; 指定角度值 = value,取值范围约-170°~ + 170° 指定速度 = speed, 取值范围 0~100;

  • 返回值:无

writeAngles(Angles angles, int speed);

  • 功能:关节角度同步执行,同时发送六个关节的角度给执行器 Angles 为库函数声明的定义类型,指定 angles 是容量大小为 6 个数据的容器,可理解为数组,赋值时可使用 for 循环赋值,也可单独赋值。

  • 参数说明: Angles[0] = 具体角度,Angles[2] = 具体角度,以此类推取值范围 0 – 90(范围为定义,取值范围应和 writeAngle 相同) 单位 ° 运动速度 = speed,取值范围 0~100 单位 %

  • 返回值:无

getCoords();

  • 功能:读取当前机械臂末端的 x,y,z,rx,ry,rz,使用时应定义一个 Coords tempcoords,来接收读取到的角度,Coords 是库函数内置的变量或函数定义,可以定义一个内存为 6 的储存空间 tempcoords,用来储存角度变量,使用的方式与数组相同。

  • 返回值:Coords 类型下的一个数组,需要定义好 Coords 类型的变量

isInPosition (Coords coord,bool is_linear);

  • 功能:读取当前机械臂末端的 x,y,z,rx,ry,rz,测试是否到达指定点位,使用时应定义一个 Coords tempcoords,来接收读取到的角度,Coords 是库函数内置的变量或函数定义,可以定义一个内存为 6 的储存空间 tempcoords,用来储存角度变量,使用的方式与数组相同。

  • 返回值:Coords 类型下的一个数组,需要定义好 Coords 类型的变量

writeCoord(Axis axis, float value, int speed);

  • 功能:发送单独坐标参数 X/Y/Z/RX/RY/RZ 的具体数值,末端会在单独方向上移动,

  • 参数说明: 移动的路径坐标值 = value 取值范围 -300 – 300(axis=Axis::X,aixs=Axis::Y 和 axis=Axis::Z 为位置坐标分别为 X,Y,Z,单位 mm,位置坐标取值范围不统一,axis=Axis::RX, aixs=Axis::RY 和 axis=Axis::RZ 分别为 RX,RY,RZ 取值范围为-180° 至 180°,超出取值范围会返回 inverse kinematics no solution 提示) 指定速度 =speed 取值范围 0~100 单位 %

  • 返回值:无

writeCoords(Coords coords, int speed);

  • 功能:发送指定的坐标参数,参数的类型应是 Coords,需要声明一个 Coords 类型的变量,此变量的使用方法与数组相同

  • 参数说明: coords[0] = X, coords[1] = Y, coords[2] = Z, X,Y,Z 取值范围 -300-300.00(取值范围未定义,超出范围会返回 inverse kinematics no solution 提示) 单位 mm coords[3] = RX, coords[4] = RY, coords[5] = RZ, RX,RY,RZ 取值范围 -180~180 指定速度 =speed 取值范围 0~100 单位 %

  • 返回值:无

checkRunning();

  • 功能:检查设备是否在运动

  • 返回值:运动中回复 TRUE,否则回复 FALSE

setEncoder(int joint, int encoder);

  • 功能:设定单一关节转动至指定电位值

  • 参数说明:关节序号 = joint 取值范围 1-7(7号关节一般为夹爪);舵机电位值 = encoder 取值范围 0-4096(该范围应与每个关节的范围正相关)

  • 返回值:无

getEncoder(int joint);

  • 功能:获取指定关节电位值

  • 参数说明:舵机序号 = joint 取值范围 1-7

  • 返回值:int 类型 ,参考取值范围 0-4096

setEncoders(Angles angleEncoders, int speed);

  • 功能:设定机械臂六个关节同步执行至指定位置

  • 参数说明:需要定义一个 Angles 类型的一个变量 angleEncoders,,angleEncoders 的使用方法等同于数组,对数组 angleEncoders 赋值,取值范围 0~4096(该范围应与每个关节的范围正相关),数组的长度范围是6,指定速度 =speed,取值范围 0~100 单位 %

  • 返回值:无

3. 微动控制模式 JOG Mode

jogAngle(int joint, int direction, int speed);

  • 功能:控制设备单一关节向一个方向运动

  • 参数说明: 关节舵机序号 =joint 取值范围 1-6 关节运动方向=Direction 取值范围 -1/1 指定速度 =speed,取值范围 0~100 单位%

  • 返回值:无

jogCoord(Axis axis, int direction, int speed);

  • 功能:控制设备在笛卡尔空间中向一个方向运动

  • 参数说明: 设备方向选择 = axis 取值 X,Y,Z,RX,RY,RZ 关节运动方向 = Direction 取值 -1/1 指定速度 =speed,取值范围 0~100 单位 %

  • 返回值:无

jogStop();

  • 功能:停止已经开始的指定方向运动

  • 返回值:无

pause();

  • 功能:程序暂停运行

  • 返回值:无

resume();

  • 功能:程序继续运行

  • 返回值:无

stop();

  • 功能:程序停止运行

  • 返回值:无

4. 运行辅助信息 Running Status and Settings

getSpeed();

  • 功能:读取设备的当前运行速度

  • 返回值:int 类型,数值范围 0-100,单位 %

setSpeed(int percentage);

  • 功能:设置设备运行速度

  • 参数说明:percentage 取值范围 0 – 100,单位 %

getFeedOverride();(暂未开放)

  • 功能:读取 FeedOverride

  • 返回值:float 类型的数值

sendFeedOverride(float feedOverride);(暂未开放)

  • 功能:发送 FeedOverride

getAcceleration();(暂未开放)

  • 功能:读取加速度

  • 返回值:float 类型的数值

setAcceleration(float acceleration);(暂未开放)

  • 功能:设置加速度

  • 参数说明:acceleration 取值范围 0-100 (范围未定义)

getJointMin(int joint);

  • 功能:读取关节最小限制角度

  • 参数说明:关节舵机序号 = joint,取值范围 1-6

  • 返回值:float 类型的数值

getJointMax(int joint);

  • 功能:读取关节最大限制角度

  • 参数说明:关节舵机序号 = joint,取值范围 1-6

  • 返回值:float 类型的数值

setJointMin(int joint, float angle);

  • 功能:设置关节最小限制角度

  • 参数说明:关节舵机序号 = joint,取值范围 1-6;关节对应角度 = angle,取值范围-180 ~ 180

  • 返回值:无

setJointMax(int joint, float angle);

  • 功能:设置关节最大限制角度

  • 参数说明:关节舵机序号 = joint,取值范围 1-6;关节对应角度 = angle,取值范围-180 ~ 180

  • 返回值:无

setMovementType(MovementType movement_type);

  • 功能:设置移动方式

  • 参数说明:移动方式分别为以非线性路径移动(movej)和以线性路径移动(movel)

  • 返回值:无

getMovementType();

  • 功能:读取移动方式

  • 参数说明:

  • 返回值:非线性方式返回 0 ;线性方式返回 1

5. 关节电机设置 Joint Servo Control

isServoEnabled(int joint);

  • 功能:检测关节舵机是否抱死

  • 参数说明:关节舵机序号 = joint,取值范围 1-6

  • 返回值:抱死返回 TRUE/1,不抱死返回 FALSE/0

isAllServoEnabled();

  • 功能:检测所有关节舵机是否抱死

  • 返回值:抱死返回 TRUE/1,不抱死返回 FALSE/0

getServoData(int joint, byte data_id);

  • 功能:读取舵机指定地址的数据参数

  • 参数说明: 关节舵机序号 = joint,取值范围 1 - 6 ; 数据地址 = data_id,取值范围请参考下图 1.1 中地址

  • 返回值:下图 1.1 中取值范围

setServoData(int joint, byte data_id, byte data);

  • 功能:设置舵机指定地址的数据参数

  • 参数说明:
    关节舵机序号 = joint,取值范围 1 - 6
    数据地址 = data_id,取值范围请参考上图 1.1 中地址
    数据 = 上图1.1中的取值范围

  • 返回值:无

setServoCalibration(int joint);

  • 功能:校准关节舵机当前位置为角度零点,对应电位值为 2048

  • 参数说明:关节舵机序号 = joint,取值范围 1 – 6

jointBrake(int joint);

  • 功能:刹车单个电机

  • 参数说明:关节舵机序号 = joint,取值范围 1 – 6

releaseServo(byte servo_no);

  • 功能:放松机械臂某一关节/使机械臂某一关节处于掉电状态

  • 参数说明:servo_no为1~6

  • 返回值:无

focusServo(byte servo_no);

  • 功能:使机械臂某一关节处于上电状态

  • 参数说明:servo_no为1~6

  • 返回值:无

6. Atom 末端IO控制 Atom IO Control

setPinMode(byte pin_no, byte pin_mode);

  • 功能:设置 atom 指定引脚的状态模式

  • 参数说明: 引脚序号 = pin_no,取值范围:19、22、23、26、32、33 输出模式 = pin_mode 取值范围:0、1

  • 返回值:无

setLEDRGB(byte r, byte g, byte b);

  • 功能:设定 atom 屏幕的 RGB 灯的颜色:

  • 参数说明: 红色光对应参数值 = r,取值范围 0x00 – 0xFF; 绿色光对应参数值 = g,取值范围 0x00 – 0xFF; 蓝色光对应参数值 = b,取值范围 0x00 – 0xFF;

  • 返回值:无

setGripper(int data);

  • 功能:设置夹爪开合

  • 参数说明:data 为 0 打开,为 1 关闭

setGripperValue(int data, int sp);

  • 功能:设置夹爪电位,使用前请获取夹爪当前电位

  • 参数说明: 输入值(0-4095)

  • 返回值:无

setGripperIni();

  • 功能:设置夹爪零点

  • 参数说明:无

  • 返回值:无

getGripperValue();

  • 功能:获取夹爪当前电位值

  • 参数说明:无

  • 返回值:返回当前的夹爪电位值,范围 0 - 4085

setGripperState(byte mode, int sp);

  • 功能:设置夹爪的打开与关闭

  • 参数说明: 0 打开,1 关闭

  • 返回值:无

isGripperMoving();

  • 功能:检测夹爪是否在运动

  • 参数说明:

  • 返回值:0 不在运动,1 在运动

setDigitalOutput(byte pin_no, byte pin_state);

  • 功能:设置IO引脚的工作状态

  • 参数说明:0 input; 1 output; 2 pull_up_input

  • 返回值:无

getDitialInput(byte pin_no);

  • 功能:读取输入

  • 参数说明:无

  • 返回值:无

setPWMOutput(byte pin_no, int freq, byte pin_write);

  • 功能:设置ATOM末端IO输出指定占空比的PWM信号

  • 参数说明:

    pin_no:IO序号
    freq:  时钟频率
    pin_write:占空比 0 ~ 256;128表示50% 
    
  • 返回值:无

7. 坐标控制模式

setToolReference(Coords coords);

  • 功能:设置工具坐标系

  • 参数说明: X,Y,Z 取值范围 -300-300.00(取值范围未定义,超出范围会返回 inverse kinematics no solution 提示) 单位 mm RX,RY,RZ 取值范围 -180~180

  • 返回值: 无

setWorldReference(Coords coords);

  • 功能:设置世界坐标系

  • 参数说明: X,Y,Z 取值范围 -300-300.00(取值范围未定义,超出范围会返回 inverse kinematics no solution 提示) 单位 mm RX,RY,RZ 取值范围 -180~180

  • 返回值: 无

getToolReference();

  • 功能:获取工具坐标系

  • 参数说明:无

  • 返回值: X,Y,Z 取值范围 -300-300.00(取值范围未定义,超出范围会返回 inverse kinematics no solution 提示) 单位 mm RX,RY,RZ 取值范围 -180~180

getWorldReference();

  • 功能:获取世界坐标系

  • 参数说明:无

  • 返回值: X,Y,Z 取值范围 -300-300.00(取值范围未定义,超出范围会返回 inverse kinematics no solution 提示) 单位 mm RX,RY,RZ 取值范围 -180~180

setReferenceFrame(RFType rftype);

  • 功能:设置法兰坐标系

  • 参数说明: RFType::BASE 为将机器人基座作为基坐标,RFType::WORLD 为将世界坐标系作为基坐标。

  • 返回值: 无

getReferenceFrame();

  • 功能:获取法兰坐标系

  • 参数说明:无

  • 返回值: X,Y,Z 取值范围 -300-300.00(取值范围未定义,超出范围会返回 inverse kinematics no solution 提示) 单位 mm RX,RY,RZ 取值范围 -180~180

setEndType(EndType end_type);

  • 功能:设置末端坐标系

  • 参数说明: EndType::FLANGE 为将末端设置为法兰,EndType::TOOL 为将末端设置为工具末端。

  • 返回值: 无

getEndType();

  • 功能:获取末端坐标系

  • 参数说明:无

  • 返回值: X,Y,Z 取值范围 -300-300.00(取值范围未定义,超出范围会返回 inverse kinematics no solution 提示) 单位 mm RX,RY,RZ 取值范围 -180~180

results matching ""

    No results matching ""