CN116276971A - 一种v-rep仿真环境下ur5机器人抓取控制方法 - Google Patents
一种v-rep仿真环境下ur5机器人抓取控制方法 Download PDFInfo
- Publication number
- CN116276971A CN116276971A CN202310075888.4A CN202310075888A CN116276971A CN 116276971 A CN116276971 A CN 116276971A CN 202310075888 A CN202310075888 A CN 202310075888A CN 116276971 A CN116276971 A CN 116276971A
- Authority
- CN
- China
- Prior art keywords
- joint
- control
- mechanical arm
- speed
- simulation environment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 84
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000033001 locomotion Effects 0.000 claims abstract description 60
- 230000001133 acceleration Effects 0.000 claims abstract description 27
- 230000000694 effects Effects 0.000 claims abstract description 7
- 230000000452 restraining effect Effects 0.000 claims abstract description 7
- 239000011159 matrix material Substances 0.000 claims description 40
- 230000009466 transformation Effects 0.000 claims description 18
- 230000000007 visual effect Effects 0.000 claims description 9
- 230000015572 biosynthetic process Effects 0.000 claims description 6
- 238000003786 synthesis reaction Methods 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 230000006835 compression Effects 0.000 claims description 3
- 238000007906 compression Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 2
- 238000013519 translation Methods 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005057 finger movement Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1605—Simulation of manipulator lay-out, design, modelling of manipulator
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1651—Programme controls characterised by the control loop acceleration, rate control
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种V‑REP仿真环境下UR5机器人抓取控制方法,包括以下步骤:S1、采集仿真环境中机械臂末端相机模块的各类数据;S2、对图像进行压缩并传输至Android端显示,创建摇杆控件和滑块控件;S3、在Android端通过摇杆控件和滑块控件,采集操作指令,将采集到的操作指令数据进行编码并传输至PC端,PC端接收控制指令并解码为六自由度运动信息;S4、建立机械臂DH模型,根据运动指令逆解出各个关节的速度;S5、通过配置角度、角加速度的范围,对步骤S4得出的关节速度进行约束,从而得到更加真实的仿真效果;S6、将位置信息编码成仿真环境要求的格式,并发送至仿真环境中进行控制。
Description
技术领域
本发明涉及计算机视觉、机械臂控制领域,具体涉及一种V-REP仿真环境下UR5机器人抓取控制方法。
背景技术
仿真技术在机器人领域的广泛应用,使得机器人的算法开发趋向于低成本化和轻量化,然而在冗余机械臂的开发中,为了达到快速、低成本的开发目标,时常需要先对仿真环境中的机械臂进行模拟控制,而多关节和复杂的机械臂结构,使得仿真环境中机械臂的遥控变得十分地不直观。构建了一套柔性机械臂仿真控制平台(一种柔性机械臂控制仿真平台及其仿真方法,杨杨,南京邮电大学杨杨),该平台包括柔性机械臂的数学模型、仿真界面等,该方案具有UI界面,但是需要配置参数来进行机械臂的操控,过程繁琐;沈阳化工大学陈永祯等人提出一种机械臂三维仿真示教系统具有示教功能,但是依旧需要配置各个关节的角度,对于多关节机械臂而言,不通过计算,很难获取目标姿态的关节角度。一种机械臂仿真控制方法、装置及存储介质(一种机械臂仿真控制方法、装置及存储介质,蒋诗韵),通过获取一比一的真实机械臂的路点来仿真机械臂的运动,具有成本较大,系统较复杂等缺点。上述专利均通过算法自主控制机械臂运动,需要人为配置参数,操作复杂,同时,对于需要实体机辅助的系统来说,成本较大,此外,对于眼在手上的机械臂结构,无法实验第一视角的操作。
发明内容
为了解决这类问题,为了解决机械臂在现实环境中实验的高成本,本发明提供一种V-REP仿真环境下UR5机器人抓取控制方法,在V-REP仿真环境中一比一复刻UR5机械臂和realsense RGB-D相机,对UR5机械臂进行运动学建模和雅可比求解,采用Android作为控制手柄与PC端进行通信操作,最终实现对仿真环境中的机械臂进行抓取等操作。本发明采用Android手机作为操作端,通过网络交互传,感知仿真环境并实施控制操作,通过采用配置在机械臂末端的笛卡尔坐标系下的旋转与平移运动的描述,直观地对仿真环境中的机械臂进行操作,这对于仿真环境中机械臂的调试是一种十分便捷的人机交互手段。
本发明至少通过如下技术方案之一实现。
一种V-REP仿真环境下UR5机器人抓取控制方法,包括以下步骤:
S1、采集仿真环境中机械臂末端相机模块的各类数据;
S2、对图像进行压缩并传输至Android端显示;在Android端创建摇杆控件和滑块控件;
S3、在Android端通过摇杆控件和滑块控件,采集摇杆和滑块产生的数据,进行编码并传输至PC端,PC端接收控制指令并解码为六自由度运动信息;
S4、建立机械臂DH模型,根据运动指令逆解出各个关节的速度;
S5、通过配置角度、角加速度的范围,对步骤S4得出的关节速度进行约束,从而得到更加真实的仿真效果;
S6、将步骤S5得到的每个关节速度,结合前一时刻的关节角度、时间间隔的信息,计算出每个关节的角度信息合成列表,通过调用vrep的接口函数,遍历并发送至仿真环境中进行控制。
进一步地,步骤S1包括以下步骤:
S101、在仿真环境V-REP中创建UR5机械臂模型,根据UR5的运动学模型,配置V-REP中UR5的各个关节;
S102、创建realsense-D435i相机的STL外观模型文件,在STL外观模型文件下挂载V-REP仿真环境中的视觉传感器和深度传感器,并根据realsense-D435i相机的参数进行配置,以达到对RGB-D相机realsense-D435i的仿真;
S103、在V-REP中将realsense-D435i挂载到UR5机械臂中,实现Eye-in-hand模型;
S104、通过V-REP的接口,获取仿真环境中的各类数据,包括深度图数据、彩色图数据、UR5各个关节的位置和速度数据。
进一步地,步骤S2对图像进行压缩并传输至Android端显示操作包括以下步骤:
S201、PC端对步骤S1采集的彩色图像进行JPEG压缩;
S202、将压缩后的数据以TCP通信的方式传输至Android端;
S203、Android端接收到数据后,进行解码并进行显示。
进一步地,创建摇杆控件包括以下步骤:
S301、在Android设备屏幕中绘制圆形可行区域,用于明确摇杆的运动范围;
S302、在圆形可行区域的圆心中绘制小圆盘,作为摇杆位置指示;
S303、在Android端中,创建摇杆控件java类并继承Android sdk中的View类,使用onTouchEvent函数来监听作用于摇杆控件的触屏坐标,当触屏操作被触发时,onTouchEvent函数传入MotionEvent参数,MotionEvent参数获取作用在摇杆控件上的触摸操作,包括按下、移动、抬起和移出区域,同时,通过MotionEvent参数调用getX()和getY()函数获取触屏操作的实时位置,并用于实时更新小圆盘的位置,使得小圆盘的位置跟随手指移动,同时实时计算小圆盘的中心在屏幕中的位置,相对于可行区域的中心在屏幕中的位置的水平和垂直方向上的像素差值,同时除以可行区域的半径得到水平与垂直方向上的占比作为输出控制信号,可知控制信号的输出范围为[-1,1],输出为归一化输出;PC端在接收到信号后,根据自身的速度限制,进行缩放。
进一步地,创建滑块控件包括以下步骤:
S401、在Android设备屏幕中绘制水平方向的一维可行区域,用于明确滑块的运动范围,此处的一维是指滑块在可行区域中,只能沿着一个方向运动;
S402、在一维可行区域中点绘制圆形滑块,作为滑块的位置指示;
S403、创建摇杆控件类并继承Android sdk中的View类,通过重写onTouchEvent函数替换系统自身的onTouchEvent函数用以监听触控操作的响应逻辑,当触屏操作被触发时,Android系统调用onTouchEvent函数并且会传入MotionEvent对象,MotionEvent参数获取作用在该控件上的触摸操作,包括按下、移动、抬起和移出区域,同时,通过MotionEvent对象调用getX()和getY()函数获取作用于该控件的触屏坐标值,使得小圆盘的位置在水平方向上跟随手指移动,当圆形滑块的位置超过可行区域的边界时,停留在可行区域边缘,同时输出小圆盘在可行区域中的位置数值,范围为[-1,1],当触屏操作释放后,圆形滑块回归中心位置,输出为0。
进一步地,步骤S4通过建立机械臂DH模型,根据运动指令逆解出各个关节的位置操作,包括以下步骤:
S401、Android以字节的形式将数据发送值PC端,PC端接收字节形式的控制指令并解码为六自由度运动信息,即[vx,vy,vz,rx,ry,rz],将其分为两组,其中vx、vy、vz为机械臂末端在机械臂末端坐标系下沿x、y、z轴的平移运动速度;rx、ry、rz为机械臂末端在机械臂末端坐标系下绕x、y、z轴的旋转速度;
S402、构建机械臂DH模型,进行逆运动学求解,得到各个关节的速度与末端关节在机械臂基坐标系下运动速度之间的关系,获取雅可比矩阵;
S403、将步骤S401中的速度转化到机械臂基坐标系下的运动速度,通过与步骤S402中得到的雅可比矩阵相乘,得到各个关节的角速度。
进一步地,各个关节的角速度为:
进一步地,步骤S5通过配置角度、角加速度的范围,对步骤S8得出的关节速度进行约束,包括以下步骤:
S501、配置关节的角度范围[q-,q+],其中q-表示关节角度的下限,q+表示关节角度的上限;
S504、获取机械臂当前各个关节的角度数值;
S505、根据上述步骤S501到步骤S504中配置的角度范围、运动速度范围、角加速度范围以及当前角度数据,计算当前位置关节速度的上限与下限,对步骤S8输出的角速度进行限幅。
进一步地,步骤S504中,通过VREP接口获取机械臂DH模型当前角度数值;其中,DH模型的当前角度指的是,在DH建模的坐标系下,各个固定在关节处的坐标系的旋转角度。
与现有的技术相比,本发明的有益效果为:
1、操作简单直观。直接控制机械臂末端的运动,而非对每个关节进行配置。本发明针对仿真环境下冗余机械臂操作控制变量多,难度高等问题,建立了通过控制机械臂末端平移与旋转六个自由度的方式对仿真环境下的冗余机械臂进行控制,具有控制直观,有效降低6自由度以上的冗余机械臂的控制变量等优点。
2、多视角操作。可以通过观察VREP仿真界面进行控制,也可以通过观察手机接收的第一视角图片进行控制。本发明旨在使用最普遍的Android手机作为操作入口,采用图像传输,机械臂控制等技术手段,通过摇杆和滑块,来控制机械臂的运动意图,即可以从VREP界面中观察控制机械臂的运动,也可以通过Android端接收到的机械臂末端视觉相机传输过来的图像,实现第一视角的控制。
3、成本低廉。无需构建额外的控制器,只需要在手机端安装app,即可使用。
附图说明
为了使本技术领域的人员更好地理解本发明方案,以下将结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一种V-REP仿真环境下UR5机器人抓取控制方法的系统架构流程图;
图2为本发明实施例UR5机械臂在VREP仿真环境中的结构图;
图3为本发明实施例机械臂DH建模所配置的坐标系示意图;
图4为本发明实施例Android摇杆控件和滑块控件的示意图。
具体实施方式
该部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
实施例1
一种V-REP仿真环境下UR5机器人抓取控制方法,包括以下步骤:
S1、采集仿真环境中机械臂末端相机模块的各类数据;
S2、对图像进行压缩并传输至Android端显示;在Android端创建摇杆控件和滑块控件;创建摇杆控件包括以下步骤:
S301、在Android设备(手机或Android平板)屏幕中绘制圆形可行区域,用于明确摇杆的运动范围;
S302、在圆形可行区域的圆心中绘制小圆盘,作为摇杆位置指示;
S303、在Android端中,创建摇杆控件java类并继承Android sdk中的View类,重写AndroidSDK中View类的onTouchEvent函数来监听作用于摇杆控件的触屏坐标,当触屏操作被触发时,Android系统会调用onTouchEvent函数并自动传入MotionEvent参数,MotionEvent参数为系统自动构造并传入,可以为编程者获取作用在摇杆控件上的触摸操作,包括按下、移动、抬起和移出区域,同时,可以通过调用MotionEvent参数子功能getX()和getY()
(onTouchEvent函数为Android编程中SDK的函数,getX()和getY()为android系统为该函数自动传入的参数中所具备的功能,属于系统提供的接口,用于获取作用在该空间上的操作)获取触屏操作的实时位置,并用于实时更新小圆盘的位置,使得小圆盘的位置跟随手指移动,同时实时计算小圆盘的中心在屏幕中的位置,相对于可行区域的中心在屏幕中的位置的水平和垂直方向上的像素差值,同时除以可行区域的半径得到水平与垂直方向上的占比作为输出控制信号,可知控制信号的输出范围为[-1,1],输出为归一化输出;PC端在接收到信号后,根据自身的速度限制,进行缩放。例如接收到控制信号为0.5,机械臂最大运动速度为2m/s,则PC端在接收到0.5的控制信号上,乘以2m/s的最大速度,实际发送到仿真环境中的数值为0.5*2=1m/s。
创建滑块控件包括以下步骤:
S401、在Android设备(手机或Android平板)屏幕中绘制水平方向的一维可行区域,用于明确滑块的运动范围,此处的一维是指滑块在可行区域中,只能沿着一个方向运动,例如只能水平运动,或者只能垂直运动;
S402、在一维可行区域中点绘制圆形滑块,作为滑块的位置指示;
S403、在编写的安卓应用中,创建摇杆控件类并继承Android sdk中的View类,同上,通过重写onTouchEvent函数来监听触控操作,当触屏操作被触发时,onTouchEvent函数会传入MotionEvent参数,MotionEvent参数获取作用在该控件上的触摸操作,包括按下、移动、抬起和移出区域,同时,通过MotionEvent参数调用getX()和getY()函数获取作用于该控件的触屏坐标值,使得小圆盘的位置在水平方向上跟随手指移动,当圆形滑块的位置超过可行区域的边界时,停留在可行区域边缘,同时输出小圆盘在可行区域中的位置数值,范围为[-1,1],例如,当滑块只能左右运动时,最左边为-1,最右边为1,当触屏操作释放后,圆形滑块回归中心位置,输出为0。
S3、在Android端通过摇杆控件和滑块控件,采集摇杆和滑块产生的数据,进行编码并传输至PC端,PC端接收控制指令并解码为六自由度运动信息;
S4、建立机械臂DH模型,根据运动指令逆解出各个关节的速度,,包括以下步骤:
S401、Android以字节的形式将数据发送值PC端,PC端接收字节形式的控制指令并解码为六自由度运动信息,即[vx,vy,vz,rx,ry,rz],将其分为两组,其中vx、vy、vz为机械臂末端在机械臂末端坐标系下沿x、y、z轴的平移运动速度;rx、ry、rz为机械臂末端在机械臂末端坐标系下绕x、y、z轴的旋转速度;
S402、构建机械臂DH模型,进行逆运动学求解,得到各个关节的速度与末端关节在机械臂基坐标系下运动速度之间的关系,获取雅可比矩阵;
S403、将步骤S401中的速度转化到机械臂基坐标系下的运动速度,通过与步骤S402中得到的雅可比矩阵相乘,得到各个关节的角速度。
S5、通过配置角度、角加速度的范围,对步骤S4得出的关节速度进行约束,从而得到更加真实的仿真效果;
S6、将步骤S5得到的每个关节速度,结合前一时刻的关节角度、时间间隔的信息,计算出每个关节的角度信息合成列表,通过调用vrep的接口函数,遍历并发送至仿真环境中进行控制。
实施例2
如图1、图2所示,本发明一种V-REP仿真环境下UR5机器人抓取控制方法,包括以下步骤:
S1、在搭建的仿真环境中,采集获取仿真环境中机械臂末端相机模块的RGB图像;
S2、对图像进行压缩并传输至Android端显示;
S3、在Android端创建摇杆控件。
S4、在Android端创建滑块控件。
S5、在Android端通过摇杆控件和滑块控件,采集操作指令;
S6、将采集到的数据进行编码并传输至PC端。
S7、PC端接收控制指令并解码为六自由度运动信息;
S8、通过建立机械臂DH模型,根据运动指令逆解出各个关节的速度;
S9、通过配置角度、角加速度的范围,对S8得出的关节速度进行约束,从而得到更加真实的仿真效果。
S10、将位置信息编码成仿真环境要求的格式,并发送至仿真环境中进行控制。
其中,在V-REP仿真环境中,步骤S1中的仿真环境搭建操作包括以下步骤:
S101、在V-REP中创建UR5机械臂模型。根据UR5的运动学模型,配置V-REP中UR5的各个关节。
S102、创建realsense-D435i相机的STL外观模型文件,其下挂载V-REP仿真环境中的视觉传感器和深度传感器,并根据realsense-D435i相机的参数进行配置。以达到对RGB-D相机realsense-D435i的仿真。
S103、在V-REP中将realsense-D435i挂在到UR5机械臂中,实现Eye-in-hand模型。
S104、通过V-REP的数据接口,读取仿真环境中的图像数据流,并将其按照resize到(w,h,c)的形式,其中w为图像的行,h为图像的列,c为图像的通道数。
步骤S2中,图像压缩与传输显示操作包括以下步骤:
S201、在PC端获取到V-REP仿真环境中相机图像后,采用jpeg-2000算法进行压缩。
S202、将压缩后的数据通过tcp协议发送至Android端。
S203、Android端接收到数据后通过jpeg-2000算法进行解压缩,并构造bitmap图片进行显示。
步骤S8中,从运动控制指令到关节运动的变换操作有以下步骤:
S801、由Android传输过来的控制指令,包括在相机坐标系下沿坐标轴的平移速度vx,vy,vz和绕坐标轴的旋转速度rx,ry,rz,以及抓取信号g。
S802、首先通过DH模型建立相机坐标系在基座标系下的表示T表示变换矩阵,左下角的c表示当前坐标系,左上角的1表示参考坐标系,通过正运动学运算即可得到相机坐标系在基坐标系下的变换矩阵。该坐标系为齐次形式的变换矩阵,包括左上角3x3的旋转矩阵R、右上角3x1的平移向量t、左下角1x3的0向量和右下角1x1的数字1。
S804、将速度向量V=[vx,vy,vz,rx,ry,rz]T右乘Tvc2b得到相机在机械臂基坐标系下的平移和旋转速度。
S805、通过对相机变换矩阵求雅可比矩阵J,将机械臂基坐标系下的平移和旋转速度右乘以雅可比矩阵J,即可得到各个关节的速度。最后通过关节加速度限制,得到更接近实际的机械臂运动状态。因此,整个转换的流程为:/>其中/>表示机械臂各个关节的旋转速度,V表示机械臂末端的速度向量。
步骤S9中,通过配置角度、角加速度的范围,对S8得出的关节速度进行约束,可采用直接约束,具体包括一下步骤:
S901、配置关节的角度范围[q-,q+],其中q-表示关节角度的下限,q+表示关节角度的上限;
实施例3
一种V-REP仿真环境下UR5机器人抓取控制方法,包括以下步骤:
S1、在搭建的仿真环境中,采集获取仿真环境中机械臂末端相机模块的RGB图像;
S2、对图像进行压缩并传输至Android端显示;
S3、在Android端创建摇杆控件。
S4、在Android端创建滑块控件。
S5、在Android端通过摇杆控件和滑块控件,采集操作指令;
S6、将采集到的数据进行编码并传输至PC端。
S7、PC端接收控制指令并解码为六自由度运动信息;
S8、通过建立机械臂DH模型,根据运动指令逆解出各个关节的速度;
S9、通过配置角度、角加速度的范围,对S8得出的关节速度进行约束,从而得到更加真实的仿真效果。
S10、将位置信息编码成仿真环境要求的格式,并发送至仿真环境中进行控制。
优选的,步骤S1中仿真环境采用的是V-REP,RGB-D相机外观采用realsense D435i的stl模型,导入V-REP中,在UR5机械臂模型末端的UR5_connection节点上挂载RG2夹爪,在RG2模型的根节点上挂载camera_holder相机支架,在支架节点下挂载Realsense的STL外观模型,在外观模型节点下挂载两个Vision sensor,为了加速运算,一个只获取RGB图像信息,一个只获取深度信息。在仿真环境中通过平移和旋转,将各个模块移动到合适的位置及姿态。之后通过V-REP API接口获取视觉传感器的数据,这里获取到的数据是一维数据,将这一维原始数据按照三个一组构成一个像素值,再按照先行再列的顺序排列,最终的图片数据。
优选的,如图3所示,步骤S8中采用的DH模型参数,DH模型参数如表1所示:
表1DH模型参数
上表中,坐标系的定义如图3
所示,其中αi表示坐标系i+1中的z轴与坐标系i的z轴之间的夹角,旋转正方向为绕着坐标系i+1的x轴逆时针旋转;ai为坐标系i+1相对于坐标系i沿着坐标系i中的x轴平移距离,单位为米。di表示坐标系i+1相对于坐标系i沿着坐标系i中的z轴平移的距离,单位为米。θi为坐标系i绕着z轴旋转,逆时针为正方向。
由Android传输过来的控制指令,包括在相机坐标系下沿坐标轴的平移速度vx,vy,vz和绕坐标轴的旋转速度rx,ru,rz,以及抓取信号g。
首先通过DH模型建立相机坐标系在基座标系下的表示T表示变换矩阵,左下角的c表示当前坐标系,左上角的1表示参考坐标系,通过正运动学运算即可得到相机坐标系在基坐标系下的变换矩阵。该坐标系为齐次形式的变换矩阵,包括左上角3x3的旋转矩阵R,右上角3x1的平移向量t,左下角1x3的0向量,和右下角1x1的数字1。
将速度向量V=[vx,vy,vz,rx,ry,rz]T右乘Tvc2b得到相机在机械臂基坐标系下的平移和旋转速度。
步骤S9中,通过配置角度、角加速度的范围,对S8得出的关节速度进行约束,可采用直接约束,具体包括一下步骤:
S901、配置关节的角度范围[q-,q+],其中q-表示关节角度的下限,q+表示关节角度的上限;
实施例4
S1、在搭建的仿真环境中,采集获取仿真环境中机械臂末端相机模块的RGB图像;
S2、对图像进行压缩并传输至Android端显示;
S3、在Android端创建摇杆控件。
S4、在Android端创建滑块控件。
S5、在Android端通过摇杆控件和滑块控件,采集操作指令;
S6、将采集到的数据进行编码并传输至PC端。
S7、PC端接收控制指令并解码为六自由度运动信息;
S8、通过建立机械臂DH模型,根据运动指令逆解出各个关节的速度;
S9、通过配置角度、角加速度的范围,对S8得出的关节速度进行约束,从而得到更加真实的仿真效果。
S10、将位置信息编码成仿真环境要求的格式,并发送至仿真环境中进行控制。
优选的,步骤S1中仿真环境采用的是V-REP,模型可采用任意与UR5类似结构的机械臂,具体结构如图3
所示。
优选的,步骤S3和步骤S4的遥感控件和滑块控件,可以通过外接游戏手柄来进行替代,主要是为了采集运动控制指令,通过监听游戏手柄的数据来实现运动控制。
优选的,步骤S8中针对任意类似结构的机械臂均可采用如图3
所示的DH模型坐标系。
由Android传输过来的控制指令,包括在相机坐标系下沿坐标轴的平移速度vx,vy,vz和绕坐标轴的旋转速度rx,ry,rz,以及抓取信号g。
首先通过DH模型建立相机坐标系在基座标系下的表示T表示变换矩阵,左下角的c表示当前坐标系,左上角的1表示参考坐标系,通过正运动学运算即可得到相机坐标系在基坐标系下的变换矩阵。该坐标系为齐次形式的变换矩阵,包括左上角3x3的旋转矩阵R,右上角3x1的平移向量t,左下角1x3的0向量,和右下角1x1的数字1。
将速度向量V=[vx,vy…vz,rx,ry,rz]T右乘Tvc2b得到相机在机械臂基坐标系下的平移和旋转速度。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包括在本发明的保护范围之内。
Claims (10)
1.一种V-REP仿真环境下UR5机器人抓取控制方法,其特征在于,包括以下步骤:
S1、采集仿真环境中机械臂末端相机模块的各类数据;
S2、对图像进行压缩并传输至Android端显示;在Android端创建摇杆控件和滑块控件;
S3、在Android端通过摇杆控件和滑块控件,采集摇杆和滑块产生的数据,进行编码并传输至PC端,PC端接收控制指令并解码为六自由度运动信息;
S4、建立机械臂DH模型,根据运动指令逆解出各个关节的速度;
S5、通过配置角度、角加速度的范围,对步骤S4得出的关节速度进行约束,从而得到更加真实的仿真效果;
S6、将步骤S5得到的每个关节速度,结合前一时刻的关节角度、时间间隔的信息,计算出每个关节的角度信息合成列表,通过调用vrep的接口函数,遍历并发送至仿真环境中进行控制。
2.根据权利要求1所述的一种V-REP仿真环境下UR5机器人抓取控制方法,其特征在于,步骤S1包括以下步骤:
S101、在仿真环境V-REP中创建UR5机械臂模型,根据UR5的运动学模型,配置V-REP中UR5的各个关节;
S102、创建realsense-D435i相机的STL外观模型文件,在STL外观模型文件下挂载V-REP仿真环境中的视觉传感器和深度传感器,并根据realsense-D435i相机的参数进行配置,以达到对RGB-D相机realsense-D435i的仿真;
S103、在V-REP中将realsense-D435i挂载到UR5机械臂中,实现Eye-in-hand模型;
S104、通过V-REP的接口,获取仿真环境中的各类数据,包括深度图数据、彩色图数据、UR5各个关节的位置和速度数据。
3.根据权利要求1所述的一种V-REP仿真环境下UR5机器人抓取控制方法,其特征在于,步骤S2对图像进行压缩并传输至Android端显示操作包括以下步骤:
S201、PC端对步骤S1采集的彩色图像进行JPEG压缩;
S202、将压缩后的数据以TCP通信的方式传输至Android端;
S203、Android端接收到数据后,进行解码并进行显示。
4.根据权利要求1所述的一种V-REP仿真环境下UR5机器人抓取控制方法,其特征在于,创建摇杆控件包括以下步骤:
S301、在Android设备屏幕中绘制圆形可行区域,用于明确摇杆的运动范围;
S302、在圆形可行区域的圆心中绘制小圆盘,作为摇杆位置指示;
S303、在Android端中,创建摇杆控件java类并继承Android sdk中的View类,使用onTouchEvent函数来监听作用于摇杆控件的触屏坐标,当触屏操作被触发时,onTouchEvent函数传入MotionEvent参数,MotionEvent参数获取作用在摇杆控件上的触摸操作,包括按下、移动、抬起和移出区域,同时,通过MotionEvent参数调用getX()和getY()函数获取触屏操作的实时位置,并用于实时更新小圆盘的位置,使得小圆盘的位置跟随手指移动,同时实时计算小圆盘的中心在屏幕中的位置,相对于可行区域的中心在屏幕中的位置的水平和垂直方向上的像素差值,同时除以可行区域的半径得到水平与垂直方向上的占比作为输出控制信号,可知控制信号的输出范围为[-1,1],输出为归一化输出;PC端在接收到信号后,根据自身的速度限制,进行缩放。
5.根据权利要求1所述的一种V-REP仿真环境下UR5机器人抓取控制方法,其特征在于,创建滑块控件包括以下步骤:
S401、在Android设备屏幕中绘制水平方向的一维可行区域,用于明确滑块的运动范围,此处的一维是指滑块在可行区域中,只能沿着一个方向运动;
S402、在一维可行区域中点绘制圆形滑块,作为滑块的位置指示;
S403、创建摇杆控件类并继承Android sdk中的View类,通过重写onTouchEvent函数替换系统自身的onTouchEvent函数用以监听触控操作的响应逻辑,当触屏操作被触发时,Android系统调用onTouchEvent函数并且会传入MotionEvent对象,MotionEvent参数获取作用在该控件上的触摸操作,包括按下、移动、抬起和移出区域,同时,通过MotionEvent对象调用getX()和getY()函数获取作用于该控件的触屏坐标值,使得小圆盘的位置在水平方向上跟随手指移动,当圆形滑块的位置超过可行区域的边界时,停留在可行区域边缘,同时输出小圆盘在可行区域中的位置数值,范围为[-1,1],当触屏操作释放后,圆形滑块回归中心位置,输出为0。
6.根据权利要求1所述的一种V-REP仿真环境下UR5机器人抓取控制方法,其特征在于,步骤S4通过建立机械臂DH模型,根据运动指令逆解出各个关节的位置操作,包括以下步骤:
S401、Android以字节的形式将数据发送值PC端,PC端接收字节形式的控制指令并解码为六自由度运动信息,即[vx,vy,vz,rx,ry,rz],将其分为两组,其中vx、vy、vz为机械臂末端在机械臂末端坐标系下沿x、y、z轴的平移运动速度;rx、ry、rz为机械臂末端在机械臂末端坐标系下绕x、y、z轴的旋转速度;
S402、构建机械臂DH模型,进行逆运动学求解,得到各个关节的速度与末端关节在机械臂基坐标系下运动速度之间的关系,获取雅可比矩阵;
S403、将步骤S401中的速度转化到机械臂基坐标系下的运动速度,通过与步骤S402中得到的雅可比矩阵相乘,得到各个关节的角速度。
9.根据权利要求6所述的一种V-REP仿真环境下UR5机器人抓取控制方法,其特征在于,步骤S5通过配置角度、角加速度的范围,对步骤S8得出的关节速度进行约束,包括以下步骤:
S501、配置关节的角度范围[q-,q+],其中q-表示关节角度的下限,q+表示关节角度的上限;
S504、获取机械臂当前各个关节的角度数值;
S505、根据上述步骤S501到步骤S504中配置的角度范围、运动速度范围、角加速度范围以及当前角度数据,计算当前位置关节速度的上限与下限,对步骤S8输出的角速度进行限幅。
10.根据权利要求9所述的一种V-REP仿真环境下UR5机器人抓取控制方法,其特征在于,步骤S504中,通过VREP接口获取机械臂DH模型当前角度数值;其中,DH模型的当前角度指的是,在DH建模的坐标系下,各个固定在关节处的坐标系的旋转角度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310075888.4A CN116276971A (zh) | 2023-02-07 | 2023-02-07 | 一种v-rep仿真环境下ur5机器人抓取控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310075888.4A CN116276971A (zh) | 2023-02-07 | 2023-02-07 | 一种v-rep仿真环境下ur5机器人抓取控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116276971A true CN116276971A (zh) | 2023-06-23 |
Family
ID=86831429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310075888.4A Pending CN116276971A (zh) | 2023-02-07 | 2023-02-07 | 一种v-rep仿真环境下ur5机器人抓取控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116276971A (zh) |
-
2023
- 2023-02-07 CN CN202310075888.4A patent/CN116276971A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11634306B2 (en) | Crane, construction machine or industrial truck simulator | |
US7714895B2 (en) | Interactive and shared augmented reality system and method having local and remote access | |
JPS6297012A (ja) | ロボツト教示装置 | |
CN110142770B (zh) | 一种基于头戴显示装置的机器人示教系统及方法 | |
JP2019042843A (ja) | ロボットシステム及びその運転方法 | |
CN110568923A (zh) | 基于Unity3D的虚拟现实交互方法、装置、设备及存储介质 | |
CN104656893A (zh) | 一种信息物理空间的远程交互式操控系统及方法 | |
CN110977981A (zh) | 一种机器人虚拟现实同步系统及同步方法 | |
CN110310541A (zh) | 一种空天地海一体化舰船通信网络虚拟仿真与实验教学平台 | |
CN210361314U (zh) | 一种基于增强现实技术的机器人示教装置 | |
CN109857258B (zh) | 一种虚拟远程遥控方法及装置、系统 | |
CN116276971A (zh) | 一种v-rep仿真环境下ur5机器人抓取控制方法 | |
CN105710856A (zh) | 远程体感控制机器人 | |
Vamos et al. | Collaboration in virtual reality of intelligent agents | |
JPH0386484A (ja) | ロボットの遠隔操作装置 | |
CN113282173B (zh) | 一种基于虚拟现实的双臂机器人远程实时控制系统及方法 | |
CN106527441A (zh) | 一种基于手机对机器人的行走路径进行控制的控制系统 | |
CN112947238B (zh) | 一种基于vr技术的工业机器人实时控制系统 | |
CN117289796B (zh) | 基于触觉手套的复杂装备高交互混合现实系统与方法 | |
Alekseevich et al. | Introducing virtual reality technology to increase the mobile robotic system informativity | |
Stone | Virtual reality: A tool for Telepresence and Human factors Research | |
CN115639910B (zh) | 面向被操控对象作业空间的全方位体感交互方法及设备 | |
Banda et al. | Investigations on collaborative remote control of virtual robotic manipulators by using a Kinect v2 sensor | |
Zhao et al. | Interactive mechanical arm control system based on Kinect | |
Huang et al. | Teleoperate system of underwater cleaning robot based on HUD |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |