![《机械臂智能控制》 课件 项目5 机械臂智能控制实战-积木识别与抓取_第1页](http://file4.renrendoc.com/view7/M02/3B/3B/wKhkGWcXjLyALtAWAALn15eTIFA042.jpg)
![《机械臂智能控制》 课件 项目5 机械臂智能控制实战-积木识别与抓取_第2页](http://file4.renrendoc.com/view7/M02/3B/3B/wKhkGWcXjLyALtAWAALn15eTIFA0422.jpg)
![《机械臂智能控制》 课件 项目5 机械臂智能控制实战-积木识别与抓取_第3页](http://file4.renrendoc.com/view7/M02/3B/3B/wKhkGWcXjLyALtAWAALn15eTIFA0423.jpg)
![《机械臂智能控制》 课件 项目5 机械臂智能控制实战-积木识别与抓取_第4页](http://file4.renrendoc.com/view7/M02/3B/3B/wKhkGWcXjLyALtAWAALn15eTIFA0424.jpg)
![《机械臂智能控制》 课件 项目5 机械臂智能控制实战-积木识别与抓取_第5页](http://file4.renrendoc.com/view7/M02/3B/3B/wKhkGWcXjLyALtAWAALn15eTIFA0425.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能产品设计制作综合实训
——机械臂视觉抓取系统合作QQ:243001978CONTENTS目录积木识别与抓取扑克牌识别与抓取合作QQ:243001978Part1积木识别与抓取1.1静态积木识别与定位抓取
OpenCV识别,定位吸取,定位抓取(8)1.2静态积木识别与任意位置抓取
相机标定,坐标系变换,随意位置抓取(8)实训安排Part2扑克牌识别与抓取2.1扑克牌识别(OpenCV)(4)2.2静态扑克牌任意位置吸取(6)2.3撰写实训报告(4)任务5-1积木识别《智能机械臂控制》主讲教师:吴蓬勃知识链接1:积木识别抓取的流程工作流程1.积木识别获取积木中心像素坐标2.坐标变换像素坐标->机械臂坐标3.抓取机械臂运动控制知识链接2:图像预处理OpenCV图像噪声是指存在于图像数据中不必要的或多余的干扰信息,噪声会让图像变得不清楚,妨碍人们对图像进行理解。(1)来源:噪声可能来自于图像获取、传输、处理或存储过程中的各种因素。(2)表现形式:噪声在图像中常表现为一些孤立的像素点或像素块,它们与要研究的对象不相关,以无用的信息形式出现,扰乱图像的可观测信息。积木识别——预备知识:图像的噪声知识链接2:图像预处理OpenCV图像噪声种类:高斯噪声、椒盐噪声、斑点噪声、泊松噪声等。积木识别——预备知识:图像的噪声高斯噪声椒盐噪声每个像素点的噪声服从独立同分布的高斯分布像素值突然变为最大或最小值知识链接2:图像预处理OpenCV图像噪声种类:高斯噪声、椒盐噪声、斑点噪声、泊松噪声等。积木识别——预备知识:图像的噪声高斯噪声产生原因:图像在拍摄时不够明亮、亮度不够均电路各元器件自身噪声和相互影响;传感器长期工作温度过高等。采用高斯滤波器进行处理知识链接2:图像预处理OpenCV图像噪声种类:高斯噪声、椒盐噪声、斑点噪声、泊松噪声等。积木识别——预备知识:图像的噪声椒盐噪声产生原因:一般低光照条件下,图像的噪声多为椒盐噪声而不是高斯噪声,比如矿井下的图像。椒盐噪声通常使用中值滤波器进行处理。知识链接2:图像预处理OpenCVS0:原图S1:高斯模糊减少图像噪声、降低细节层次积木识别:知识链接3:标准的HSV空间视觉识别汽车剐蹭——掉漆知识链接3:标准的HSV空间视觉识别汽车油漆:红?汽车油漆调色是个技术活知识链接3:标准的HSV空间视觉识别【HSV空间】H:色调,色彩信息。角度度量:0~360°S:饱和度,颜色的深度:0%—100%V:色调,色彩的明亮程度:0%—100%RGBHSVRGB颜色空间仅适合于显示系统,HSV空间则更适合于图像处理知识链接3:OpenCV的HSV空间视觉识别H:色调,色彩信息,0-180S:饱和度,颜色的深度,0-255V:色调,色彩的明亮程度,0-255【转换】:Ho=H/360*180;So=S/100*255Vo=V/100*255
黑灰白红橙黄绿青蓝紫hmin000015611263578100125hmax1801801801018025347799124155smin00043434343434343smax2554330255255255255255255255vmin04622146464646464646vmax46220255255255255255255255255典型颜色HSV范围知识链接3:RGB->HSVOpenCVS2:HSV图方便单一颜色的提取S1:高斯模糊减少图像噪声以及降低细节层次知识链接4:腐蚀去噪OpenCVS2:HSV图方便单一颜色的提取S3:腐蚀去除噪声点知识链接5:二值化与轮廓标识OpenCVS4:去除背景部分将图像转化为二值化图像S5:识别结果红色积木轮廓添加黄框获取积木坐标S0:原图S1:高斯模糊S2:RGB->HSVS3:腐蚀S4:二值化S5:轮廓标识知识链接:积木识别流程OpenCV知识链接6:旋转角度OpenCVrect=cv2.minAreaRect(cnt)Rect=((x,y),(w,h),angle)①
rect[0]返回矩形的中心点像素坐标(x,y)②
rect[1]返回矩形的宽和高(w,h)③
rect[2]返回矩形的旋转角度α
。x1轴顺时针旋转最先重合的边为宽度w;α为x1轴顺时针旋转到w的角度,α取值范围为(0°,90°]旋转角度α(OpenCV4.5版本)夹爪(与x1
平行)旋转角度:可以使用宽、高的值来确定。知识链接6:旋转角度OpenCVOpenCV4.5版本旋转角度angle:0-180知识链接7:中心点坐标OpenCV#获取最小外接矩阵rect=cv2.minAreaRect(points)#获取矩形四个顶点坐标,浮点型box=cv2.boxPoints(rect)OpenCV4.5版本注:四个点的顺序,需根据坐标值确定block_angle=77box=[
[331.72372226.27055][396.45773210.82268][426.19125335.42035][361.45724350.86823]]中心点坐标任务实施:积木识别Step01:新建工程积木识别(1)在磁盘根目录下新建文件夹Robot(2)打开Pycharm,新建工程Step01:新建工程积木识别(3)输入Robot文件夹路径、勾选编译器Step01:新建工程积木识别(4)在Conda环境下,选择pp_py37虚拟环境Step01:新建工程积木识别(5)创建工程Step02:创建目录积木识别(1)创建目录(2)输入目录名称:S1_ColorBlockFinderStep02:创建目录积木识别(3)在目录S1_ColorBlockFinder下,创建3个子目录Step03:创建python文件积木识别(1)在目录S11_ColorBlock_Finder下,创建python文件S11_BlockRecognize.pyStep03:拷贝python文件积木识别(2)
将摄像头文件VideoStream.py拷贝到
S11_ColorBlock_Finder目录下,最终文件结构如下图:Step04:
代码文件解析BlockRecognize.py
主函数文件摄像头配置FindBlockPixelLocation积木识别,获取中心坐标PickBlock主函数VideoStream.py摄像头图像捕获相机参数配置相机开启捕获图像已提供源代码任务实施:积木识别OpenCV任务5-1积木识别(python)通过pycharm进行python编程,添加视频采集文件VideoStream.py编写代码S11_BlockRecognize.py;实现不同颜色积木识别。
在摄像头图像区域内,随机放置4个以上不同颜色的积木。(1)学号尾号为奇数:实现蓝色积木识别,并通过蓝色显示角度值(2)学号尾号为偶数:实现绿色积木识别,并通过绿色显示角度值【作业提交】:(1)代码截图,(2)视频识别结果截图:框出积木位置,显示积木旋转角度任务5-2积木定位吸取《智能机械臂控制》任务解析:积木定位吸取视觉+机械臂任务5-2
积木定位吸取任务3-3积木搬运(python)任务5-1积木识别任务解析:代码文件DobotControl_block.py
机械臂控制连接机械臂机械臂运动控制断开连接VideoStream.py
摄像头图像捕获相机参数配置相机开启捕获图像参考:任务3-3积木搬运已提供源代码BlockRecognize_ArmSuction.py
主函数文件摄像头配置FindBlockPixelLocation积木识别,获取中心坐标PickBlockmain主函数以“任务5-1积木识别”为基础视觉+机械臂任务要求任务5-2积木识别:定位吸取通过积木识别获取要吸取积木的位置信息,向机械臂发送信号,触发机械臂到指定位置搬运积木视觉+机械臂任务实施:积木定位吸取Step01:项目文件(1)将任务5-1的代码文件:
S11_BlockRecognize.py,VideoStream.py
拷贝到任务5-2的工程文件夹:S12_ColorBlock_Suction
(2)将下发的DobotControl_block.py
拷贝到任务5-2的工程文件夹(3)
S11_BlockRecognize.py
重命名为:S12_BlockRecognize_ArmSuction.py(4)将Dobot机械臂的动态库文件,拷贝到任务5-2文件夹
积木定位吸取Step01:项目文件积木定位吸取机械臂控制代码需修改源自任务5-1需修改源自任务5-1无需修改机械臂动态库无需修改Step02:机械臂定位吸取积木(1)通过DobotStudio-Blockly进行积木搬运编程获取要抓取积木的XYZ坐标,设置为起始坐标。机械臂起始坐标目的坐标Step02:机械臂定位吸取积木机械臂(2)参照任务3-3,将Blockly编程转化为python代码,
填写到DobotControl_block.py相应区域,并进行代码修改。Step03:积木识别+定位吸取修改完善S12_BlockRecognize_ArmSuction.py积木定位吸取(1)导入机械臂控制库Step03:积木识别+定位吸取修改完善S12_BlockRecognize_ArmSuction.py积木定位吸取(2)选择要识别的积木颜色Step03:积木识别+定位吸取积木定位吸取(3)添加机械臂动作函数Step03:积木识别+定位吸取积木定位吸取(4)主函数:添加机械臂控制与积木识别函数注意:机械臂连接串口号,需根据实际情况修改修改完善S12_BlockRecognize_ArmSuction.pyStep04:机械臂异常处理积木定位吸取(1)机械臂报警分类序号类别说明1公共报警如:复位、角度传感器读取错误等2规划报警规划过程中计算错误等3运动报警运动过程中计算错误、限位等4超速报警各关节运动超速5限位报警各关节限位6丢步报警运动过程中受到碰撞,发出咯吱咯吱声响Step04:机械臂异常处理积木定位吸取(2)机械臂报警处理方法类别说明报警清除方法公共报警如:复位、角度传感器读取错误等尝试:按下复位按键,重新上电,协议指令清除(3)在DobotStudio中,
双击报警信息,清除;
或发送协议指令(1)(2)Step04:机械臂异常处理积木定位吸取(2)机械臂报警处理方法类别说明报警清除方法规划报警规划过程中计算错误等协议指令清除运动报警运动过程中计算错误、限位等协议指令清除超速报警各关节运动超速协议指令清除在DobotStudio中,双击报警信息,清除;或发送协议指令
Step04:机械臂异常处理积木定位吸取(2)机械臂报警处理方法方式1:在DobotStudio中,双击报警信息,清除运动报警双击红色文字Step04:机械臂异常处理积木定位吸取(2)机械臂报警处理方法方式2:协议指令清除报警Step04:机械臂异常处理积木定位吸取(2)机械臂报警处理方法方式2:协议指令清除报警Step04:机械臂异常处理积木定位吸取(2)机械臂报警处理方法类别说明报警清除方法限位报警各关节限位按住“解锁”按钮,调整机械臂姿态直至底座红灯变为绿色按住解锁按钮拖动大臂和小臂Step04:机械臂异常处理积木定位吸取(2)机械臂报警处理方法类别说明报警清除方法丢步报警运动过程中受到碰撞,发出咯吱咯吱声响机械臂归零操作积木定位吸取——效果展示任务实施任务5-2积木定位吸取将积木放置到指定位置,调整机械臂到该位置,获取机械臂XYZ坐标。以任务5-1为基础,在DobotControl_block.py中添加积木吸取搬运代码,实现:(1)学号尾号为奇数:实现蓝色积木识别,机械臂吸盘定位吸取(2)学号尾号为偶数:实现绿色积木识别,机械臂吸盘定位吸取【作业提交】:(1)代码截图,(2)机械臂吸取积木视频视觉+机械臂任务5-3积木定位夹取《智能机械臂控制》任务要求积木夹取任务5-3积木识别:定位夹取更换吸盘为“气动夹爪”,在任务5-2基础上,修改机械臂控制程序,修改S12_BlockRecognize_ArmSuction.py代码,实现夹爪旋转角度夹取积木:(1)学号尾号为奇数:实现红色积木识别,机械臂气爪旋转、定位夹取(2)学号尾号为偶数:实现绿色积木识别,机械臂气爪旋转、定位夹取【作业提交】:(1)机械臂Blockly代码截图(2)机械臂夹取积木视频任务实施:积木定位夹取Step01:相对位置设置角度转换设置机械臂和相机的相对位置
当J1轴=0度时,
机械臂与相机方向位于一条线上Step02:机械臂回零点设置回零点设置机械臂回零点的目的:确保机械臂在回零点位置,不遮挡相机视野,
不影响积木的图像识别设置末端R轴为0,为夹取做准备Step02:机械臂回零点设置回零点(1)打开DobotStudio,连接机械臂并单击“示教再现”。Step02:机械臂回零点设置回零点(2)按住“解锁”按钮,调整机械臂方向与相机方向垂直,松手。
建议:机械臂方向与相机方向垂直,不影响相机视野
。机械臂回零点可设置高一点,防止回零中碰撞导致丢步。相机方向相机底座相机镜头机械臂底座机械臂方向Step02:机械臂回零点设置回零点(3)在DobotStudio“示教再现”窗口中双击位置数字,对位置值做微调,设置R轴角度为0XYZ数值微调去掉小数位设置R轴角度=0Step02:机械臂回零点设置回零点(4)在该点位位置单击鼠标右键,选择“设置为回零位置”。Step02:机械臂回零点设置回零点(5)归零测试若归零失败,按复位键,重复上述操作Step03:气动吸盘->气动夹爪吸盘套件卸载(1)机械臂关机;拔掉GP3的连接线
(2)螺母拧松,拔出末端设备(3)拧松2个顶丝,
拔下吸盘和固定轴1.5mm内六角扳手Step03:气动吸盘->气动夹爪手爪套件安装(4)用2.5mm内六角扳手
将手爪套件安装在舵机上【注意】:夹爪与上部的舵机保持水平。6S准则:不用的吸盘末端和工具放回袋中。Step03:气动吸盘->气动夹爪手爪套件安装(5)连接手爪和气泵,
与吸盘套件连接方法一致Step04:机械臂末端角度R笛卡尔坐标系下,末端角度R=J1角度+J4角度当J1=0时,J4角度=末端角度R笛卡尔坐标系关节坐标系末端角度Step04:机械臂末端角度R末端角度R=J1角度+J4角度0.3878+9.6122=10末端角度Step04:机械臂末端角度——微调注意:角度AngleInterval是由于安装误差引入的,每个机械臂各不相同!末端角度R=J1角度+J4角度;当J1=0时,末端角度R=J4角度末端角度Step05:机械臂控制——图形化编程图形化编程Step06:机械臂控制——python编程(1)代码拷贝到DobotControl_block.py代码缩进:选中所有拷贝的代码按下2次Tab键代码拷贝Step06:机械臂控制——python编程(2)夹取角度pickAngle,由函数参数传入原来的夹取角度pickAngle部分,注销掉代码修改Step06:机械臂控制——python编程(3)
DobotStudio脚本代码修改
api替换为self.api。
去掉指令后的Ex后缀,目前的版本不支持带Ex后缀的指令。末端执行器函数,添加参数“isQueued=1”。
所有的指令都是队列模式,即:命令加入队列后逐个执行。在最后一项指令前面,添加语句获取最后一条指令的执行索引,
为后面等待时长设置依据。脚本修改Step06:机械臂控制——python编程脚本修改api替换为self.apiStep06:机械臂控制——python编程脚本修改去掉指令后的Ex后缀Step06:机械臂控制——python编程脚本修改末端执行器函数括号里,添加最后一项参数,"isQueued=1"Step06:机械臂控制——python编程脚本修改获取最后一条指令的执行索引注释掉GetPose相关语句Step07:积木识别夹取——代码完善修改S12_BlockRecognize_ArmSuction.py函数defPickBlock(myARM)添加机械臂夹取代码积木识别夹取积木定位夹取——效果展示任务实施积木夹取任务5-3积木定位夹取更换吸盘为“气动爪”,在任务5-2基础上,修改机械臂控制程序,修改S12_BlockRecognize_ArmSuction.py代码,实现夹爪旋转角度夹取积木:(1)学号尾号为奇数:实现红色积木识别,机械臂气爪旋转、定位夹取(2)学号尾号为偶数:实现绿色积木识别,机械臂气爪旋转、定位夹取【作业提交】:(1)机械臂Blockly代码截图(2)机械臂夹取积木视频任务5-4积木动态抓取——相机标定《智能机械臂控制》任务5-4积木动态抓取——相机标定使用pycharm打开相机标定工程S2_CameraCal,完成相机标定(1)采集的不少于20张棋盘图图像截屏(2)相机校准截图(3)ModelCamera.py文件
畸变校正函数Video_undistort(self,image_raw)代码截图,
含:内参和畸变参数【作业提交】:提交以上截图任务要求相机标定知识链接1:相机标定基础相机标定(1)相机的成像原理:透镜成像墨子发现:用一个带有小孔的板遮挡在墙体与物体之间,
墙体上就会形成物体的倒影,这种现象就叫小孔成像。知识链接1:相机标定基础相机标定(1)相机的成像原理:透镜成像利用小孔成像,在暗箱中,临摹画画。但是:暗箱太黑不利于作画。在孔上装一块凸透镜,利用了凸透镜的屈光性聚焦光线,可得到清晰明亮的影像。——透镜成像知识链接1:相机标定基础相机标定(1)相机的成像原理:感光材料——卤化银知识链接1:相机标定基础相机标定(1)相机的三个基本部件:暗箱、镜头、感光元件知识链接1:相机标定基础相机标定相机的原理是小孔成像,但是由于这种成像方式只有一个小孔能透过光线就会导致物体的成像亮度很低。为了解决亮度的问题,我们使用了透镜,虽然这样可以解决亮度的问题,但是由于透镜的制作工艺会使成像产生多种形式的畸变,也就是说成像后的图像会和真实世界的景象不一致,需要利用畸变系数来矫正这种像差。(2)相机图像畸变知识链接1:相机标定基础相机标定(a)径向畸变(RadialDistortion):产生原因是图像在远离透镜中心的地方比靠近中心的地方更加弯曲。径向畸变包含:桶形畸变、枕形畸变。(2)相机图像畸变知识链接1:相机标定基础相机标定(b)切向畸变(TangetialDistortion)产生的原因:透镜不完全平行于图像平面,镜头本身存在倾角误差。(2)相机图像畸变知识链接1:相机标定基础相机标定(3)图像处理中涉及的坐标系1——像素坐标系
知识链接1:相机标定基础相机标定(3)图像处理中涉及的坐标系2——图像坐标系
知识链接1:相机标定基础相机标定(3)图像处理中涉及的坐标系3——相机坐标系
知识链接1:相机标定基础相机标定(3)图像处理中涉及的坐标系4——世界坐标系相机坐标系C世界坐标系W
从世界坐标系变换到相机坐标系属于刚体变换:即物体不会发生形变,只需要进行旋转和平移。R:表示旋转矩阵,3x3T:表示偏移向量,1x3知识链接1:相机标定基础相机标定(4)坐标系转换——像素坐标系与图像坐标系
dx
dy:表示每个像素点在x和y方向上的尺寸。即:1pixel=dxmm;1pixel=dymm像素坐标系,pixel图像坐标系,mm
像素坐标
图像坐标知识链接1:相机标定基础相机标定(4)坐标系转换——相机坐标系与图像坐标系
知识链接1:相机标定基础相机标定(5)相机内参(相机内参矩阵)——相机成像到实际图像的转换矩阵
像素坐标
图像坐标
图像坐标
相机坐标相机内参矩阵
像素坐标
相机坐标知识链接1:相机标定基础相机标定由于相机设计工艺问题,会造成成像与实际图像不一样的现象。相机成像到实际图像的转换矩阵,称为相机内参矩阵(5)相机内参(1)fx=f/dx,fy=f/dy
(a)焦距:f(b)dx和dy表示每一列和每一行分别代表多少mm,
即:1pixel=dxmm;1pixel=dymm
(2)C:principalpoint,主点(u0,v0),
相机光心所在的主轴与像平面的交点知识链接1:相机标定基础相机标定世界坐标到相机坐标的转换矩阵,称为相机外参矩阵。与相机的安装方式有关。(6)相机外参R:表示旋转矩阵,3x3T:表示偏移向量,1x3相机坐标系C世界坐标系W知识链接1:相机标定基础相机标定(7)总结:像素坐标系
世界坐标系像素坐标(u,v)图像坐标(x,y)相机坐标(Xc,Yc,Zc)世界坐标(Xw,Yw,Zw)
二次转换透视投影刚体变换
相机内参相机外参世界坐标像素坐标知识链接2:相机标定相机标定(1)相机标定目标:获取相机内参、外参、畸变系数,实现图像校准。(2)OpenCV中,相机标定所使用的标定图案:棋盘格、对称圆形、ArUco板等。
棋盘格图案:操作简单、快速,标定精度满足一般应用场景的需求。
对于标定精度要求高的场景,则一般采用圆形标定图案。棋盘格板A4纸尺寸,7x6内角,方块27mmArUco板圆形板11x4任务实施:相机标定Step01:图像采集相机标定调整棋盘图的位置、姿态,采集不少于20张棋盘图图像。【要求】:棋盘图在图像中完整显示,不要有缺失;保存到my_image目录下。【注意】1.棋盘图纸不能弯曲。2.棋盘图千万不能弄脏,否则可能造成标定失败。3.图片为相机采集原始尺寸图片,不能裁剪4.图片为jpg格式5.图片文件名只能包括字母、数字和下划线Step02:进入相机标定模式相机标定打开Models/ModelSet目录下的:setting.py,设置棋盘图纵横方向角点数量、摄像头分辨率
Step02:进入相机标定模式相机标定打开相机校准python工程,打开Models目录下的:ModelCamera.py,设置g_workMode=0
Step03:相机标定相机标定运行ModelCamera.py,进行相机校准。如果运行错误,请查看是否安装了库。库名称如有红色波浪线,请通过Terminal窗口,安装相应的库文件,例如:pipinstalltqdmpipinstallpyyamlStep03:相机标定相机标定ModelCamera.py运行效果Pycharm:Run窗口棋盘图查找角点图像Step03:相机标定相机标定Pycharm:Run窗口相机内参、外参、畸变系数校准错误率Step04:相机标定结果分析相机标定原始图像,红色为标准直线Step04:相机标定结果分析相机标定校准后的图像,红色为标准直线Step04:相机标定结果分析相机标定log/log.txt记录了校准过程和产生的结果校准错误率要求<0.2如果校准错误率高,需要重新采集棋盘图像,再次进行校准相机内参矩阵相机外参矩阵畸变参数校准错误率Step04:相机标定结果分析相机标定校准参数文件 config/camera_test.yaml
记录了校准所有参数信息畸变参数外参内参相机透镜工艺相机设计工艺相机外部环境与安装方式Step05:相机图像畸变校正相机标定畸变参数外参内参相机透镜制作工艺相机设计工艺相机外部环境与安装方式世界坐标->相机坐标相机成像->实际图像图像校准Step05:相机图像畸变校正相机标定修改畸变校准函数ModelCamera.py文件:
函数Video_undistort从log.txt中,将相机内参和畸变参数拷贝到相应位置,并修改格式(2维列表)相机标定打开Models目录下的:ModelCamera.py,设置g_workMode=1
可获得校准后的实时图像,按下空格按键,可获取最外围的4个角点像素坐标Step05:相机图像畸变校正按下空格按键可获取最外围的4个角点像素坐标按下q键退出相机标定打开Models目录下的:ModelCamera.py,设置g_workMode=1
可获得校准后的实时图像,按下空格按键,可获取最外围的4个角点像素坐标Step05:相机图像畸变校正任务5-4积木抓取——相机标定使用pycharm打开S2_CameraCal工程,完成相机标定(1)采集的不少于20张棋盘图图像截屏(见Step01)(2)相机标定截图(见Step03)(3)ModelCamera.py文件
函数Video_undistort(self,image_raw)代码截图,
含:内参和畸变参数(见Step05)【作业提交】:提交以上截图任务实施相机标定任务5-5积木动态抓取——坐标变换《智能机械臂控制》知识链接:坐标变换坐标变换坐标转换:像素坐标->机械臂笛卡尔坐标【思路】:根据标定板上三点像素坐标A
和对应位置的机械臂笛卡尔坐标B,获取变换系数RB=RTxA
B机械臂笛卡尔坐标(手动获取)A像素坐标(程序获取)RT转换矩阵(待求值)任务实施:相机标定Step01:设备布放坐标变换调整设备相对位置将相机与机械臂相对放置。校准棋盘图,倾斜放置。相机与机械臂的坐标系如图所示。【要求】:(1)全部棋盘格在相机视野范围内。(2)调整机械臂位置,使得:
机械臂末端可到达最少3个点。(3)此后,机械臂和相机位置不能再改动,否则需重新进行坐标变换。Step02:像素坐标获取坐标变换【修改参数】打开modelCamera.py
设置g_workMode=1运行程序Step02:像素坐标获取坐标变换【采集角点像素坐标】(1)调整棋盘图位置,棋盘图倾斜放置,使其完全在摄像头视野中。(2)调整机械臂,使其最少可正常到达:红、绿、蓝、紫中的3个角点。(3)按下空格键,进行四个角点像素坐标提取。将图像截屏保存。(4)按下q键(英文模式下),退出程序。相机图像Step02:像素坐标获取坐标变换【保存像素坐标】将输出结果中4个角点像素坐标拷贝到文档暂存【注意】:(1)操作过程中,务必确保棋盘图位置不变。(2)程序暂不退出红
绿
蓝
紫Step03:机械臂坐标获取坐标变换(1)机械臂上电、开机,打开DobotStudio,连接机械臂。(2)按下机械臂“解锁”键,分别调整机械臂到达红、绿、蓝三个角点,并记录下三个位置机械臂的X和Y
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人资金入股合同书
- 中央空调工程承包合同范本
- 个人农田承包合同简易版
- 中药材种植收购合同
- 乡村房屋共有权转让合同
- 个人借款抵押合同样本
- 个人住房租赁合同简版
- P2P回购担保合作合同纲要
- 三方店铺权属变更合同书
- 临街商铺租房合同模板
- 2025年中国南方航空股份有限公司招聘笔试参考题库含答案解析
- 商务部发布《中国再生资源回收行业发展报告(2024)》
- 山东省济南市2024-2024学年高三上学期1月期末考试 地理 含答案
- 2025年福建新华发行(集团)限责任公司校园招聘高频重点提升(共500题)附带答案详解
- 实施弹性退休制度暂行办法解读课件
- 江苏省驾校考试科目一考试题库
- 四川省成都市青羊区成都市石室联合中学2023-2024学年七上期末数学试题(解析版)
- 2024-2030年中国自动光学检测仪(AOI)市场竞争格局与前景发展策略分析报告
- 咨询公司绩效工资分配实施方案
- 2025新人教版英语七年级下单词表
- 中华护理学会团体标准-气管切开非机械通气患者气道护理
评论
0/150
提交评论