机器人直线运动控制方法和系统技术方案

技术编号:15839775 阅读:59 留言:0更新日期:2017-07-18 16:33
本发明专利技术涉及一种机器人直线运动控制方法和系统,所述方法包括:接收控制端传送的直线运动指令;读取机械臂末端的当前位置、当前速度、当前加速度,获取直线运动的目标位置,计算直线运动需要的时间内由当前位置运动到目标位置的角度轨迹方程,以及计算直线运动需要的时间内由当前速度、当前加速度降为0的速度轨迹方程和加速度轨迹方程;根据角度轨迹方程、速度轨迹方程和加速度轨迹方程和直线运动的方向单位向量确定直线运动轨迹;计算机械臂末端在直线运动轨迹上运行时,机械臂关节在各个位置的目标角度、目标角速度和目标角加速度转发至控制主站。本发明专利技术可以构成一个完整的机器人直线运动控制系统,降低机器人控制系统开发成本,提高控制效果。

Robot linear motion control method and system

The invention relates to a robot motion control method and system, wherein the method comprises: receiving linear motion instructions to control the transmit; read the manipulator's current position, the current speed, current acceleration, obtain the linear motion of the target position, the calculation time required in a straight line from the current position to the target location angle trajectory equation, and calculate the linear motion need time by the current speed, current acceleration reduced speed trajectory equation and acceleration trajectory equation 0; according to the angle trajectory equation, velocity equation and acceleration trajectory trajectory equation and linear motion direction unit vector to determine linear trajectory; at the end of the computer running in a straight line trajectory manipulator when the mechanical arm joint in each position of the target angle, angular velocity and angular acceleration of the target object is forwarded to the Control master station. The invention can form a complete robot linear motion control system, reduce the development cost of the robot control system and improve the control effect.

【技术实现步骤摘要】
机器人直线运动控制方法和系统
本专利技术涉及机器人控制
,特别是涉及一种机器人直线运动控制方法和系统。
技术介绍
RobotOperatingSystem(ROS)是开源的机器人操作系统,可以为机器人开发者提供一个标准化的、开源的编程框架。但是ROS目前不支持实时线程操作。OpenRobotControlSoftware(OROCOS)也是一种开源的机器人控制软件编程框架,它的特点是支持实时的线程操作,但是它的开放性,通用性没有ROS好。因此,机器人直线运动是机器人一种重要运动方式,目前在一些应用方案中,在ROS上采用OROCOS,但现有技术方案在搭建的架构上,不能构成一个完整的机器人控制器软件,在执行直线运动时,无法充分利用ROS和OROCOS的特性,系统开发成本高,控制效果差。
技术实现思路
基于此,有必要针对上述开发成本高,控制效果差的技术问题,提供一种机器人直线运动控制方法,降低系统开发成本,提高控制效果。一种机器人直线运动控制方法,包括:接收控制端传送的直线运动指令;其中,所述直线运动指令包括机械臂末端的直线运动的目标位置和直线运动需要的时间;读取机械臂末端的当前位置、当前速度、当前加速度;从所述直线运动指令中获取直线运动的目标位置;根据所述当前位置、当前速度、当前加速度计算所述机械臂末端在所述直线运动需要的时间内由所述当前位置运动到所述目标位置的角度轨迹方程,以及计算所述机械臂末端在所述直线运动需要的时间内由所述当前速度、当前加速度降为0的速度轨迹方程和加速度轨迹方程;根据所述角度轨迹方程、速度轨迹方程和加速度轨迹方程和直线运动的方向单位向量确定直线运动轨迹;计算机械臂末端在所述直线运动轨迹上运行时,机械臂关节在各个位置的目标角度、目标角速度和目标角加速度转发至控制主站。一种机器人直线运动控制系统,包括:总控模块、算法模块和通信管理模块;所述总控模块,用于接收控制端传送的直线运动指令;其中,所述直线运动指令包括机械臂末端的直线运动的目标位置和直线运动需要的时间;所述算法模块,用于读取机械臂末端的当前位置、当前速度、当前加速度;从所述直线运动指令中获取直线运动的目标位置;根据所述当前位置、当前速度、当前加速度计算所述机械臂末端在所述直线运动需要的时间内由所述当前位置运动到所述目标位置的角度轨迹方程,以及计算所述机械臂末端在所述直线运动需要的时间内由所述当前速度、当前加速度降为0的速度轨迹方程和加速度轨迹方程;根据所述角度轨迹方程、速度轨迹方程和加速度轨迹方程和直线运动的方向单位向量确定直线运动轨迹;计算机械臂末端在所述直线运动轨迹上运行时,机械臂关节在各个位置的目标角度、目标角速度和目标角加速度;所述通信管理模块,用于将所述目标角度、目标角速度和目标角加速度转发至控制主站。上述机器人直线运动控制方法和系统,在接收控制端传送的直线运动指令后,根据该函数计算直线运动的运动轨迹,并实时计算机械臂各个关节在该运动轨迹上运行的目标角度、目标角速度和目标角加速度等状态参数转发至控制主站,实现对机器人的直线运动控制过程;该技术方案可以构成一个完整的机器人直线运动控制系统,降低机器人控制系统开发成本,提高控制效果。附图说明图1是本专利技术实施例的机器人直线运动控制方法流程图;图2是机器人直线运动控制系统结构示意图;图3是总控模块执行算法流程图;图4是算法模块执行算法流程图;图5是算法模块执行算法状态转换图;图6是一应用实例的机器人控制系统的硬件结构模型;图7是基于ROS和OROCOS的搭建的软件架构图;图8是控制器状态机的状态变化示意图;图9是设备状态机的状态变化示意图。具体实施方式下面结合附图阐述本专利技术的机器人直线运动控制方法的实施例。本专利技术实施例中,所述直线运动,是指机械臂末端位置当前位置P0运动到目标位置P1的运动过程。参考图1所示,图1是本专利技术实施例的机器人直线运动控制方法流程图,包括:S10,接收控制端传送的直线运动指令;其中,所述直线运动指令包括机械臂末端的直线运动的目标位置和直线运动需要的时间;上述步骤中,可以利用预设的通信协议并以异步远程过程调用的方式接收直线运动指令;例如,所述直线运动指令包括机械臂末端位置P1和直线运动需要的时间T。在此过程中,可以是操作者通过人机交互界面生成直线运动指令,该指令无需传递参数;通过预设的通信协议,如基于IEC(TheInternetCommunicationsEngine,互联网通信引擎)开发的通信协议,以异步远程过程调用的方式从人机交互界面接收直线运动指令。在一个实施例中,在接收直线运动指令后,根据所述直线运动指令异步触发直线运动执行函数,根据所述直线运动执行函数并通过第一接口调用直线运动规划函数;其中,所述第一接口是基于ROS上创建OROCOS的实时输入/输出接口。进一步的,在调用直线运动规划函数前,所述直线运动执行函数判断控制器状态机是否为准备状态;若是,通过OROCOS的OperationalCaller方法调用所述直线运动规划函数,并将控制器状态机切换为执行直线运动状态;若否,则拒绝执行此次指令。所述控制器状态机的可被改变状态、并读取状态,设有初始化、指令等待、指令执行、中断和使能对应的状态。S20,读取机械臂末端的当前位置、当前速度、当前加速度;从所述直线运动指令中获取直线运动的目标位置;根据所述当前位置、当前速度、当前加速度计算所述机械臂末端在所述直线运动需要的时间内由所述当前位置运动到所述目标位置的角度轨迹方程,以及计算所述机械臂末端在所述直线运动需要的时间内由所述当前速度、当前加速度降为0的速度轨迹方程和加速度轨迹方程;根据所述角度轨迹方程、速度轨迹方程和加速度轨迹方程和直线运动的方向单位向量确定直线运动轨迹;具体的,在调用所述直线运动规划函数后,读取机械臂末端的当前位置、当前速度和当前加速度,并根据所述当前位置、当前速度和当前加速度和直线运动指令计算直线运动轨迹。进一步地,在调用直线运动规划函数后,根据所述直线运动规划函数执行直线运动规划流程,并检查控制器状态机是否为执行直线运动状态;若是,执行所述计算直线运动轨迹的步骤,否则,退出执行流程。作为实施例,计算直线运动轨迹的方法,可以包括如下步骤:(1)读取机械臂末端当前位置,当前速度和加速度;具体地,读取机械臂末端当前位置P0=[x0,y0,z0]T,当前速度和加速度以及目标位置P1=[x1,y1,z1]T;(2)根据直线运动指令的机械臂末端目标位置和直线运动需要的时间,将机械臂末端位置的目标速度和加速度设为0,生成直线运动轨迹;具体地,计算计算直线运动的轨迹方程及其方向单位向量,根据所述轨迹方程和方向单位向量得到直线运动轨迹;所述轨迹方程为:方向单位向量计算公式为:S30,计算机械臂末端在所述直线运动轨迹上运行时,机械臂关节在各个位置的目标角度、目标角速度和目标角加速度转发至控制主站。在一个实施例,通过第二接口将所述目标角度、目标角速度和目标角加速度发送给设备通信软件转发至控制主站;其中,所述第二接口是基于ROS上创建OROCOS的实时输入/输出接口。在一个实施例中,所述计算目标角度、目标角速度和目标角加速度的方法,可以包括如下过程:(1)构建所述直线运动轨迹的方程;具体的,所本文档来自技高网...
机器人直线运动控制方法和系统

【技术保护点】
一种机器人直线运动控制方法,其特征在于,包括:接收控制端传送的直线运动指令;其中,所述直线运动指令包括机械臂末端的直线运动的目标位置和直线运动需要的时间;读取机械臂末端的当前位置、当前速度、当前加速度;从所述直线运动指令中获取直线运动的目标位置;根据所述当前位置、当前速度、当前加速度计算所述机械臂末端在所述直线运动需要的时间内由所述当前位置运动到所述目标位置的角度轨迹方程,以及计算所述机械臂末端在所述直线运动需要的时间内由所述当前速度、当前加速度降为0的速度轨迹方程和加速度轨迹方程;根据所述角度轨迹方程、速度轨迹方程和加速度轨迹方程和直线运动的方向单位向量确定直线运动轨迹;计算机械臂末端在所述直线运动轨迹上运行时,机械臂关节在各个位置的目标角度、目标角速度和目标角加速度转发至控制主站。

【技术特征摘要】
1.一种机器人直线运动控制方法,其特征在于,包括:接收控制端传送的直线运动指令;其中,所述直线运动指令包括机械臂末端的直线运动的目标位置和直线运动需要的时间;读取机械臂末端的当前位置、当前速度、当前加速度;从所述直线运动指令中获取直线运动的目标位置;根据所述当前位置、当前速度、当前加速度计算所述机械臂末端在所述直线运动需要的时间内由所述当前位置运动到所述目标位置的角度轨迹方程,以及计算所述机械臂末端在所述直线运动需要的时间内由所述当前速度、当前加速度降为0的速度轨迹方程和加速度轨迹方程;根据所述角度轨迹方程、速度轨迹方程和加速度轨迹方程和直线运动的方向单位向量确定直线运动轨迹;计算机械臂末端在所述直线运动轨迹上运行时,机械臂关节在各个位置的目标角度、目标角速度和目标角加速度转发至控制主站。2.根据权利要求1所述的机器人直线运动控制方法,其特征在于,所述计算机械臂末端在所述直线运动轨迹上运行时,机械臂关节在各个位置的目标角度、目标角速度和目标角加速度的方法包括:在机械臂开始在所述直线运动轨迹运动后,统计机械臂的运动时间tn;若所述运动时间满足:tn≤aT,每隔设定时间τ计算一次机械臂每个关节的目标角度、目标角速度和目标角加速度;a是系数,T为直线运动需要的时间;若运动时间tn满足:aT<tn<T,将标志位更改为过渡状态,将控制器状态机状态设定为准备状态;若运动时间tn满足:tn≥T,点到点运动结束,将标志位更改为等待状态。3.根据权利要求2所述的机器人直线运动控制方法,其特征在于,所述目标角度、目标角速度和目标角加速度的计算方法包括:构建所述直线运动轨迹的方程;根据所述方程计算在所述直线运动轨迹运动后任一时刻t时的轨迹位置、轨迹速度和轨迹加速度;计算机械臂末端在所述时刻t时的目标位置、目标速度和目标加速度;通过逆运动学将所述机械臂末端的目标位置、目标速度和目标加速度转换为机械臂每个关节的目标角度、目标角速度和目标角加速度。4.根据权利要求3所述的机器人直线运动控制方法,其特征在于,所述机械臂末端的当前位置为P0=[x0,y0,z0]T,当前速度为当前加速度为目标位置为P1=[x1,y1,z1]T;所述轨迹方程为:其中,s0为当前轨迹位置,为当前轨迹速度,为当前轨迹加速度;s1为目标轨迹位置,为目标轨迹速度,为目标轨迹加速度;方向单位向量的计算公式为:直线运动轨迹表示为:S(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5系数为:a0=s0

【专利技术属性】
技术研发人员:阳方平
申请(专利权)人:广州视源电子科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1