The invention belongs to the field of program control technology, and discloses a system and method for efficient control of robots. The system includes: binocular stereo vision module is used to obtain images by camera and calculate the three-dimensional coordinates of object points; path planning module is used to find a collision-free position of the object for the robot in a specific environment. Optimal path; Teleoperation module is used to improve the efficiency and maneuverability of the robot by using Teleoperation and Remote Control mode of operation; PC control module is used to encapsulate all modules in the program by using MFC programming; Communication module is used to complete two-way information exchange between PC and rear slave computer. The high-efficiency control robot system provided by the invention effectively improves the robustness and fault-tolerant processing of the system, and can improve the operability, operation efficiency and operation precision of the robot.
【技术实现步骤摘要】
一种高效控制机器人的系统及方法
本专利技术属于程序控制
,尤其涉及一种高效控制机器人的系统及方法。
技术介绍
目前,业内常用的现有技术是这样的:近年来,随着机器人技术的迅猛发展,机器人在各种领域获得了广泛的应用。以排爆,消防等机器人装备为代表的各种极限环境作业机器人也逐渐进入应用领域,用来代替人类在很多危险环境中工作,如放射性污染区域,存在爆炸物的区域,各种污染的环境,煤矿和宇宙空间等极限环境。在国外,排爆机器人的研究起步较早且发展迅速,技术日益成熟,并已进入实用阶段,英、美、德、法、加拿大等西方国家已广泛在军警部门装备使用。由英国军用车辆研究所和皇家陆军军械部队研制、英国Morfax公司生产的“手推车”(Wheelbarrow)举世闻名,已向50多个国家的军警部门销售了500多台,目前发展有多种型号:MK7、MK8、SuperM(超级手推车)等,其中,SuperM排爆机器人是一种可在恶劣环境下工作的遥控车(图1-1),该车重204kg,长1.2m,宽0.69m,完全展开时最大高度1.32m,摄像机可在距地面65mm处工作,因此它可用来检查可疑车辆底部;它采用橡胶履带,最大速度为2km/h,有一整套的无线电控制系统及彩色电视摄像机、一支猎枪和两个爆炸物排除装置。英国P.W.Allen公司生产的Defender是一款大型排爆机器人(图1-2),它的一些先进的功能满足正在发展的反恐需求,例如,处理核生化装置,分布式电子结构,扩展的光谱射频遥感测量装置,可通过线缆操控,也可通过无线SSRF遥控,采用全向天线,控制半径达到2km,车体采用模块化结构,主要部件 ...
【技术保护点】
1.一种高效控制机器人的系统,其特征在于,所述高效控制机器人的系统包括:双目立体视觉模块:与上位机控制模块连接,包括图像采集与显示单元、标定单元、图像预处理单元、图像匹配单元以及物点三维求距单元;用于利用两台性能相似、位置固定的摄像机,获取同一景物的图像,再根据场景中的物点在两摄像机中像点的图像坐标,来计算出物点的三维坐标;路径规划模块:与上位机控制模块连接;用于为机器人在特定的环境中寻找一条免避撞的到达目标物位置的最优路径,所寻找的最优路径是机器人在到达目标点的过程中拐弯次数少的情况下所经过的路径短;遥操作模块:与上位机控制模块连接;用于利用Teleoperation和Remote Control操作方式提高机器人的作业效率和可操作性;其中Teleoperation是从运动学角度实现的遥操作,是实现排爆机器人机械臂联动的基础;Remote Control是采用基于USB接口的手柄去操作机器人;上位机控制模块:与双目立体视觉模块、路径规划模块、遥操作模块、通讯模块连接;用于利用MFC编程把双目立体视觉模块、路径规划模块、遥操作模块、通讯模块、下位机模块都封装在程序中;通讯模块:与上位机 ...
【技术特征摘要】
1.一种高效控制机器人的系统,其特征在于,所述高效控制机器人的系统包括:双目立体视觉模块:与上位机控制模块连接,包括图像采集与显示单元、标定单元、图像预处理单元、图像匹配单元以及物点三维求距单元;用于利用两台性能相似、位置固定的摄像机,获取同一景物的图像,再根据场景中的物点在两摄像机中像点的图像坐标,来计算出物点的三维坐标;路径规划模块:与上位机控制模块连接;用于为机器人在特定的环境中寻找一条免避撞的到达目标物位置的最优路径,所寻找的最优路径是机器人在到达目标点的过程中拐弯次数少的情况下所经过的路径短;遥操作模块:与上位机控制模块连接;用于利用Teleoperation和RemoteControl操作方式提高机器人的作业效率和可操作性;其中Teleoperation是从运动学角度实现的遥操作,是实现排爆机器人机械臂联动的基础;RemoteControl是采用基于USB接口的手柄去操作机器人;上位机控制模块:与双目立体视觉模块、路径规划模块、遥操作模块、通讯模块连接;用于利用MFC编程把双目立体视觉模块、路径规划模块、遥操作模块、通讯模块、下位机模块都封装在程序中;通讯模块:与上位机控制模块、下位机模块连接;包括数据通讯单元、图像通讯单元以及智能化处理单元;用于完成上位机与后方下位机的双向信息交流;下位机模块:与通讯模块连接,包括受控制的机器人。2.如权利要求1所述高效控制机器人的系统,其特征在于,所述双目视觉模块计算爆炸物抓取点相对机器人手爪的位置坐标;包括图像的采集与显示单元、摄像机的标定单元、图像的预处理单元、图像的匹配单元以及物点的三维求距单元;图像采集与显示单元:用于利用两台性能相同、位置固定的摄像机从不同角度对同一景物进行拍摄获取图像;标定单元:用于建立有效的成像模型,并确定摄像机内外部属性参数,确定空间坐标系中物点与它在图像平面上像点之间的对应关系;图像预处理单元:用于消除由摄像头畸变、光照条件、以及传输过程对图像引入的噪声;图像匹配单元:用于在两幅图像的匹配点或者匹配基元之间建立对应关系;物点三维求距单元:用于从二维灰度图像中获得目标点的三维深度信息。3.如权利要求2所述高效控制机器人的系统,其特征在于,所述图像采集与显示单元具体包括:采用Euresys公司的PicoloTetra视频采集卡,利用视频采集卡自带的驱动程序MultiCam,在完成对采集卡的初化和参数设置后,调用采集卡驱动函数库中的图像采集函数来采集图像,并将模拟图像转换为计算机能识别的数字图像,在对应的程序窗口中进行显示;所述图像采集函数包括:Channel::Channel(Board*board,intconnector);//初始化通道voidSetParam(param,value);//参数设置Template<classT>voidRegisterCallback(T*owner,void(T::*callbackMethod)(Channel&,SignalInfo&),MCSIGNALsignal);//注册回调函数voidUpdateImageConfig(constSurface&s,EImageC24&img);//读取缓存区的图像voidChannel::SetActive();//显示图像voidChannel::SetIdle();//释放资源。4.如权利要求2所述高效控制机器人的系统及方法,其特征在于,所述标定单元具体包括:标定单元用于确定摄像机的几何和光学参数,摄像机相对于世界坐标系的方位;用上标L和R来分别表示左摄像机和右摄像机的各种变量和参数;在场景中建立世界坐标系,物点在左右两摄像机中分别成像,形成图像坐标(u,v)L和(u,v)R;ProjectionL()和ProjectionR()分别代表两摄像机的成像过程;{AL,k1L,k2L}为左摄像机内参数,{RL,TL}为左摄像机外参数;{AR,k1R,k2R}为右摄像机内参数,{RR,TR}为右摄像机外参数;其中内参数由摄像机的物理结构决定,固定不变;而外参数随着世界坐标系选取的不同而不同。5.如权利要求2所述的高效控制机器人的系统,其特征在于,所述图像预处理单元具体包括:图像预处理单元基于中值滤波进行去噪处理;所述图像匹配单元具体包括:图像匹配单元用于在左右摄像头拍摄的两幅存在视点差异、几何和灰度畸变以及噪声干扰的图像对之间建立特征之间的对应关系,将同一空间物理点在不同图像中的映像点对应起来;所述遥操作模块具体包括:遥操作模块利用Teleoperation实现机器人联动的遥操作,利用RemoteControl实现手柄控制的遥操作;Teleoperation:包括位于上位机的遥操作子系统软件,和位于机器人本体上的机械臂位置伺服控制系统;用于根据用户发出的对机械臂进行控制的命令(一般由机械臂的位姿来描述),通过解析的逆运动学方程,实时解算出各关节角度,并通过无线通讯系统传递给位于机器臂上的现场位置伺服控制系统,完成各关节的位置伺服控制,并能实时获取机械臂当前的运动学状态,将其反馈给用户;运动学状态可以是各关节的实际角度,或者利用解析的正运动学方程转变为机械臂的位姿描述;RemoteControl:用于操作者检测摇杆的输入信息,经手柄判断后向机器人发送不同的控制指令,实现利用操纵杆实现机器人手爪的上、下、左、右、拉、伸操作;使用winmm.dll动态链接库文件的函数编程驱动手柄以及将机器人的指令加入操纵杆,操纵杆控制函数具体包括:joyGetDevCaps查询指定的游戏杆设备以确定其性能;joyGetNumDevs返回系统支持的游戏杆设备的数量;joyGetPos查询指定的游戏杆设备的位置和活动性;joyGetPosEx查询一个游戏杆设备的位置和它的按扭状态;joyGetThreshold查询指定的游戏杆设备的当前移动阈值;joyReleaseCapture释放由JoySetCapture函数设置的在指定游戏杆设备上的捕获;joySetCapture发送一个游戏杆消息到指定的窗口;joySetThreshold设置指定的游戏杆设备的移动阈值;操纵杆控制主要程序如下://摇杆初始化UINTuXPos[3],uYPos[3],uZPos[3],uRPos[3],uButton[3],uNoButtonPressed[3],uPOV[3];//定义游戏杆的一些状态量CStringsStr;joyGetPosEx(JOYSTICKID1,&joyinfoex[1]);//查询一个游戏杆设备的位置和它的按扭状态uXPos[1]=joyinfoex[1].dwXpos;uYPos[1]=joyinfoex[1].dwYpos;uZPos[1]=joyinfoex[1].dwZpos;uRPos[1]=joyinfoex[1].dwRpos;//getbuttonnumberuButton[1]=joyinfoex[1].dwButtons;//getnoofbuttonpresseduNoButtonPressed[1]=joyinfoex[1].dwButtonNumber;//GetPOVPointOfView---setviewpointuPOV[1]=joyinfoex[1].dwPOV;uButton[1]=joyinfoex[1].dwButtons;//getnoofbuttonpresseduNoButtonPressed[1]=joyinfoex[1].dwButtonNumber;//GetPOVPointOfView---setviewpointuPOV[1]=joyinfoex[1].dwPOV;sStr.Format("%u",uPOV[1]);SetDlgItemText(IDC_EDIT_POV,sStr);//车体运动指令if(uButton[1]==1&&uPOV[1]==0&&uZPos[1]==180){m_strMessage="车体向前";pview->wrong_command=true;pview->OnSendCommand((char)15,(float)0,(float)0,(float)0,(float)0,(char)TELE_OP_BODY_SPEED,(char)TELE_OP_BODY_SPEED,(char)pview->Drive,(char)pDoc->pano_waist,(char)0,(double)0);//发送指令UpdateData(false);}。6.一种执行权利要求1所述高效控制机器人的系统的高效控制机器人的方法,其特征在于,所述高效控制机器人的方法包括:步骤一,设置串口参数,初始化串口,步骤二,利用摄像头获取图像,导入摄像头抓取的目标物,并对图像进行匹配,根据匹配结果求取目标物的三维坐标;步骤三,基于NGA算法为机器人寻找到目标物三维坐标的最优路径;步骤四,利用Teleoperation与RemoteControl控制机器人运动。7.如权利要求6所述的高效控制机器人的方法,其特征在于,所述高效控制机器人的方法利用MFC编程将双目立体视觉模块、路径规划模块、遥操作模块、通讯模块、下位机模块封装在程序中具体包括:(1)将双目立体视觉模块封装在类CVision中,主要的功能函数如下:CVision::OnActive()完成图像的显示,为系统显示实时采集来的图像;CVision::OnSearch()完成目标物的搜索,为系统选择左视图中的目标点;CVision::OnMatch()完成图像的匹配过程,为系统寻找右视图中对应的目标点;利用动态链接链库CoordinateCalculate来封装三维求距功能,在求取时只需要调用内部的接口函数LvDistance(m_dfR,m_dfT,m_dfKL,m_dfKR,m_dfML,m_dfMR,m_dfMatchPt,res,error)计算目标点的三维坐标即可;(2)将机器人的手动控制界面封装在CControlTestDlg中;实现机器人各个关节、车体的控制;包括:手爪控制、关节控制、手臂方向控制以及车体控制,其中关节控制和手臂控制封装在类CManipulator中,CControlTestDlg只需调用其接口函数;手爪控制和车体控制直接封装在CControlTestDlg中;(3)将遥操作模块封装在类CTeleoperation中;(4)将通讯模块封装在类CSerialPort中;(5)将路径规模模块采用遗传算法路径规划封装在GA项目中。8.如权利要求6所述的高效控制机器人的方法,其特征在于,所述高效控制机器人的方法的标定的具体步骤包括:(1)制作一张黑白方格相间的模版,打印并贴在一个平面上作为标定过程中所使用的平面标定靶标;(2)将模板多个角度放置在摄像机前拍摄图像,并根据模板的空间位置建立世界坐标系OwXwYwZw,使得模板位于世界坐标系的XwYw平面上,即模版上任一点的在世界坐标系中Zw=0;(3)取黑白棋格的交点作为控制点,并称之为“角点”;(4)利用Matlab编写的张氏标定法对单个摄像头进行标定,分别求成两个摄像头的内参数;(5)利用Matlab编写的张氏标定法对双目视觉进行立体标定,求出两摄像头的外参数;所述张氏标定法:假设标定用平面图板在世界坐标系中Z=0,通过线性模型分析计算得出摄像机参数的优化解,然后用基于最大似然法进行非线性求精;在这个过程中,标定考虑到镜头畸变的目标函数,最后求出所需的摄像机的内、外部参数;其基本原理如下式:在这里假定模板平面在世界坐标系Zw=0的平面上;式中,A为摄像机的内参数矩阵,令为模板平面上点的齐次坐标,为模板平面上点投影到图像平面上对应点的齐次坐标,[r1r2t]和t分别是摄像机坐标系相对于世界坐标系的旋转矩阵和平移向量;建立控制点的空间坐标与图像坐标之间的单映性关系式:其中,H=A[r1r2t],描述了控制点的空间坐标与图像坐标之间的映射关系每一个控制点的H都不同。但对于同一幅模板图像上的控制点,因A[r1r2t]固定,故其上的控制点的仅相差一尺度因子;对于一幅模板图像,虽然不能完全确定其对应的A[r1r2t],但却可以在某种程度上获得关于A[r1r2t]的约束;H提供了关于A[r1r2t]的约束,也即是提供了关于A的约束;不同的模板,其H不同,但是A是确定的;可以通过多个不同的模板的H,来最终确定A,即有:根据旋转矩阵的性质,即r1Tr2=0和||r1||=||r2||=1,每幅图可以获得以下两个对内参数矩阵的基本约束:摄像机有五个位置参数,故当所摄取的图像数目大于3时,就可以线性唯一求解A;再利用A来估计各模板的外参数;每幅模板的H都能提供了关于A的约束,具体的约束由旋转矩阵R=[r1r2r3]的正交性推导得到。旋转矩阵R的正交性为:r1Tr2=0r1Tr1=r2Tr2因而可以推导得到:[h1h4h7]A-TA-1[h2h5h8]T=0[h1h4h7]A-TA-1[h1h4h7]T=[h2h5h8]A-TA-1[h2h5h8]T外参数{r1r2r3t}和H的尺度因子λ很容易由H与[RT]的关系求得:r1=λA-1[h1h4h7]Tr2=λA-1[h2h5h8]Tr3=r1×r2t=λA-1[h3h6h9]T。9.如权利要求6所述的高效控制机器人的方法,其特征在于,所述高效控制机器人的...
【专利技术属性】
技术研发人员:黄永生,龚勇镇,张雪娜,
申请(专利权)人:广东石油化工学院,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。