AUBO SDK  0.26.0
arcs::common_interface::MotionControl类 参考

#include <motion_control.h>

Public 成员函数

 MotionControl ()
virtual ~MotionControl ()
double getEqradius ()
 获取等效半径,单位 m moveLine/moveCircle时,末端姿态旋转的角度等效到末端位置移动 可以通过 setEqradius 设置,默认为1
int setEqradius (double eqradius)
 设置等效半径,单位 m moveLine/moveCircle时,末端姿态旋转的角度等效到末端位置移动,数值越大,姿态旋转速度越快
int setSpeedFraction (double fraction)
 动态调整机器人运行速度和加速度比例 (0., 1.
double getSpeedFraction ()
 获取速度和加速度比例,默认为 1 可以通过 setSpeedFraction 接口设置
int speedFractionCritical (bool enable)
 速度比例设置临界区,使能之后速度比例被强制设定为1.
bool isSpeedFractionCritical ()
 是否处于速度比例设置临界区
bool isBlending ()
 是否处交融区
int pathOffsetLimits (double v, double a)
 设置偏移的最大速度和最大加速度 仅对pathOffsetSet中 type=1 有效
int pathOffsetCoordinate (int ref_coord)
 设置偏移的参考坐标系 仅对pathOffsetSet中 type=1 有效
int pathOffsetEnable ()
 路径偏移使能
int pathOffsetSet (const std::vector< double > &offset, int type=0)
 设置路径偏移
int pathOffsetDisable ()
 路径偏移失能
int pathOffsetSupv (const std::vector< double > &min, const std::vector< double > &max, int strategy)
int jointOffsetEnable ()
 关节偏移使能
int jointOffsetSet (const std::vector< double > &offset, int type=1)
 设置关节偏移
int jointOffsetDisable ()
 关节偏移失能
int getQueueSize ()
 获取已经入队的指令段(INST)数量,运动指令包括 moveJoint/moveLine/moveCircle 等运动指令以及 setPayload 等配置指令
int getTrajectoryQueueSize ()
 获取已经入队的运动规划插补点数量
int getExecId ()
 获取当前正在插补的运动指令段的ID
double getDuration (int id)
 获取指定ID的运动指令段的预期执行时间
double getMotionLeftTime (int id)
 获取指定ID的运动指令段的剩余执行时间
int stopMove (bool quick, bool all_tasks)
 StopMove 用于临时停止机器人和外部轴的运动以及相关工艺进程。如果调用 StartMove 指令,则运动和工艺进程将恢复。
int startMove ()
 StartMove 用于在以下情况下恢复机器人、外部轴的运动以及相关工艺进程: • 通过 StopMove 指令停止后。 • 执行 StorePath ... RestoPath 序列后。 • 发生异步运动错误(如 ERR_PATH_STOP)或特定工艺错误并在 ERROR 处理器中处理后。
int storePath (bool keep_sync)
 storePath
int clearPath ()
 ClearPath (清除路径) 清除当前运动路径层级(基础层级或 StorePath 层级)上的所有运动路径。
int restoPath ()
 restoPath
double getProgress ()
 获取当前运动指令段的执行进度
int setWorkObjectHold (const std::string &module_name, const std::vector< double > &mounting_pose)
 当工件安装在另外一台机器人的末端或者外部轴上时,指定其名字和安装位置
std::tuple< std::string, std::vector< double > > getWorkObjectHold ()
 获取工件安装信息
std::vector< double > getPauseJointPositions ()
int setResumeStartPoint (const std::vector< double > &q, int move_type, double blend_radius, const std::vector< double > &qdmax, const std::vector< double > &qddmax, const std::vector< double > &vmax, const std::vector< double > &amax)
 设置继续运动参数
int getResumeMode ()
 获取继续运动模式
ARCS_DEPRECATED int setServoMode (bool enable)
 设置伺服模式 使用 setServoModeSelect 替代
ARCS_DEPRECATED bool isServoModeEnabled ()
 判断伺服模式是否使能 使用 getServoModeSelect 替代
int setServoModeSelect (int mode)
 设置伺服运动模式
int getServoModeSelect ()
 获取伺服运动模式
int servoJoint (const std::vector< double > &q, double a, double v, double t, double lookahead_time, double gain)
 关节空间伺服
int servoCartesian (const std::vector< double > &pose, double a, double v, double t, double lookahead_time, double gain)
 笛卡尔空间伺服
int servoJointWithAxes (const std::vector< double > &q, const std::vector< double > &extq, double a, double v, double t, double lookahead_time, double gain)
 伺服运动(带外部轴),用于执行离线轨迹、透传用户规划轨迹等
int servoJointWithAxisGroup (const std::vector< double > &q, double a, double v, double t, double lookahead_time, double gain, const std::string &group_name, const std::vector< double > &extq)
int servoCartesianWithAxes (const std::vector< double > &pose, const std::vector< double > &extq, double a, double v, double t, double lookahead_time, double gain)
 伺服运动(带外部轴),用于执行离线轨迹、透传用户规划轨迹等 与 servoJointWithAxes 区别在于接收笛卡尔空间位姿而不是关节角度 (由软件内部直接做逆解)
int servoCartesianWithAxisGroup (const std::vector< double > &pose, double a, double v, double t, double lookahead_time, double gain, const std::string &group_name, const std::vector< double > &extq)
int trackJoint (const std::vector< double > &q, double t, double smooth_scale, double delay_sacle)
 跟踪运动,用于执行离线轨迹、透传用户规划轨迹等
int trackCartesian (const std::vector< double > &pose, double t, double smooth_scale, double delay_sacle)
 跟踪运动,用于执行离线轨迹、透传用户规划轨迹等 与 trackJoint 区别在于接收笛卡尔空间位姿而不是关节角度 (由软件内部直接做逆解)
int followJoint (const std::vector< double > &q)
 关节空间跟随
int followLine (const std::vector< double > &pose)
 笛卡尔空间跟随
int speedJoint (const std::vector< double > &qd, double a, double t)
 关节空间速度跟随
int resumeSpeedJoint (const std::vector< double > &qd, double a, double t)
 关节空间速度跟随(机械臂运行工程时发生碰撞,通过此接口移动到安全位置)
int speedLine (const std::vector< double > &xd, double a, double t)
 笛卡尔空间速度跟随
int resumeSpeedLine (const std::vector< double > &xd, double a, double t)
 笛卡尔空间速度跟随(机械臂运行工程时发生碰撞,通过此接口移动到安全位置)
int moveSpline (const std::vector< double > &q, double a, double v, double duration)
 在关节空间做样条插值
int moveJoint (const std::vector< double > &q, double a, double v, double blend_radius, double duration)
 添加关节运动
int moveJointWithAxisGroup (const std::vector< double > &q, double a, double v, double blend_radius, double duration, const std::string &group_name, const std::vector< double > &extq)
 机器人与外部轴同步运动
int resumeMoveJoint (const std::vector< double > &q, double a, double v, double duration)
 通过关节运动移动到暂停点的位置
int moveLine (const std::vector< double > &pose, double a, double v, double blend_radius, double duration)
 添加直线运动
int moveLineWithAxisGroup (const std::vector< double > &pose, double a, double v, double blend_radius, double duration, const std::string &group_name, const std::vector< double > &extq)
 直线运动与外部轴同步运动
int moveProcess (const std::vector< double > &pose, double a, double v, double blend_radius)
 添加工艺运动
int resumeMoveLine (const std::vector< double > &pose, double a, double v, double duration)
 通过直线运动移动到暂停点的位置
int moveCircle (const std::vector< double > &via_pose, const std::vector< double > &end_pose, double a, double v, double blend_radius, double duration)
 添加圆弧运动
int moveCircleWithAxisGroup (const std::vector< double > &via_pose, const std::vector< double > &end_pose, double a, double v, double blend_radius, double duration, const std::string &group_name, const std::vector< double > &extq)
 moveCircle 与外部轴同步运动
int setCirclePathMode (int mode)
 设置圆弧路径模式
int moveCircle2 (const CircleParameters &param)
 高级圆弧或者圆周运动
int pathBufferAlloc (const std::string &name, int type, int size)
 新建一个路径点缓存
int pathBufferAppend (const std::string &name, const std::vector< std::vector< double > > &waypoints)
 向路径缓存添加路点
int pathBufferEval (const std::string &name, const std::vector< double > &a, const std::vector< double > &v, double t)
 计算、优化等耗时操作,传入的参数相同时不会重新计算
bool pathBufferValid (const std::string &name)
 指定名字的buffer是否有效
int pathBufferFree (const std::string &name)
 释放路径缓存
int pathBufferFilter (const std::string &name, int order, double fd, double fs)
 关节空间路径滤波器
std::vector< std::string > pathBufferList ()
 列出所有缓存路径的名字
int movePathBuffer (const std::string &name)
 执行缓存的路径
int moveIntersection (const std::vector< std::vector< double > > &poses, double a, double v, double main_pipe_radius, double sub_pipe_radius, double normal_distance, double normal_alpha)
 相贯线接口
int stopJoint (double acc)
 关节空间停止运动
int resumeStopJoint (double acc)
 关节空间停止运动(机械臂运行工程时发生碰撞,通过resumeSpeedJoint接口移动到安全位置后需要停止时调用此接口)
int stopLine (double acc, double acc_rot)
 停止 moveLine/moveCircle 等在笛卡尔空间的运动
int resumeStopLine (double acc, double acc_rot)
 笛卡尔空间停止运动(机械臂运行工程时发生碰撞,通过resumeSpeedLine接口移动到安全位置后需要停止时调用此接口)
int weaveStart (const std::string &params)
int weaveEnd ()
 结束摆动
int setFuturePointSamplePeriod (double sample_time)
 设置未来路径上点的采样时间间隔
std::vector< std::vector< double > > getFuturePathPointsJoint ()
 获取未来路径上的轨迹点
int setConveyorTrackEncoder (int encoder_id, int tick_per_meter)
 设置传送带编码器参数
int conveyorTrackCircle (int encoder_id, const std::vector< double > &center, bool rotate_tool)
 圆形传送带跟随
int conveyorTrackLine (int encoder_id, const std::vector< double > &direction)
 线性传送带跟随
int conveyorTrackStop (int encoder_id, double a)
 终止传送带跟随
bool conveyorTrackSwitch (int encoder_id)
 切换传送带追踪物品 如果当前物品正在处于跟踪状态,则将该物品出队,不再跟踪,返回true 如果没有物品正在处于跟踪状态,返回false
bool hasItemOnConveyorToTrack (int encoder_id)
 传送带上是否有物品可以跟踪
int conveyorTrackCreatItem (int encoder_id, int item_id, const std::vector< double > &offset)
 增加传送带队列
int setConveyorTrackCompensate (int encoder_id, double comp)
 设置传送带跟踪的补偿值
bool isConveyorTrackSync (int encoder_id)
 判断传送带与机械臂之间是否达到相对静止
int setConveyorTrackLimit (int encoder_id, double limit)
 设置传送带跟踪的最大距离限制
int setConveyorTrackStartWindow (int encoder_id, double window_min, double window_max)
 设置传送带跟踪的启动窗口
int setConveyorTrackSensorOffset (int encoder_id, double offset)
 设置传送带示教位置到同步开关之间的距离
int setConveyorTrackSyncSeparation (int encoder_id, double distance, double time)
 设置传送带同步分离,用于过滤掉同步开关中不需要的信号
bool isConveyorTrackExceed (int encoder_id)
 传送带上工件的移动距离是否超过最大限值
int conveyorTrackClearItems (int encoder_id)
 清空传动带队列中的所有对象
std::vector< int > getConveyorTrackQueue (int encoder_id)
 获取传送带队列的编码器值
int getConveyorTrackNextItem (int encoder_id)
 获取下一个跟踪的传送带物品的id
int moveSpiral (const SpiralParameters &param, double blend_radius, double v, double a, double t)
 螺旋线运动
int getLookAheadSize ()
 获取前瞻段数
int setLookAheadSize (int size)
 设置前瞻段数 1.
int weaveUpdateParameters (const std::string &params)
 更新摆动过程中的频率和振幅
int enableJointSoftServo (const std::vector< double > &stiffness)
 设置关节电流环刚度系数
int disableJointSoftServo ()
 关闭关节电流环刚度系数
bool isJointSoftServoEnabled ()
 判断关节电流环刚度系数是否使能
int enableVibrationSuppress (const std::vector< double > &omega, const std::vector< double > &zeta, int level)
 打开振动抑制
int disbaleVibrationSuppress ()
 关闭振动抑制
int setTimeOptimalEnable (bool enable)
 设置时间最优算法 默认关闭
bool isTimeOptimalEnabled ()
 获取时间最优算法状态: true - 开启 false - 关闭
bool isSupportedTimeOptimal ()
 获取是否支持时间最优算法: true - 支持 false - 不支持
int setTcpMaxLinearVelocity (double v)
 设置TCP最大线速度
double getTcpMaxLinearVelocity ()
 获取TCP最大线速度
int resetTcpMaxLinearVelocity ()
 重置 TCP 最大线速度
int setEndPath ()
 设置轨迹终止点(以当前轨迹段为界)

Protected 属性

void * d_

详细描述

在文件 motion_control.h69 行定义.

构造及析构函数说明

◆ MotionControl()

arcs::common_interface::MotionControl::MotionControl ( )

◆ ~MotionControl()

virtual arcs::common_interface::MotionControl::~MotionControl ( )
virtual

成员函数说明

◆ getConveyorTrackNextItem()

int arcs::common_interface::MotionControl::getConveyorTrackNextItem ( int encoder_id)

获取下一个跟踪的传送带物品的id

参数
encoder_id预留
返回
返回物品id,没有next item返回 -1
异常
arcs::common_interface::AuboException
Python函数原型
getConveyorTrackNextItem(self: pyaubo_sdk.MotionControl, arg0: int) -> int
Lua函数原型
getConveyorTrackNextItem(encoder_id: number) -> int
JSON-RPC请求示例
{"jsonrpc":"2.0","method":"rob1.MotionControl.getConveyorTrackNextItem","params":[0],"id":1}
JSON-RPC响应示例
{"id":1,"jsonrpc":"2.0","result":{10}}

◆ servoCartesianWithAxisGroup()

int arcs::common_interface::MotionControl::servoCartesianWithAxisGroup ( const std::vector< double > & pose,
double a,
double v,
double t,
double lookahead_time,
double gain,
const std::string & group_name,
const std::vector< double > & extq )

◆ servoJointWithAxisGroup()

int arcs::common_interface::MotionControl::servoJointWithAxisGroup ( const std::vector< double > & q,
double a,
double v,
double t,
double lookahead_time,
double gain,
const std::string & group_name,
const std::vector< double > & extq )

类成员变量说明

◆ d_

void* arcs::common_interface::MotionControl::d_
protected

在文件 motion_control.h6562 行定义.


该类的文档由以下文件生成: