CN108499054B - 一种基于slam的车载机械臂捡球***及其捡球方法 - Google Patents
一种基于slam的车载机械臂捡球***及其捡球方法 Download PDFInfo
- Publication number
- CN108499054B CN108499054B CN201810301019.8A CN201810301019A CN108499054B CN 108499054 B CN108499054 B CN 108499054B CN 201810301019 A CN201810301019 A CN 201810301019A CN 108499054 B CN108499054 B CN 108499054B
- Authority
- CN
- China
- Prior art keywords
- ball
- subsystem
- mechanical arm
- robot body
- map
- 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.)
- Active
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B47/00—Devices for handling or treating balls, e.g. for holding or carrying balls
- A63B47/02—Devices for handling or treating balls, e.g. for holding or carrying balls for picking-up or collecting
- A63B47/021—Devices for handling or treating balls, e.g. for holding or carrying balls for picking-up or collecting for picking-up automatically, e.g. by apparatus moving over the playing surface
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B47/00—Devices for handling or treating balls, e.g. for holding or carrying balls
- A63B47/02—Devices for handling or treating balls, e.g. for holding or carrying balls for picking-up or collecting
- A63B47/021—Devices for handling or treating balls, e.g. for holding or carrying balls for picking-up or collecting for picking-up automatically, e.g. by apparatus moving over the playing surface
- A63B2047/022—Autonomous machines which find their own way around the playing surface
Landscapes
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Physical Education & Sports Medicine (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种基于SLAM的车载机械臂捡球***及其捡球方法,包括:视觉子***利用SLAM技术构建场地栅格地图并获取捡球***的机器人主体实时位置信息;中央处理子***,遍历栅格地图以寻找目标球,并根据目标球、视野内的障碍物及机器人主体之间的相对位置规划捡球运动轨迹,发出运动指令;以及,在机器人主体到达捡球目标位置时发出抓球指令;驱动子***驱动机器人主体按照运动轨迹移动至目标位置;抓球子***在接收到所述抓球指令时,执行设定的抓球动作;能源子***向其它子***提供电源;中央子***包括基于零力控制法的力度控制程序,用于在抓球过程中,补偿由于运动带来的重力和摩擦力,实现抓球力度控制。
Description
技术领域
本发明涉及移动机器人领域,尤其是涉及一种基于SLAM的车载机械臂捡球***及其抓球方法。
背景技术
我国是乒乓球王国,拥有众多的乒乓球爱好者和专业的乒乓球运动员。在打乒乓球的过程中,他们经常会遇到将乒乓球打飞的情况,常常需要拾取飞落球桌之外的乒乓球。但是由于乒乓球的弹性好,因此在拾取过程中乒乓球极有可能乱弹乱蹦,使得拾取时间过长,不利于巩固训练效果,也容易增加训练的疲劳感,使得运动受伤的可能性大大增加。因此,市场上出现越来越多的自动捡球机器人。
例如,中国专利文献201510229859.4公开了一种网球捡球机的捡球***及方法。其方案大致是:首先通过红外传感器测量车球之间的距离,并将测量得到的数据信号传给中央处理器,中央处理器随之发出运动指令,小车对应完成前进、后退、左转、右转、微进、微退等程序,使车球之间的距离达到设定值;然后,启动机械臂工作程序,通过二自由度机械臂的关节处两个舵机分别控制机械臂的伸缩与机械爪的开合,来实现乒乓球的抓取。然而,该方法虽然能够实现自动捡球,但是由于这种方案没有对抓取力大小的精确控制,极有可能会因抓取力过小造成抓不住乒乓球,或者是抓取力过大造成乒乓球受压损坏,不能正常使用。因此必须要考虑乒乓球抓取时抓取力的大小,否则无法提高抓取成功率。
又比如,另一中国专利文献201611259824.6公开了基于TensorFlow的自动捡乒乓球机器人。其方案大致是:先使机器人处于巡航状态,当摄像机中识别到乒乓球后切换到捡球状态;在靠近球的过程中,通过利用智能手机的摄像头在小车移动过程中不断确认目标乒乓球的方位,随之做出移动,使得待拾取的乒乓球始终位于车辆本体正前方;在捡球阶段,用超声传感器和红外传感器实时测量车辆本体与乒乓球之间的距离,直至两者之间距离略小于球框中心到车前端之间的距离时,启动机械臂抓取程序,拾取乒乓球;随后再判断摄像机中是否有乒乓球,若有则进入捡球状态,反之切换到巡航状态。这种方法最大的缺陷在于,机器人在移动过程中无法躲避拾取乒乓球过程遇到的训练场中的障碍物,极易造成设备尤其是机械臂的损坏。
在室内捡乒乓球的应用中,有的设备视图解决障碍物的问题,但大多只是使用简单的随机碰撞检测避障方法,在某些复杂的地形中不能到达室内的全部区域;并且在使用机械臂进行抓取时,必须使机器人知道外部环境信息,不然极有可能造成机械臂的损坏。
以上背景技术内容的公开仅用于辅助理解本发明的发明构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日前已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。
发明内容
本发明的主要目的在于提出一种可精确控制抓球力度的车载机械臂捡球***及其抓球方法,通过应用零力控制方法在机械臂运动过程中,通过中央控制器补偿由于运动带来的重力和摩擦力,实现稳定抓取,以解决现有的捡球机器人由于无法精确控制抓球力度而导致球体被抓变形或无法抓住球体的问题。同时,还通过SLAM技术实现抓取过程中的自动避障。
本发明为达上述目的所提供的其中一技术方案如下:
一种基于SLAM的车载机械臂捡球***,包括机器人主体,所述机器人主体包括:
视觉子***,用于根据SLAM技术构建所述捡球***工作场地的栅格地图,并获取所述机器人主体所处的实时位置信息;
中央处理子***,与所述视觉子***连接,用于遍历视野内的栅格地图以搜寻待拾取的球,并在识别到距离所述机器人主体最近的目标球时,根据目标球、视野内的障碍物以及所述机器人主体之间的相对位置,采用SLAM技术规划捡球的运动轨迹,并发出运动指令;以及,用于在所述机器人主体到达捡球目标位置时,发出抓球指令;
驱动子***,与所述中央处理子***连接,用于执行所述运动指令以驱动所述机器人主体按照所述运动轨迹移动至目标位置;
抓球子***,与所述中央处理子***连接,用于在接收到所述抓球指令时,执行设定的抓球动作;
能源子***,连接至所述视觉子***、所述中央处理子***、所述驱动子***和所述抓球子***,用于向所述视觉子***、所述中央处理子***、所述驱动子***和所述抓球子***提供电源;
其中,所述中央子***包括基于零力控制法的力度控制程序,用于在抓球过程中,补偿由于运动带来的重力和摩擦力,实现抓球力度控制。
更进一步地,所述视觉子***包括Kinect相机、手眼相机、视觉传感器、激光传感器以及基于SLAM技术的栅格地图构建程序;所述Kinect相机用于采集所述工作场地的深度图像并获取物体的轮廓信息以及物体在所述机器人主体的坐标系中的三维坐标和法向量;所述手眼相机用于在所述抓球子***进行抓球的过程中确定抓球距离;所述视觉传感器用于实时获取所述工作场地的图像;所述激光传感器用于在所述机器人主体移动的过程中测量所述机器人主体与所述视觉传感器视野范围内的障碍物之间的距离。
更进一步地,所述抓球子***包括三自由度机械臂、力传感器以及机械臂控制单元,所述机械臂具有三指机械手。
更进一步地,所述驱动子***包括直流电机、直流电机控制单元以及轮子,所述轮子在所述直流电机的驱动下转动以使所述机器人主体移动。
本发明提供的上述捡球***,通过零力控制法可精确控制机械臂的机械手抓球的力度,在保证了能够抓起球的同时还能避免力度过大将球挤压变形。另一方面,使用三自由度机械臂配合三指机械手完成抓取任务,三自由度机械臂能够在三维空间内自由伸展,便于实现抓球,运球和放球动作,尤其是当球落于一堆障碍物中,小车无法前进,此时使用机械臂可以从空中伸展实现抓取。通过同步定位与地图构建(SLAM)技术,机器人主体能够清楚地获取自身所处环境,通过规划算法就能规避靠近目标球的过程中遇到的障碍物。
本发明另一实施方式提出了前述捡球***的捡球方法,包括以下步骤:
S1、***初始化完成后,所述中央处理子***向所述驱动子***发出初始运动指令;
S2、所述驱动子***执行所述初始运动指令,以驱动所述机器人主体在所述工作场地内四处移动;
S3、所述视觉子***在所述机器人主体四处移动的过程中采用SLAM技术构建所述工作场地的栅格地图;
S4、所述中央处理子***通过遍历所述栅格地图,寻找距离所述机器人主体最近的目标球,并根据目标球、视野内的障碍物以及所述机器人主体之间的相对位置,采用SLAM技术规划捡球的运动轨迹,并发出运动指令;
S5、所述驱动子***接收并执行所述运动指令,驱动所述机器人主体按照所述运动轨迹移动至目标位置,此时所述中央处理子***向所述抓球子***发出抓球指令;
S6、所述抓球子***接收到所述抓球指令,控制机械臂展开成设定资态;同时,视觉子***的手眼相机拍摄图像并对图像进行霍夫圆检测,检测图像中的圆心位置;
S7、所述中央处理子***将图像中的圆心位置转换成目标球在所述机器人主体的坐标系中的位置,并通过逆运动学计算出机械臂各关节的目标关节角;
S8、所述中央处理子***根据机械臂当前关节角和目标关节角,在笛卡尔空间进行机械臂轨迹规划;
S9、所述抓球子***根据所述中央处理子***规划的机械臂轨迹,控制机械臂朝目标球靠近以达到所述目标关节角;在机械臂靠近目标球过程中,所述手眼相机不断拍摄图像进行所述霍夫圆检测,同时所述力度控制程序控制机械臂的电机电流,从而控制电机输出转矩,实现抓取过程中的力度控制;
S10、当机械臂达到所述目标关节角时,控制机械手闭合,抓取所述目标球;
S11、所述抓球子***控制所述机械臂返回设定位置,以将抓取的目标球放到设定装置,完成一次捡球,返回步骤S2。
附图说明
图1是本发明具体实施例提出的基于SLAM的车载机械臂捡球***的***框图;
图2是本发明具体实施例提出的基于SLAM的车载机械臂捡球***的结构示意图;
图3是如图1和图2所示的捡球***的捡球方法流程图;
图4是采用SLAM技术构建栅格地图的方法流程图。
具体实施方式
下面结合附图和具体的实施方式对本发明作进一步说明。
同步定位与地图构建(Simultaneous LocalizationAnd Mapping,SLAM)技术可用于解决移动机器人在未知环境中运行时定位导航与地图构建的问题。SLAM技术的最大特点就是能够使得机器人在未知环境中自主移动,利用已创建好的地图进行自身的定位,根据定位结果对地图进行更新。
本发明基于SLAM技术,可以解决将一个机器人放入未知环境中的未知位置,让机器人一边逐步描绘出此环境完整的地图,同时一边决定机器人往哪个方向行进,最终不受障碍运动到目标位置。另外,本发明还基于零力控制法,控制三自由度机械臂的三指机械手以合适的力度抓取目标球,保证抓稳球体时不至于挤压球体变形。
参考图1,本发明的其中一具体实施方式提出了一种基于SLAM的车载机械臂捡球***,包括机器人主体,所述机器人主体包括中央处理子***、视觉子***、驱动子***、抓球子***和能源子***,每一个子***均包括软件部分和硬件部分,其中,中央处理子***和其余每个子***均有连接,能源子***也与其余每个子***均有连接。下面结合具体的实施例对每个子***的构成和作用,以及子***之间的协同工作过程进行详细的说明,并阐述整个捡球***的工作原理。
视觉子***主要用于根据SLAM技术构建所述捡球***工作场地的栅格地图,并获取所述机器人主体所处的实时位置信息。具体地,所述视觉子***包括Kinect相机、手眼相机、视觉传感器、激光传感器以及基于SLAM技术的栅格地图构建程序。如图2,Kinect相机10通过支架11固定于机器人主体的顶部,用于采集所述工作场地的深度图像并获取物体的轮廓信息以及物体在所述机器人主体的坐标系中的三维坐标和法向量。手眼相机(例如1018p单目广角相机)主要用于在抓球子***进行抓球的过程中确定抓球距离。所述视觉传感器用于实时获取所述工作场地的图像。所述激光传感器用于在所述机器人主体移动的过程中测量所述机器人主体与所述视觉传感器视野范围内的障碍物之间的距离。
抓球子***包括三自由度机械臂、力传感器以及机械臂控制单元,所述机械臂具有三指机械手,在接收到所述抓球指令时,执行设定的抓球动作。在一种具体的应用实例譬如在训练场中捡乒乓球,鉴于训练场中可能需要捡很多数目的乒乓球,本发明使用速度快、准确率高的机械臂(三自由度)作为抓球子***的执行元件,通过机械臂控制单元(如图2,位于控制箱80内)实现快速抓取,尽可能实现在短时间内捡完所有散落在训练场的乒乓球,且在乒乓球落于一堆障碍物中、小车无法前进时,机械臂90可以从空中伸展实现抓取;另外,为了进一步提高抓球的准确率,本发明的机械臂使用三指机械手完成抓取动作,并配合使用力传感器和零力控制法,控制抓球时力的大小,防止因为抓取力过小造成球滑落,或者因抓取力过大使得球受挤压变形、损坏。另外,机器人主体还设置了专门的储球装置60,机械臂抓到球后可放回到该储球装置。
中央处理子***,用于遍历视觉传感器视野内的栅格地图以搜寻待拾取的球,并在识别到距离所述机器人主体最近的目标球时,根据目标球、视野内的障碍物以及所述机器人主体之间的相对位置,采用SLAM技术规划机器人捡球的运动轨迹,并发出运动指令;以及,用于在所述机器人主体到达捡球目标位置时,发出抓球指令。中央处理子***通过工控主机70(例如英特尔i7)实现对数据、图像等的处理和指令的生成。在一种具体的实施例中,中央处理子***基于ROSjade软件进行数据处理,运行于Ubuntu14.04操作***。
另外,中央处理子***还包括有基于零力控制法的力度控制程序,用于在抓球过程中,补偿由于运动带来的重力和摩擦力,实现抓球力度控制。该力度控制程序进行抓球力度控制的原理如下:
一般地,N自由度机械臂的动力学方程可写为:
其中,M(q)是惯性矩阵,是非线性项科里奥力矩阵,G(q)是重力项,是摩擦力矩阵,τext是施加在机械臂关节上的外力矩,τ为机械臂关节电机输出转矩;而q,分别是关节转动角度、角速度、角加速度。
本发明中设定机械臂运动过程是匀速,在此条件下,与速度变化有关的惯性项和非线性项都为零,达到简化运算,提高执行效率的目的。故三自由度机械臂的动力学方程简化为:
其中,机械臂关节电机输出转矩τ与机械臂关节电机输出电流I之间存在线性关系τ=kI,k为常数。因此,只要对机械臂关节电机输出的电流I进行控制,就能进一步控制输出转矩τ。
通过实验测定机械臂的机械手可抓起球且不将球挤压变形的抓取力范围,乘以对应的力臂长度,得到目标转矩Δτexp;从而,机械臂的控制方程为
通过控制电流I实现对输出转矩τ的控制,从而控制机械臂关节角上的外力矩τext,实现机械臂抓球力度的控制。
驱动子***包括直流电机、直流电机控制单元以及轮子,所述轮子在所述直流电机的驱动下转动以使所述机器人主体移动。如图2,在一种具体的实施例中,机器人主体的轮子可以为3个,两个前轮22和一个后轮21,前轮例如可以是麦克纳姆轮,在所述直流电机的驱动下转动;后轮21为万向轮。直流电机控制单元例如是STM32电机驱动控制板50。驱动子***的软件程序部分基于Keil uVision5软件进行程序编写,运行于Windows 7操作***,烧录于STM32控制板。
能源子***主要包括储能模块30(例如12V聚合物锂电池组)以及直流稳压模块40,用于向捡球***的其它子***提供的稳定的工作电源。工作时首先将充满电的聚合物锂电池放置在小车底部电池槽,并与直流稳压模块连接好,这样就能够通过直流稳压模块向视觉子***、中央处理子***、驱动子***以及抓球子***输出稳定的直流电压,为***在整个捡球过程中的正常工作提供能源保障。
下面以在训练场捡乒乓球为例对前述捡球***的捡球方法进行说明。
参考图3,所述捡球方法包括以下步骤S1至S6:
S1、***初始化:对所述手眼相机的标定以及对机械臂工作范围的测定。手眼相机的标定使用标定板,标定可以使得在获知机械臂各关节角以及实时图像中物体(例如球)的像素坐标后,就可计算出物体在机器人主体坐标系中的三维坐标。机械臂工作范围的测定,可以用STM32控制板控制机械臂到达各个极限位置,记录各关节角度数据和末端三指机械手位置点,这样就完成机械臂的可行工作范围的测定。同时,还通过实验测定机械臂的机械手可抓起球且不将球挤压变形的抓取力范围,具体的测定方法已在前述阐述,不再重述。
S2、初始化完成后,中央处理子***向驱动子***发出初始运动指令,以使驱动子***驱动机器人主体在捡球场地内四处巡回移动,在移动的过程中,视觉子***的Kinect相机不断地获取场地的三维点云信息,以采用SLAM技术构建栅格地图。
S3、中央处理子***通过遍历所述栅格地图,判断视觉传感器视野范围内的栅格地图中是否有球,若没有则原地转动一定的角度继续遍历;若有则找出距离机器人主体最近的目标球,然后根据目标球、视野内的障碍物以及所述机器人主体之间的相对位置,采用SLAM技术规划捡球的运动轨迹,并发出运动指令。在找球的过程中,Kinect相机采集场地的深度图像,可以获取到物体的边缘轮廓信息,并从深度图像中获取到物体在机器人主体坐标系中的三维坐标和法向量,同时可获知机器人主体的实时位置信息。中央处理子***对来自于视觉子***的物体信息进一步处理,即主要从获取的场地的轮廓中提取目标物体,采用的方法是结合颜色深度信息,认为在颜色与深度图都有突变的地方视为物体的边界,提取目标物体—球。在遍历之前,所述中央处理子***先使用Boustrophedon分块算法对所述栅格地图进行分块,然后遍历所有可达区域;在遍历的过程中,将通过SLAM技术获得的机器人主体的位资作为反馈引入PID闭环控制算法,以遍历所有可达区域,并实现自动避开障碍物。
S4、驱动子***接收并执行所述运动指令,驱动所述机器人主体按照所述运动轨迹移动至目标位置,此时所述中央处理子***向所述抓球子***发出抓球指令。所述目标位置是根据机器人主体与机械臂的工作空间关系,要使得目标物体(目标球)处于机械臂的工作空间内的位置。机器人主体移动向目标球靠近的过程中,其位置不断发生变化,一方面可通过安装在驱动轮(前轮)上的编码器,实时反馈机器人主体的当前位置;另一方面,可通过激光传感器测量周围环境信息(尤其是与目标球之间的距离、相对位置),以不断地修正机器人主体的运动路线。具体的修正过程:激光传感器首先测量机器人主体与目标球之间的相对距离和角度,根据运动学方程预测机器人主体的当前位置信息。通过运动过程中,不断检测机器人主体与目标球的相对位置和角度、机器人主体的运动距离并与机器人主体运动前观测到的目标球的位置相互结合,并根据机器人主体当前位置和当前环境信息,更新机器人主体在栅格地图中的实时位置。这部分工作主要是基于SLAM技术的路径规划算法,原理是扩展卡尔曼滤波EFK,目的是使得机器人主体准确避开障碍物运动到所述目标位置。
S5、抓球子***接收到所述抓球指令,控制机械臂展开成设定资态;同时,视觉子***的手眼相机拍摄图像并对图像进行霍夫圆检测,检测图像中的圆心位置;中央处理子***将图像中的圆心位置转换成目标球在所述机器人主体的坐标系中的位置,并通过逆运动学计算出机械臂各关节的目标关节角;所述中央处理子***根据机械臂当前关节角和目标关节角,在笛卡尔空间进行机械臂轨迹规划。根据规划的机械臂抓球轨迹,机械臂控制单元控制机械臂靠近目标球,在靠近的过程中,不断地进行所述霍夫圆检测以确定机械臂是否达到目标关节角(即是否到达机械手闭合即可抓到球的位置),这样即可形成一个闭环PID控制***,能够精确控制机械手到达目标球所在位置,在此过程中中央处理子***还采用零力控制法控制机械臂的力度。
S6、当机械臂达到所述目标关节角时,控制机械手闭合,抓取所述目标球;然后,抓球子***控制所述机械臂返回设定位置,以将抓取的目标球放到设定装置,完成一次捡球。再返回S3,继续下一次的捡球过程。
Kinect相机是一种能够获得RGB图和深度图的光结构相机。初始时Kinect相机存在镜头畸变,采用标定的方式矫正畸变。由于外界环境的干扰,如光照等,可能会对球体检测增加难度,所以在进行霍夫圆检测前,先将除球以外的环境剔除。另外,Kinect相机捕捉到的图像是基于自身坐标系的,为了提供给中央处理子***进行处理和动作指令决策,还需要考虑机器人主体坐标系与Kinect相机坐标系的相对位姿关系,将图像转换到机器人主体的坐标系中。
在机器人主体的运动过程中,Kinect相机能够不断的采集到RGB图与深度图,在连续的两帧图像中,计算图像的特征点与特征点的描述子,通过对描述子的比较可以将两帧图像中的特征点匹配起来。当获得两帧图像中的匹配特征点之后,又有深度图提供的特征点深度信息,根据针孔相机的投影模型就可以将图像坐标系中的特征点投影到Kinect相机坐标系中。利用这两组匹配好的Kinect相机坐标系中的三维点,根据ICP(IterativeClosest Point,迭代最近点算法)算法,利用最小二乘方法得到两帧之间的图像旋转矩阵与平移矩阵。选取初始时的Kinect相机坐标系作为世界坐标系,可以解得任意一帧图像在世界坐标系下的旋转矩阵与平移矩阵,也就获得了机器人实时位置信息,另外,位于Kinect相机坐标系中的特征点也就可以转换到世界坐标系中,作为地图点使用。
栅格地图(Grid-basedmap)也称二维占据栅格地图,是一种基于工作平面某一位置是否有障碍物的概率表达的地图。在一具体的实施例中,参考图4,栅格地图的构成过程大致如下:
1)机器人主体在场地内四处巡回移动的同时,视觉子***的Kinect相机获取当前局部场景的三维点云信息;
2)初始化当前局部场景的局部地图,设置地图尺寸以及栅格大小(每个栅格所代表的实际距离),将整个图像都设置为灰色,代表未知区域。按照到相机光心的距离z,从近到远扫描,扫描范围决定局部地图大小。由于Kinect相机的深度信息只在一定范围内可信,所以设置z在一合适范围以限制扫描的三维点范围。这样一来,每一次扫描得到的局部地图都是一个以相机光心为中心的扇形区域。
3)判断点云高度是否在预设范围内,若否,则舍弃点云;若是,则将点云投影至所述局部地图并统计出相应的局部栅格地图;具体而言,可通过判断所述局部地图的栅格被处于所述预设范围内的点云投影的次数,来判断栅格是否应被障碍物占据,当某一栅格被投影的次数大于预设阈值时,判断该栅格被障碍物占据;
4)将局部栅格地图转换到世界坐标系中;
在所述机器人主体于所述工作场地内四处移动的过程中,不断地执行上述的1)至4)过程,得到全局的栅格地图。栅格地图有三种状态,即可通行(无障碍占据)状态、有障碍占据状态和未知环境状态。将局部栅格地图转换到世界坐标系,可采用贝叶斯方法将局部栅格地图不断地融合得到全局栅格地图。
本发明能够应用于在乒乓球训练场,帮助乒乓球爱好者和专业的乒乓球运动员们拾取散落在场地内的乒乓球,降低在剧烈运动过程中因为弯腰次数过多造成的运动受伤风险。本发明的捡球***和捡球方法,基于SLAM技术构建的栅格地图和运动路径规划,能够使得捡球机器人准确避开障碍物到达捡球的目标位置;于此同时,通过零力控制法可精确控制三自由度机械臂的机械手抓球力度大小。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。
Claims (8)
1.一种基于SLAM的车载机械臂捡球***,包括机器人主体,所述机器人主体包括:
视觉子***,用于根据SLAM技术构建所述捡球***工作场地的栅格地图,并获取所述机器人主体所处的实时位置信息;
中央处理子***,与所述视觉子***连接,用于遍历视野内的栅格地图以搜寻待拾取的球,并在识别到距离所述机器人主体最近的目标球时,根据目标球、视野内的障碍物以及所述机器人主体之间的相对位置,采用SLAM技术规划捡球的运动轨迹,并发出运动指令;以及,用于在所述机器人主体到达捡球目标位置时,发出抓球指令;
驱动子***,与所述中央处理子***连接,用于执行所述运动指令以驱动所述机器人主体按照所述运动轨迹移动至目标位置;
抓球子***,与所述中央处理子***连接,用于在接收到所述抓球指令时,执行设定的抓球动作;
能源子***,连接至所述视觉子***、所述中央处理子***、所述驱动子***和所述抓球子***,用于向所述视觉子***、所述中央处理子***、所述驱动子***和所述抓球子***提供电源;
其中,所述中央子***包括基于零力控制法的力度控制程序,用于在抓球过程中,补偿由于运动带来的重力和摩擦力,实现抓球力度控制;
所述视觉子***构建所述栅格地图的步骤包括:
1)所述机器人主体移动,同时视觉子***的Kinect相机获取当前局部场景的三维点云信息;
2)初始化当前局部场景的局部地图;
3)判断点云高度是否在预设范围内,若否,则舍弃点云;若是,则将点云投影至所述局部地图并统计出相应的局部栅格地图;其中,通过判断所述局部地图的栅格被处于所述预设范围内的点云投影的次数,来判断栅格是否被障碍物占据,当某一栅格被投影的次数大于预设阈值时,判断该栅格被障碍物占据;
4)将局部栅格地图转换到世界坐标系中;
在所述机器人主体于所述工作场地内四处移动的过程中,循环执行步骤1)至4),得到全局的栅格地图。
2.如权利要求1所述的捡球***,其特征在于:所述视觉子***包括Kinect相机、手眼相机、视觉传感器、激光传感器以及基于SLAM技术的栅格地图构建程序;
所述Kinect相机用于采集所述工作场地的深度图像并获取物体的轮廓信息以及物体在所述机器人主体的坐标系中的三维坐标和法向量;
所述手眼相机用于在所述抓球子***进行抓球的过程中确定抓球距离;
所述视觉传感器用于实时获取所述工作场地的图像;
所述激光传感器用于在所述机器人主体移动的过程中测量所述机器人主体与所述视觉传感器视野范围内的障碍物之间的距离。
3.如权利要求1所述的捡球***,其特征在于:所述抓球子***包括三自由度机械臂、力传感器以及机械臂控制单元,所述机械臂具有三指机械手。
4.如权利要求1所述的捡球***,其特征在于:所述驱动子***包括直流电机、直流电机控制单元以及轮子,所述轮子在所述直流电机的驱动下转动以使所述机器人主体移动。
5.如权利要求1至4任一项所述的捡球***的捡球方法,包括以下步骤:
S1、***初始化完成后,所述中央处理子***向所述驱动子***发出初始运动指令;
S2、所述驱动子***执行所述初始运动指令,以驱动所述机器人主体在所述工作场地内四处移动;
S3、所述视觉子***在所述机器人主体四处移动的过程中采用SLAM技术构建所述工作场地的栅格地图;
S4、所述中央处理子***通过遍历所述栅格地图,寻找距离所述机器人主体最近的目标球,并根据目标球、视野内的障碍物以及所述机器人主体之间的相对位置,采用SLAM技术规划捡球的运动轨迹,并发出运动指令;
S5、所述驱动子***接收并执行所述运动指令,驱动所述机器人主体按照所述运动轨迹移动至目标位置,此时所述中央处理子***向所述抓球子***发出抓球指令;
S6、所述抓球子***接收到所述抓球指令,控制机械臂展开成设定资态;同时,视觉子***的手眼相机拍摄图像并对图像进行霍夫圆检测,检测图像中的圆心位置;
S7、所述中央处理子***将图像中的圆心位置转换成目标球在所述机器人主体的坐标系中的位置,并通过逆运动学计算出机械臂各关节的目标关节角;
S8、所述中央处理子***根据机械臂当前关节角和目标关节角,在笛卡尔空间进行机械臂轨迹规划;
S9、所述抓球子***根据所述中央处理子***规划的机械臂轨迹,控制机械臂朝目标球靠近以达到所述目标关节角;在机械臂靠近目标球过程中,所述手眼相机不断拍摄图像进行所述霍夫圆检测,同时所述力度控制程序控制机械臂的电机电流,从而控制电机输出转矩,实现抓取过程中的力度控制;
S10、当机械臂达到所述目标关节角时,控制机械手闭合,抓取所述目标球;
S11、所述抓球子***控制所述机械臂返回设定位置,以将抓取的目标球放到设定装置,完成一次捡球,返回步骤S2;
步骤S3构建栅格地图具体包括:
S31、所述机器人主体移动,同时视觉子***的Kinect相机获取当前局部场景的三维点云信息;
S32、初始化当前局部场景的局部地图;
S33、判断点云高度是否在预设范围内,若否,则舍弃点云;若是,则将点云投影至所述局部地图并统计出相应的局部栅格地图;其中,通过判断所述局部地图的栅格被处于所述预设范围内的点云投影的次数,来判断栅格是否应被障碍物占据,当某一栅格被投影的次数大于预设阈值时,判断该栅格被障碍物占据
S34、将局部栅格地图转换到世界坐标系中;
在所述机器人主体于所述工作场地内四处移动的过程中,循环执行步骤S31至S34,得到全局的栅格地图。
6.如权利要求5所述的捡球方法,其特征在于:所述***初始化包括对所述手眼相机的标定以及对机械臂工作范围的测定。
7.如权利要求5所述的捡球方法,其特征在于:步骤S4中,所述中央处理子***使用Boustrophedon分块算法对所述栅格地图进行分块,并且遍历所有可达区域;在遍历的过程中,将通过SLAM技术获得的机器人主体的位资作为反馈引入PID闭环控制算法,以遍历所有可达区域,并实现自动避开障碍物。
8.如权利要求5所述的捡球方法,其特征在于:步骤S9中,通过所述力度控制程序控制抓取过程中的力度具体包括:
设定机械臂匀速运动,则三自由度机械臂的动力学方程为
其中,G(q)为重力项,为摩擦力矩阵,τext为施加于机械臂关节角上的外力矩,τ为机械臂关节电机输出转矩,且τ=kI,k为常数,I为机械臂关节电机输出电流;
通过实验测定机械臂的机械手可抓起球且不将球挤压变形的抓取力范围,乘以对应的力臂长度,得到目标转矩Δτexp;从而,机械臂的控制方程为
通过控制电流I实现对输出转矩τ的控制,从而控制机械臂关节角上的外力矩τext,实现机械臂抓球力度的控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810301019.8A CN108499054B (zh) | 2018-04-04 | 2018-04-04 | 一种基于slam的车载机械臂捡球***及其捡球方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810301019.8A CN108499054B (zh) | 2018-04-04 | 2018-04-04 | 一种基于slam的车载机械臂捡球***及其捡球方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108499054A CN108499054A (zh) | 2018-09-07 |
CN108499054B true CN108499054B (zh) | 2019-10-11 |
Family
ID=63380888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810301019.8A Active CN108499054B (zh) | 2018-04-04 | 2018-04-04 | 一种基于slam的车载机械臂捡球***及其捡球方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108499054B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109333549B (zh) * | 2018-10-25 | 2022-05-27 | 湖南大学 | 一种基于机器视觉的乒乓球拾取移动机器人及控制方法 |
CA3118307A1 (en) * | 2018-11-06 | 2020-05-14 | Court Bots, Inc. | Ball retrieval system and method |
JP2020151083A (ja) * | 2019-03-19 | 2020-09-24 | 村田機械株式会社 | 集球排球機 |
CN109910011A (zh) * | 2019-03-29 | 2019-06-21 | 齐鲁工业大学 | 一种基于多传感器的机械臂避障方法和机械臂 |
CN110090410B (zh) * | 2019-05-07 | 2020-11-13 | 东北师范大学 | 一种捡球机器人及方法 |
CN110370256B (zh) * | 2019-06-25 | 2021-06-04 | 达闼科技(北京)有限公司 | 机器人及其路径规划方法、装置和控制器 |
CN110199909A (zh) * | 2019-07-07 | 2019-09-06 | 河北农业大学 | 一种捡蛋机器人执行机构及其控制方法 |
CN110625597B (zh) * | 2019-09-27 | 2021-01-01 | 陈小龙 | 一种基于slam的机器人***及其示教方法 |
CN110919648A (zh) * | 2019-11-08 | 2020-03-27 | 南昌大学 | 一种基于树莓派的自动拾料堆叠装置及拾料堆叠方法 |
CN110874143B (zh) * | 2019-11-14 | 2024-04-12 | 东莞市小精灵教育软件有限公司 | 传感器数据获取方法、智能终端、存储介质及电子设备 |
CN113409394A (zh) * | 2021-08-17 | 2021-09-17 | 成都信息工程大学 | 一种智能叉取方法及*** |
CN113706628A (zh) * | 2021-08-17 | 2021-11-26 | 成都信息工程大学 | 一种智能搬运机器人协作***及其对特征图像的处理方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106422223A (zh) * | 2016-08-31 | 2017-02-22 | 成都市和平科技有限责任公司 | 一种智能球形物体回收机器人***及方法 |
CN106964121A (zh) * | 2017-03-29 | 2017-07-21 | 东华大学 | 一种智能巡检拾取乒乓球的装置 |
-
2018
- 2018-04-04 CN CN201810301019.8A patent/CN108499054B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108499054A (zh) | 2018-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108499054B (zh) | 一种基于slam的车载机械臂捡球***及其捡球方法 | |
CN106774309B (zh) | 一种移动机器人同时视觉伺服与自适应深度辨识方法 | |
WO2023056670A1 (zh) | 复杂光照条件下基于视触融合的机械臂自主移动抓取方法 | |
Fang et al. | Adaptive active visual servoing of nonholonomic mobile robots | |
CN108453738A (zh) | 一种基于Opencv图像处理的四旋翼飞行器空中自主抓取作业的控制方法 | |
JP2022542241A (ja) | ロボット装置からの視覚的出力を補強するシステム及び方法 | |
Stückler et al. | Real-Time 3D Perception and Efficient Grasp Planning for Everyday Manipulation Tasks. | |
CN106354161A (zh) | 机器人运动路径规划方法 | |
CN108202316A (zh) | 一种自动开关机柜门的巡检机器人及控制方法 | |
CN107363834B (zh) | 一种基于认知地图的机械臂抓取方法 | |
Lippiello et al. | 3D monocular robotic ball catching with an iterative trajectory estimation refinement | |
Yu et al. | Design of a humanoid ping-pong player robot with redundant joints | |
CN112454368B (zh) | 基于激光测距与深度强化学习的机械手臂控制***及方法 | |
CN114770461A (zh) | 一种基于单目视觉的移动机器人及其自动抓取方法 | |
Galbraith et al. | A neural network-based exploratory learning and motor planning system for co-robots | |
Gratal et al. | Scene representation and object grasping using active vision | |
Du et al. | Robot teleoperation using a vision-based manipulation method | |
Senoo et al. | Dynamic intelligent systems based on high-speed vision | |
Kao et al. | Ball catching with omni-directional wheeled mobile robot and active stereo vision | |
CN108170160A (zh) | 一种利用单目视觉和机载传感器旋翼无人机自主抓取方法 | |
Maeda et al. | Frequency response experiments of 3-d pose full-tracking visual servoing with eye-vergence hand-eye robot system | |
CN107363831B (zh) | 基于视觉的遥操作机器人控制***及方法 | |
CN109542094A (zh) | 无期望图像的移动机器人视觉镇定控制 | |
CN115194774A (zh) | 一种基于多目视觉的双机械臂抓握***控制方法 | |
Wang et al. | Object Grabbing of Robotic Arm Based on OpenMV Module Positioning |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |