机器人圆弧运动控制方法和系统技术方案

技术编号:15822055 阅读:49 留言:0更新日期:2017-07-15 04:27
本发明专利技术涉及一种机器人圆弧运动控制方法和系统,所述方法包括:接收控制端传送的圆弧运动指令,包括圆弧运动的目标中间点位置、终点位置以及运动需要的时间;读取机械臂末端的当前状态参数;根据当前状态参数以及目标中间点位置、终点位置计算圆弧运动的圆心、圆弧半径、圆心角;根据目标中间点位置、终点位置计算圆弧所在平面的法矢量;根据圆心、圆弧半径、圆心角及当前状态参数得到圆弧的轨迹方程,根据法矢量和法矢量确定圆弧运动轨迹,计算机械臂末端在圆弧运动轨迹上运行时在各个位置的目标角度、目标角速度和目标角加速度转发至控制主站;本发明专利技术可以构成一个完整的机器人圆弧运动控制系统,降低机器人控制系统开发成本,提高控制效果。

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

【技术保护点】
一种机器人圆弧运动控制方法,其特征在于,包括:接收控制端传送的圆弧运动指令;所述圆弧运动指令包括圆弧运动的目标中间点位置、终点位置以及运动需要的时间;读取机械臂末端的当前状态参数;根据所述当前状态参数以及所述目标中间点位置、终点位置计算圆弧运动的圆心、圆弧半径、圆心角;根据目标中间点位置、终点位置计算圆弧所在平面的法矢量;根据圆心、圆弧半径、圆心角及所述当前状态参数得到圆弧的轨迹方程,根据所述法矢量和法矢量确定圆弧运动轨迹;其中,所述当前状态参数包括当前位置、当前速度和当前加速度;根据所述运动需要的时间计算机械臂末端在所述圆弧运动轨迹上运行时,机械臂关节在各个位置的目标角度、目标角速度和目标角加速度转发至控制主站。

【技术特征摘要】
1.一种机器人圆弧运动控制方法,其特征在于,包括:接收控制端传送的圆弧运动指令;所述圆弧运动指令包括圆弧运动的目标中间点位置、终点位置以及运动需要的时间;读取机械臂末端的当前状态参数;根据所述当前状态参数以及所述目标中间点位置、终点位置计算圆弧运动的圆心、圆弧半径、圆心角;根据目标中间点位置、终点位置计算圆弧所在平面的法矢量;根据圆心、圆弧半径、圆心角及所述当前状态参数得到圆弧的轨迹方程,根据所述法矢量和法矢量确定圆弧运动轨迹;其中,所述当前状态参数包括当前位置、当前速度和当前加速度;根据所述运动需要的时间计算机械臂末端在所述圆弧运动轨迹上运行时,机械臂关节在各个位置的目标角度、目标角速度和目标角加速度转发至控制主站。2.根据权利要求1所述的机器人圆弧运动控制方法,其特征在于,所述计算机械臂每个关节的目标角度、目标角速度和目标角加速度的方法包括:构建所述直线运动轨迹的方程;根据方程计算在所述圆弧运动轨迹运动后设定时刻t时的轨迹位置st,轨迹速度轨迹加速度计算机械臂末端在所述设定时刻t时的目标位置、目标速度和目标加速度;通过逆运动学将所述机械臂末端的目标位置、目标速度和目标加速度转换为机械臂每个关节的目标角度、目标角速度和目标角加速度。3.根据权利要求2所述的机器人圆弧运动控制方法,其特征在于,所述机械臂末端当前位置为P0=[x0,y0,z0]T,当前速度为和加速度以及目标中间点位置为P1=[x1,y1,z1]T,终点位置为P2=[x2,y2,z2]T;所述圆心计算公式为:其中,A1=y0z1-y0z2-z0y1+z0y2+y1z2-y2z1B1=-x0z1+x0z2+z0x1-z0x2-x1z2+x2z1C1=x0y1-x0y2-y0x1+y0x2+x1y2-x2y1D1=-x0y1z2+x0y2z1+x1y0z2-x2y0z1-x1y2z0+x2y1z0A2=2(x1-x0)B2=2(y1-y0)C2=2(z1-z0)A3=2(x2-x0)B3=2(y2-y0)C3=2(z2-z0)圆弧半径计算公式为:圆弧所在平面的法矢量n计算公式为:其中,圆弧P0P1P2的圆心角θc计算公式为:当0<θc<π时,当2π>θc>π时,圆弧轨迹计算公式为:式中,s0为当前轨迹位置,为当前轨迹速度,为当前轨迹加速度;s1为目标轨迹位置,为目标轨迹速度,为目标轨迹加速度,θc为圆心角,R为圆弧半径。4.根据权利要求3所述的机器人圆弧运动控制方法,其特征在于,所述线运动轨迹的方程为:S(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5式中,t是运行时间;ai,i=1,…,5是系数;系数:a0=s0任意时刻t时的轨迹位置st,轨迹速度轨迹加速度计算公式为:st=a0+a1t+a2t2+a3t3+a4t...

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

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

1