CN112068570A - 机器人的移动控制方法、装置及机器人 - Google Patents
机器人的移动控制方法、装置及机器人 Download PDFInfo
- Publication number
- CN112068570A CN112068570A CN202010988036.0A CN202010988036A CN112068570A CN 112068570 A CN112068570 A CN 112068570A CN 202010988036 A CN202010988036 A CN 202010988036A CN 112068570 A CN112068570 A CN 112068570A
- Authority
- CN
- China
- Prior art keywords
- robot
- point
- target
- determining
- transition point
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000007704 transition Effects 0.000 claims abstract description 147
- 230000008569 process Effects 0.000 claims abstract description 23
- 238000004364 calculation method Methods 0.000 claims abstract description 11
- 238000013507 mapping Methods 0.000 claims description 23
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 15
- 230000011218 segmentation Effects 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 8
- 230000007613 environmental effect Effects 0.000 description 9
- 238000013459 approach Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000004888 barrier function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000010408 sweeping Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0225—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving docking at a fixed facility, e.g. base station or loading bay
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0242—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/028—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Electromagnetism (AREA)
- Optics & Photonics (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种机器人的移动控制方法、装置及机器人,该方法包括:动态获取机器人的当前位置点以及目标对象所在的目标位置点;确定与目标位置点相对应的目标移动路径,根据当前位置点以及目标位置点确定位于目标移动路径上的过渡点;根据动态获取的机器人当前相对于过渡点的距离和角度,计算机器人的线速度和角速度,控制机器人按照当前计算得到的线速度和角速度朝向过渡点移动,直至通过过渡点的引导到达目标位置点。该方式能够在移动过程中实时根据机器人的当前位置动态调整过渡点,并随之动态调整机器人的线速度以及角速度,从而能够有效防止因控制误差造成的机器人路线偏离的问题。
Description
技术领域
本发明涉及机器人控制领域,具体涉及一种机器人的移动控制方法、装置及机器人。
背景技术
随着智能化的日益普及,机器人在各行各业得到了越来越广泛的应用。例如,扫地机器人能够为用户的日常生活带来诸多便利。在机器人的工作过程中,经常需要精准移动到指定的目标位置。例如,当扫地机器人通过充电桩进行充电时,需要准确移动至充电桩所在的位置。
在现有的机器人移动控制方法中,通常采用如下两种方式实现:在第一种控制方式中,为了确保机器人能够与位于目标位置的目标物体精准对接,预先在目标物体周围设置导轨,从而控制机器人移动至导轨附近,并通过导轨精准移动至目标位置。在第二种控制方式中,根据机器人的当前位置以及目标位置,控制机器人转向,以使机器人朝向目标物体,进而使机器人沿直线向目标位置移动。
但是,发明人在实现本发明的过程中发现,现有技术中的上述方式至少存在如下缺陷:在第一种方式中,需要额外增加导轨,从而显著提升了硬件设备的成本。在第二种方式中,控制机器人进行一次转向操作从而使机器人直行至目标位置,一方面,在转向操作中,往往需要机器人一次旋转较大角度,从而使机器人颠簸剧烈,容易发生侧翻等事故,尤其是对于载物机器人而言事故发生率更高;另一方面,在转向操作后的直行过程中,由于控制误差的影响,导致机器人可能发生路线偏离,从而致使机器人无法到达指定的目标位置。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的机器人的移动控制方法、装置及机器人。
根据本发明实施例的一个方面,提供了一种机器人的移动控制方法,包括:
在机器人移动过程中,动态获取机器人的当前位置点以及目标对象所在的目标位置点;
确定与所述目标位置点相对应的目标移动路径,根据所述当前位置点以及所述目标位置点确定位于所述目标移动路径上的过渡点;其中,所述过渡点的位置随机器人的当前位置点的变化而动态改变;
根据动态获取的所述机器人当前相对于所述过渡点的距离和角度,计算所述机器人的线速度和角速度,控制所述机器人按照当前计算得到的线速度和角速度朝向所述过渡点移动,直至通过所述过渡点的引导到达所述目标位置点。
可选的,所述根据所述当前位置点以及所述目标位置点确定位于所述目标移动路径上的过渡点包括:
根据所述目标移动路径,确定与所述当前位置点以及所述目标位置点相对应的路径线段;
按照预设分割系数将所述路径线段分割为第一线段以及第二线段,将所述第一线段以及第二线段之间的分割点确定为所述过渡点;
其中,所述预设分割系数根据机器人的初始位置与目标位置点之间的距离确定。
可选的,所述确定与所述当前位置点以及所述目标位置点相对应的路径线段包括:
将所述目标位置点确定为所述路径线段的第一端点;
在所述目标移动路径上确定所述当前位置点的映射点,将所述当前位置点的映射点确定为所述路径线段的第二端点;
其中,所述当前位置点的映射点包括:所述当前位置点对应于所述目标移动路径的垂点。
可选的,所述确定与所述目标位置点相对应的目标移动路径包括:
根据所述目标对象的形状,确定与所述目标对象相对应的参考平面或参考线,根据与所述参考平面或参考线相对应的垂线设置所述目标移动路径。
可选的,所述根据动态获取的所述机器人当前相对于所述过渡点的距离和角度,计算所述机器人的线速度和角速度包括:
将机器人的当前位置点与所述过渡点之间的连线确定为角度基准线;
动态获取机器人的当前朝向相对于所述角度基准线的夹角,根据所述夹角确定机器人当前相对于所述过渡点的角度;
将所述机器人当前相对于所述过渡点的角度作为控制参数,通过控制算法计算所述机器人的瞬时角速度。
可选的,所述通过控制算法计算所述机器人的瞬时角速度包括:
通过PID控制算法实时计算所述机器人的瞬时角速度;且所述控制参数进一步包括:实时控制参数、积分控制参数以及微分控制参数;
则所述将所述机器人当前相对于所述过渡点的角度作为控制参数包括:
根据所述机器人当前相对于所述过渡点的角度确定实时控制参数;
根据所述机器人在预设时段内相对于所述过渡点的角度确定积分控制参数;
根据所述机器人当前相对于所述过渡点的角度与上一次相对于所述过渡点的角度之间的差值确定微分控制参数;
根据预设的比例系数、积分系数以及微分系数计算所述机器人的瞬时角速度。
可选的,所述动态获取机器人的当前位置点以及目标对象所在的目标位置点包括:
获取本次采集到的环境数据,检测所述环境数据中包含的目标对象,根据检测结果更新所述机器人的当前位置点以及目标对象所在的目标位置点。
可选的,所述检测所述环境数据中包含的目标对象之后,进一步包括:
检测所述环境数据中包含的非目标对象;
判断所述非目标对象与所述机器人之间的距离是否小于预设阈值;和/或,判断所述非目标对象是否与所述机器人的运动轨迹匹配;
当根据判断结果确定所述非目标对象为障碍物时,向所述机器人发送避障指令。
可选的,所述判断所述非目标对象是否与所述机器人的运动轨迹匹配包括:
确定机器人当前运动轨迹的轨迹类型;
当所述轨迹类型为直线类型时,确定与所述当前运动轨迹相对应的带状区域,根据所述非目标对象是否位于所述带状区域内判断所述非目标对象是否与所述机器人的运动轨迹匹配;
当所述轨迹类型为弧线类型时,确定与所述当前运动轨迹相对应的扇形区域,根据所述非目标对象是否位于所述扇形区域内判断所述非目标对象是否与所述机器人的运动轨迹匹配。
可选的,所述检测所述环境数据中包含的目标对象包括:
将所述环境数据映射为点云数据,通过滑动窗口方式遍历所述点云数据中的各个数据窗口,根据遍历结果判断所述点云数据中是否包含与预设的目标特征数据相匹配的对象;
若是,将所述与预设的目标特征数据相匹配的对象确定为所述目标对象。
可选的,所述动态获取机器人的当前位置点以及目标对象所在的目标位置点包括:
通过识别定位线程将更新后的当前位置点以及目标位置点存储至预设位置;以及,通过移动控制线程获取所述预设位置存储的更新后的当前位置点以及目标位置点;
则所述根据所述当前位置点以及所述目标位置点确定位于所述目标移动路径上的过渡点包括:通过所述移动控制线程根据所述更新后的当前位置点以及目标位置点动态确定位于所述目标移动路径上的过渡点;
且所述根据动态获取的所述机器人当前相对于所述过渡点的距离和角度,计算所述机器人的线速度和角速度包括:通过所述移动控制线程根据所述更新后的当前位置点以及目标位置点,动态获取所述机器人当前相对于所述过渡点的距离和角度,实时计算所述机器人的线速度和角速度。
根据本发明实施例的另一方面,提供了一种机器人的移动控制装置,包括:
定位模块,适于在机器人移动过程中,动态获取机器人的当前位置点以及目标对象所在的目标位置点;
过渡点确定模块,适于确定与所述目标位置点相对应的目标移动路径,根据所述当前位置点以及所述目标位置点确定位于所述目标移动路径上的过渡点;其中,所述过渡点的位置随机器人的当前位置点的变化而动态改变;
控制模块,适于根据动态获取的所述机器人当前相对于所述过渡点的距离和角度,计算所述机器人的线速度和角速度,控制所述机器人按照当前计算得到的线速度和角速度朝向所述过渡点移动,直至通过所述过渡点的引导到达所述目标位置点。
可选的,所述过渡点确定模块具体适于:
根据所述目标移动路径,确定与所述当前位置点以及所述目标位置点相对应的路径线段;
按照预设分割系数将所述路径线段分割为第一线段以及第二线段,将所述第一线段以及第二线段之间的分割点确定为所述过渡点;
其中,所述预设分割系数根据机器人的初始位置与目标位置点之间的距离确定。
可选的,所述过渡点确定模块具体适于:
将所述目标位置点确定为所述路径线段的第一端点;
在所述目标移动路径上确定所述当前位置点的映射点,将所述当前位置点的映射点确定为所述路径线段的第二端点;
其中,所述当前位置点的映射点包括:所述当前位置点对应于所述目标移动路径的垂点。
可选的,所述过渡点确定模块具体适于:
根据所述目标对象的形状,确定与所述目标对象相对应的参考平面或参考线,根据与所述参考平面或参考线相对应的垂线设置所述目标移动路径。
可选的,所述控制模块具体适于:
将机器人的当前位置点与所述过渡点之间的连线确定为角度基准线;
动态获取机器人的当前朝向相对于所述角度基准线的夹角,根据所述夹角确定机器人当前相对于所述过渡点的角度;
将所述机器人当前相对于所述过渡点的角度作为控制参数,通过控制算法计算所述机器人的瞬时角速度。
可选的,所述控制模块具体适于:
通过PID控制算法实时计算所述机器人的瞬时角速度;且所述控制参数进一步包括:实时控制参数、积分控制参数以及微分控制参数;
根据所述机器人当前相对于所述过渡点的角度确定实时控制参数;
根据所述机器人在预设时段内相对于所述过渡点的角度确定积分控制参数;
根据所述机器人当前相对于所述过渡点的角度与上一次相对于所述过渡点的角度之间的差值确定微分控制参数;
根据预设的比例系数、积分系数以及微分系数计算所述机器人的瞬时角速度。
可选的,所述定位模块具体适于:
获取本次采集到的环境数据,检测所述环境数据中包含的目标对象,根据检测结果更新所述机器人的当前位置点以及目标对象所在的目标位置点。
可选的,所述定位模块进一步适于:
检测所述环境数据中包含的非目标对象;
判断所述非目标对象与所述机器人之间的距离是否小于预设阈值;和/或,判断所述非目标对象是否与所述机器人的运动轨迹匹配;
当根据判断结果确定所述非目标对象为障碍物时,向所述机器人发送避障指令。
可选的,所述定位模块具体适于:
确定机器人当前运动轨迹的轨迹类型;
当所述轨迹类型为直线类型时,确定与所述当前运动轨迹相对应的带状区域,根据所述非目标对象是否位于所述带状区域内判断所述非目标对象是否与所述机器人的运动轨迹匹配;
当所述轨迹类型为弧线类型时,确定与所述当前运动轨迹相对应的扇形区域,根据所述非目标对象是否位于所述扇形区域内判断所述非目标对象是否与所述机器人的运动轨迹匹配。
可选的,所述定位模块具体适于:
将所述环境数据映射为点云数据,通过滑动窗口方式遍历所述点云数据中的各个数据窗口,根据遍历结果判断所述点云数据中是否包含与预设的目标特征数据相匹配的对象;
若是,将所述与预设的目标特征数据相匹配的对象确定为所述目标对象。
可选的,所述定位模块具体适于:
通过识别定位线程将更新后的当前位置点以及目标位置点存储至预设位置;以及,通过移动控制线程获取所述预设位置存储的更新后的当前位置点以及目标位置点。
根据本发明实施例的又一方面,提供了机器人,包括上述的机器人的移动控制装置。
根据本发明实施例的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述机器人的移动控制方法对应的操作。
根据本发明实施例的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述机器人的移动控制方法对应的操作。
在本发明实施例提供的机器人的移动控制方法、装置及机器人中,首先,能够在机器人移动过程中动态获取机器人的当前位置点以及目标对象所在的目标位置点;进而确定与目标位置点相对应的目标移动路径,并根据当前位置点确定位于目标移动路径上的过渡点;然后,根据动态获取的机器人当前相对于过渡点的距离和角度,计算机器人的线速度和角速度,从而控制机器人按照当前计算得到的线速度和角速度朝向过渡点移动。由此可见,该方式无需增加额外的硬件成本,简便易行。并且,在该方式中,预先设置了目标移动路径,从而使机器人能够按照规划路径行走,从而确保机器人能够与目标对象可靠接触。另外,通过逐渐移动的过渡点逐步引导机器人移动至目标位置的方式能够防止机器人一次性发生较大旋转,进而避免侧翻的风险。而且,该方式能够在移动过程中实时根据机器人的当前位置动态调整过渡点,并随之动态调整机器人的线速度以及角速度,从而能够有效防止因控制误差造成的机器人路线偏离的问题。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明实施例的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明实施例的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的机器人的移动控制方法的流程图;
图2示出了本发明另一实施例提供的机器人的移动控制方法的流程图;
图3示出了本发明实施例提供的机器人的移动控制装置的结构示意图;
图4示出了本发明实施例提供的电子设备的结构示意图;
图5示出了机器人移动至目标对象时的示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1示出了本发明实施例提供的机器人的移动控制方法的流程图。如图1所示,该方法包括以下步骤:
步骤S110:在机器人移动过程中,动态获取机器人的当前位置点以及目标对象所在的目标位置点。
其中,由于机器人在移动过程中的位置不断发生改变,因此,需要动态获取机器人的当前位置点,并在每次获取到机器人更新后的当前位置点后重复执行后续步骤。换言之,本实施例中的各个步骤在机器人的移动过程中循环执行。例如,可以每隔第一预设间隔获取一次机器人的当前位置点。
另外,目标对象所在的目标位置点既可以是坐标系中的绝对位置点,也可以是目标对象相对于机器人的当前位置的相对位置点,本发明对此不做限定。由于目标对象的位置通常是固定不变的,因此,目标对象所在的目标位置点可以仅获取一次。当然,为了避免移动过程中的误差影响,目标对象所在的目标位置点也可以按照上述第一预设间隔进行周期性获取,从而确保机器人的当前位置点以及目标对象所在的目标位置点的实行性和准确性。
步骤S120:确定与目标位置点相对应的目标移动路径,根据当前位置点以及目标位置点确定位于目标移动路径上的过渡点;其中,过渡点的位置随机器人的当前位置点的变化而动态改变。
其中,目标移动路径是指机器人运动时的理想路径,本实施例需要引导机器人从目标移动路径之外逐步移动至目标移动路径之上,进而沿目标移动路径靠近目标对象。由于目标对象可能具有严格的接触规范,例如,需要机器人以垂直于目标对象的端面的方式进行接触,因此,可以根据目标对象的形状和类型设置该目标移动路径的方向,本发明对目标移动路径的具体设置方式不做限定。
其中,位于目标移动路径上的过渡点主要根据机器人的当前位置点以及目标位置点确定。例如,可以根据机器人的当前位置点以及目标位置点,并结合预设的比例系数(或称为分割系数)确定过渡点的当前位置。总之,过渡点始终位于目标移动路径之上,且随机器人与目标对象之间的相对距离的缩短,而逐步靠近目标位置点,最终与目标位置点重合,从而引导机器人成功移动至目标位置点。
由此可见,随着机器人的不断移动,当前位置点不断发生改变,相应地,位于目标移动路径上的过渡点的位置也不断变化。
步骤S130:根据动态获取的机器人当前相对于过渡点的距离和角度,计算机器人的线速度和角速度,控制机器人按照当前计算得到的线速度和角速度朝向过渡点移动,直至通过过渡点的引导到达目标位置点。
具体地,动态计算机器人当前相对于过渡点的距离以及角度,根据机器人当前相对于过渡点的距离确定机器人的线速度,也叫瞬时线速度。具体实施时,机器人当前相对于过渡点的距离越短,瞬时线速度越小;机器人当前相对于过渡点的距离越远,瞬时线速度越大。
另外,根据机器人当前相对于过渡点的角度确定机器人的角速度,也叫瞬时角速度。在一种方式中,机器人当前相对于过渡点的角度越小,瞬时角速度越小;机器人当前相对于过渡点的角度越远,瞬时角速度越大。当然,在调整机器人的角速度时,还可以进一步结合角度偏差的累积量等因素进行调整。例如,还可以通过PID控制算法进行调整,本发明对线速度和角速度的具体计算方式不做限定。
由于机器人的当前位置动态变化,且过渡点的位置也动态变化,因此,机器人的线速度和角速度也随之动态变化,从而能够实时纠正误差影响。
由此可见,该方式无需增加额外的硬件成本,简便易行。并且,在该方式中,预先设置了目标移动路径,从而使机器人能够按照规划路径行走,从而确保机器人能够与目标对象可靠接触。另外,通过逐渐移动的过渡点逐步引导机器人移动至目标位置的方式能够防止机器人一次性发生较大旋转,进而避免侧翻的风险。而且,该方式能够在移动过程中实时根据机器人的当前位置动态调整过渡点,并随之动态调整机器人的线速度以及角速度,从而能够有效防止因控制误差造成的机器人路线偏离的问题。
图2示出了本发明另一个实施例提供的机器人的移动控制方法的流程图。如图2所示,该方法包括以下步骤:
步骤S210:在机器人移动过程中,动态获取机器人的当前位置点以及目标对象所在的目标位置点。
本步骤为一个循环执行的步骤,例如,可以每隔预设周期执行一次本步骤及其后续步骤。
在机器人移动之前,机器人位于初始位置,该初始位置即为初始状态下的机器人所对应的当前位置点,随着机器人的不断移动,当前位置点的位置不断发生变化,相应地,需要在机器人移动过程中,动态获取机器人在当前时刻所对应的当前位置点。另外,目标对象所在的目标位置点通常是固定不动的,但是,考虑到目标位置点可以通过机器人相对于目标对象的相对位置进行描述,因此,每当机器人的位置发生改变后,目标对象相对于机器人的目标位置点也需要动态更新,以便更加精准的反映机器人与目标对象之间的相对位置关系。
具体地,针对于通过激光雷达进行定位的机器人而言,可通过以下方式动态获取机器人的当前位置点以及目标对象所在的目标位置点:获取本次采集到的环境数据,检测环境数据中包含的目标对象,根据检测结果更新机器人的当前位置点以及目标对象所在的目标位置点。其中,通过激光雷达采集机器人周围的环境数据,具体可以每隔预设时长采集一帧数据,从而针对本次采集到的一帧环境数据进行检测处理。
具体实施时,在检测环境数据中包含的目标对象时,通过以下方式实现:首先,将环境数据映射为点云数据,以便通过坐标系表示各个数据之间的位置关系。其中,还可以预先针对环境数据进行预处理,以剔除取值过大或过小的异常数据,从而确保点云数据的合规性。然后,通过滑动窗口方式遍历点云数据中的各个数据窗口,根据遍历结果判断点云数据中是否包含与预设的目标特征数据相匹配的对象;若是,将与预设的目标特征数据相匹配的对象确定为目标对象。其中,为了提升点云数据的遍历准确性,通过滑动窗口方式将点云数据划分为多个数据窗口,并逐个遍历每个数据窗口。例如,假设每个数据窗口包含N个点的数据,则每相邻的两个数据窗口之间存在N-M个相互重合的点,其中,N、M均为自然数,且M小于N。优选的,M=1,假设N=10,则第一个数据窗口为第1至10个点,第二个数据窗口为第2至11个点,第三个数据窗口为第3至12个点……以此类推,通过该方式能够确保每个数据窗口都与前后相邻的数据窗口之间存在较多重合区域,从而能够基于该重合区域准确识别环境中的各个物体。
其中,预设的目标特征数据是指预先存储的与目标对象相对应的数据内容,用以描述目标对象的形状特征。具体实施时,目标特征数据通常以坐标系原点为中心,且与第一坐标轴相对齐。即,目标特征数据在坐标系中的排布方式是固定的,沿x轴排布或沿y轴排布。因此,在判断点云数据中是否包含与预设的目标特征数据相匹配的对象时,为了便于比较,可以预先通过PCA算法对点云数据执行旋转和/或对齐等操作,以使处理后的点云数据在坐标系中的排布方式与目标特征数据一致,例如,也是以坐标系原点为中心,且沿x轴排布或沿y轴排布。具体匹配时,可以针对点云数据和目标特征数据进行同步采样,并针对采样后的数据计算余弦相似度,根据相似度计算结果确定二者是否匹配,若相似度计算结果大于预设相似度阈值,则确定识别到目标对象,进而更新目标对象所在的目标位置点。
在一种可选的实现方式中,通过两个并行运行的独立线程之间的相互配合,共同完成机器人的移动控制操作:一方面,通过识别定位线程将更新后的当前位置点以及目标位置点存储至预设位置;另一方面,通过移动控制线程获取预设位置存储的更新后的当前位置点以及目标位置点。具体实施时,由识别定位线程负责执行上述的采集环境数据,检测环境数据中包含的目标对象,根据检测结果更新机器人的当前位置点以及目标对象所在的目标位置点的操作,其中,识别定位线程可以每隔第一预设时长采集一次环境数据,并根据本次采集到的环境数据更新机器人的当前位置点以及目标对象所在的目标位置点。由此可见,预设位置存储的数据内容是按照第一预设时长所对应的周期进行更新的。其中,预设位置可以是内存、数据库等各类存储空间,或者,还可以通过状态机来维护预设位置存储的当前位置点以及目标位置点。相应地,移动控制线程定期查询上述预设位置存储的当前位置点以及目标位置点,并动态地根据更新后的当前位置点以及目标位置点执行移动控制操作。
步骤S220:确定与目标位置点相对应的目标移动路径。
其中,目标移动路径是指机器人运动时的理想路径,本实施例需要引导机器人从目标移动路径之外逐步移动至目标移动路径之上,进而沿目标移动路径靠近目标对象。由于目标对象可能具有严格的接触规范,例如,需要机器人以垂直于目标对象的端面的方式进行接触,因此,可以根据目标对象的形状和类型设置该目标移动路径的方向。
在本实施例中,根据目标对象的形状,确定与目标对象相对应的参考平面或参考线,根据与参考平面或参考线相对应的垂线设置目标移动路径。例如,在本实施例的一种应用场景中,需要控制机器人移动至充电桩所在的位置进行充电,此时,目标对象为充电桩,由于充电桩上设置有用于充电的触点,因此,机器人必须沿着垂直于充电桩的两个触点所在的直线的路径靠近充电桩,进而与充电桩的两个触点对接。相应地,在该场景中,与目标对象相对应的参考平面是指:充电桩用于充电的接触面;与目标对象相对应的参考线是指:连接充电桩上的至少两个充电触点的直线。因此,将垂直于参考平面或参考线的垂线设置为目标移动路径。当然,为了更加精准,可以将充电桩的两个充电触点的连线的中点确定为目标位置点,目标移动路径经过该目标位置点。又如,在本实施例的又一种应用场景中,需要控制机器人移动至车库中,此时,目标对象为车库,因此,机器人必须沿着垂直于车库的库门底边所在的直线的路径靠近车库,进而以垂直于库门的角度进入车库。相应地,在该场景中,与目标对象相对应的参考平面是指:车库库门所在的屏幕;与目标对象相对应的参考线是指:车库库门底部所对应的直线。
步骤S230:根据当前位置点以及目标位置点确定位于目标移动路径上的过渡点;其中,过渡点的位置随机器人的当前位置点的变化而动态改变。
具体地,过渡点用于引导机器人逐步移动至目标移动路径,并沿目标移动路径到达目标位置点。其中,过渡点始终位于目标移动路径上,相当于用于牵引机器人移动的锚点。机器人在移动过程中始终将过渡点作为临时目标点,并朝向过渡点移动,而过渡点将随机器人与目标对象之间相对距离的缩短而逐步靠近目标位置点,最终与目标位置点重合,从而借助过渡点的动态牵引作用将机器人逐步引导至目标点。
由此可见,需要在目标移动路径上设置一个点作为过渡点,具体设置时,通过以下方式实现:首先,根据目标移动路径,确定与当前位置点以及目标位置点相对应的路径线段;然后,按照预设分割系数将路径线段分割为第一线段以及第二线段,将第一线段以及第二线段之间的分割点确定为过渡点。
其中,在确定与当前位置点以及目标位置点相对应的路径线段时,将目标位置点确定为路径线段的第一端点;在目标移动路径上确定当前位置点的映射点,将当前位置点的映射点确定为路径线段的第二端点。其中,当前位置点的映射点是指:将当前位置点按照预设的映射关系映射到目标移动路径时所对应的点。例如,当前位置点的映射点包括:当前位置点对应于目标移动路径的垂点。
为了便于理解,图5示出了机器人移动至目标对象时的示意图。如图5所示,需要控制机器人11移动至目标对象12。其中,将机器人朝向目标对象的一侧的中点确定为机器人的当前位置点R,将目标对象的中点确定为目标位置点G,相应地,经过目标位置点G且垂直于目标对象的端面的直线则对应于上述的目标移动路径。相应地,在根据目标移动路径确定与当前位置点R以及目标位置点G相对应的路径线段时,将目标位置点G作为该路径线段的一个端点。并且,经过当前位置点R绘制目标移动路径的垂线,该垂线与目标移动路径相交的点即为当前位置点在目标移动路径上的映射点P(本例中为垂点)。因此,线段GP即为即为与当前位置点R以及目标位置点G相对应的路径线段。
接下来,按照预设分割系数将路径线段GP分割为第一线段GT以及第二线段TP,将第一线段GT以及第二线段TP之间的分割点确定为过渡点T。其中,预设分割系数为一个常量,用于实现针对路径线段的比例分割。在本例中,预设分割系数为α,相应地,GT:TP=1-α:α。由此可见,通过预设分割系数即可实现针对路径线段的比例分割。由于预设分割系数为固定不变的常量,而机器人的当前位置点R是动态变化的,相应地,映射点P也随之动态变化,当路径线段GP的长度改变时,过渡点T的位置也随之变化,但无论何时,过渡点T始终位于路径线段之上,从而引导机器人运动至路径线段上并沿路径线段靠近目标对象。
发明人在实现本发明的过程中发现,若预设分割系数设置得过小,将导致机器人的移动路径较为陡峭,从而使机器人在运动过程中发生较大的瞬间转向,从而容易因颠簸导致侧翻等风险;若预设分割系数设置得过大,机器人的移动路径虽较为平滑,提升了安全性,但是可能导致移动时长较长。为了兼顾安全性和移动效率,需要结合实际需要设置预设分割系数的大小。在本实施例中,预设分割系数根据机器人的初始位置与目标位置点之间的距离(即移动前的初始距离)确定。例如,机器人与目标位置点之间的初始距离越远,预设分割系数越大;机器人与目标位置点之间的初始距离越近,预设分割系数越小。
具体地,通过移动控制线程根据更新后的当前位置点以及目标位置点动态确定位于目标移动路径上的过渡点。其中,更新后的当前位置点以及目标位置点通过识别定位线程动态存储至预设位置的内容确定。
步骤S240:根据动态获取的机器人当前相对于过渡点的距离和角度,计算机器人的线速度和角速度,控制机器人按照当前计算得到的线速度和角速度朝向过渡点移动,直至通过过渡点的引导到达目标位置点。
具体地,动态计算机器人当前相对于过渡点的距离以及角度,根据机器人当前相对于过渡点的距离确定机器人的线速度,也叫瞬时线速度。具体实施时,通过移动控制线程根据更新后的当前位置点以及目标位置点,动态获取机器人当前相对于过渡点的距离和角度,实时计算机器人的线速度和角速度。其中,更新后的当前位置点以及目标位置点通过识别定位线程动态存储至预设位置的内容确定。
具体实施时,一方面,动态获取机器人当前相对于过渡点的距离,根据距离计算机器人的线速度;另一方面,动态获取机器人当前相对于过渡点的角度,根据角度计算机器人的角速度。
其中,机器人的线速度是指:机器人前进或后退的速度,当线速度为正值时,控制机器人向前运动;当线速度为负值时,控制机器人向后运动。在本实施例中,线速度通常都为正值,即:默认机器人持续向前运动。具体实施时,动态获取机器人当前相对于过渡点的距离,根据获取到的距离以及预设的比例系数计算机器人的瞬时线速度。例如,以图5为例,机器人的线速度以vl表示,vl根据线段RT以及比例系数p之间的乘积确定。当然,由于线段RT与线段RG之间存在固定的比例关系,因此,机器人的线速度也可以通过以下公式表示:vl=p*GR。由此可见,随着距离越来越近,机器人速度越来越小。
另外,机器人的角速度是指:机器人在运动过程中的旋转角度信息。其中,当角速度为正值时,机器人向第一方向旋转;当角速度为负值时,机器人向第二方向旋转,第一方向与第二方向互为相反方式。例如,第一方向为左侧,第二方向为右侧。具体实施时,动态获取机器人当前相对于过渡点的角度,根据获取到的角度以及预设的控制系数计算机器人的瞬时角速度。具体实施时,通过以下方式计算机器人的瞬时角速度:首先,将机器人的当前位置点与过渡点之间的连线确定为角度基准线;然后,动态获取机器人的当前朝向相对于角度基准线的夹角,根据夹角确定机器人当前相对于过渡点的角度;最后,将机器人当前相对于过渡点的角度作为控制参数,通过控制算法计算机器人的瞬时角速度。例如,仍以图5为例,首先,将机器人的当前位置点R与过渡点T之间的连线RT确定为角度基准线。然后,获取机器人的当前朝向相对于角度基准线RT的夹角θ。其中,机器人的当前朝向对应于图5中的虚线10,通常是指机器人的中垂线所在的方向。夹角θ即为机器人当前相对于过渡点的角度,通过将该角度作为控制参数,能够通过控制算法实时控制机器人的瞬时角速度。
在一种优选的实现方式中,通过PID控制算法实时计算机器人的瞬时角速度;相应地,上述控制参数进一步包括:实时控制参数、积分控制参数以及微分控制参数;在将机器人当前相对于过渡点的角度作为控制参数时,根据机器人当前相对于过渡点的角度确定实时控制参数;根据机器人在预设时段内相对于过渡点的角度确定积分控制参数;根据机器人当前相对于过渡点的角度与上一次相对于过渡点的角度之间的差值确定微分控制参数;根据预设的比例系数、积分系数以及微分系数计算机器人的瞬时角速度。
例如,通过以下公式计算计算机器人的瞬时角速度va:
va=p_v*θ+p_i*(∑θ)/n+p_d*(θ-θ’)
其中,θ即为上述的实时控制参数,p_v表示角度和角速度的比例系数(即上述的预设的比例系数),机器人朝向越接近过渡点,角速度越小。p_i/n表示时序内偏差累加值到控制量的控制比例(即上述的积分系数),其中,n表示一段统计的时间长度,机器人一段时间内都有误差,角速度将趋向于修正这种误差;∑θ即为上述的积分控制参数,表示一段时间内累加的多个角度值。p_d表示两次状态间差值到控制量的控制比例(即上述的微分系数);(θ-θ’为两次状态间的角度差值(即上述的微分控制参数),其中,θ为本次得到的角度,θ’为上一次得到的角度,机器人在朝过渡点转向时,角速度趋向于变小以防止过度转向。由此可见,移动控制是一个循环控制过程,每次循环在获取到机器人更新位移后通过计算vl和va向机器人下达最新的移动控制命令。
通过上述方式,即可控制机器人沿目标移动路径运动至目标位置点,从而确保与目标对象可靠接触。通过过渡点的牵引作用,能够使机器人逐步移动至目标移动路径上,并且,借助过渡点,能够实时纠正机器人的累积误差,从而实时控制机器人精准移动。
另外,发明人在实现本发明的过程中发现,机器人移动过程中可能因受到障碍物的阻挡而无法前进,为了避免因机器人受到撞击而发生损坏,在本实施例中,进一步加入了以下的避障策略:
在检测环境数据中包含的目标对象之后,进一步检测环境数据中包含的非目标对象;判断非目标对象与机器人之间的距离是否小于预设阈值;和/或,判断非目标对象是否与机器人的运动轨迹匹配;当根据判断结果确定非目标对象为障碍物时,向机器人发送避障指令。其中,避障策略可以由上述的识别定位线程在检测到环境数据中包含的目标对象之后执行。避障指令可以是停止指令,也可以是绕障指令等,本发明对此不做限定。
具体地,识别定位线程检测环境数据中包含的非目标对象,即:除目标对象之外的其他对象。判断非目标对象是否为障碍物,具体通过以下两种方式中的至少一种实现:
在第一种方式中,判断非目标对象与机器人之间的距离是否小于预设阈值,若是,说明该非目标对象与机器人非常接近,有可能对机器人的运动构成威胁,因此,判断该非目标对象为障碍物。
在第二种方式中,判断非目标对象是否与机器人的运动轨迹匹配,若是,说明机器人沿运动轨迹移动时将会碰到该非目标对象,因而判断该非目标对象为障碍物;若否,说明机器人沿运动轨迹移动时不会碰到该非目标对象,因而判断该非目标对象不属于障碍物。具体地,在判断非目标对象是否与机器人的运动轨迹匹配时,首先,确定机器人当前运动轨迹的轨迹类型;当轨迹类型为直线类型时,确定与当前运动轨迹相对应的带状区域,根据非目标对象是否位于该带状区域内判断非目标对象是否与机器人的运动轨迹匹配;当轨迹类型为弧线类型时,确定与当前运动轨迹相对应的扇形区域,根据非目标对象是否位于扇形区域内判断非目标对象是否与机器人的运动轨迹匹配。其中,带状区域是指:与直线运动方向相匹配的区域,带状区域的区域宽度可以根据机器人的宽度确定,带状区域的区域长度可以根据机器人的线速度确定。另外,扇形区域是指:与弧线运动方向相匹配的区域,扇形区域的区域面积根据机器人的角速度等信息确定。
上述两种方式既可以单独使用,也可以结合使用。当二者结合时,能够从物体距离机器人的相对距离以及是否位于机器人的前进路线两方面识别障碍物,从而使识别结果更加精准,避免将一些距离机器人很近但不会对机器人造成碰撞的物体误识别为障碍物。
本实施例中的方式可以应用于各类场景,例如,在机器人运行场景中可能存在准确定位以及移动控制的需求,比如自动对位充电、交互设备对接、舱体对接等,而现有的基于导航和SLAM定位技术的控制方式仅适用于大范围的粗糙控制,并不能满足精确控制的要求。例如,传统方式中可能需要额外添加其他辅助传感器(比如红外),从而增加硬件成本;并且,传统方式仅仅定位一次,没有考虑机器人在运动过程中产生的误差;而且,没有避障功能,不能在狭小区域内运行,安全系数低。并且,基于SLAM导航和控制的策略并不能满足毫米级的移动误差和厘米级的运行环境。
通过本实施例中的方式,能够解决机器人准确移动到某一确定位置的需求。采用激光雷达数据进行目标识别和定位,识别中采用数据过滤、PCA算法处理数据,使用滑动窗口检测目标点,并使用余弦相似度计算方式识别目标对象。而且,在移动控制中设置动态移动的过渡点,并采用机器人朝向和过渡点角度作为控制参数进行控制,从而实现了实时纠正累积误差的效果。并且,加入了避障功能,能区分目标点和障碍点。
图3示出了本发明实施例提供的机器人的移动控制装置的结构示意图。如图3所示,该装置包括:
定位模块31,适于在机器人移动过程中,动态获取机器人的当前位置点以及目标对象所在的目标位置点;
过渡点确定模块32,适于确定与所述目标位置点相对应的目标移动路径,根据所述当前位置点以及所述目标位置点确定位于所述目标移动路径上的过渡点;其中,所述过渡点的位置随机器人的当前位置点的变化而动态改变;
控制模块33,适于根据动态获取的所述机器人当前相对于所述过渡点的距离和角度,计算所述机器人的线速度和角速度,控制所述机器人按照当前计算得到的线速度和角速度朝向所述过渡点移动,直至通过所述过渡点的引导到达所述目标位置点。
可选的,所述过渡点确定模块具体适于:
根据所述目标移动路径,确定与所述当前位置点以及所述目标位置点相对应的路径线段;
按照预设分割系数将所述路径线段分割为第一线段以及第二线段,将所述第一线段以及第二线段之间的分割点确定为所述过渡点;
其中,所述预设分割系数根据机器人的初始位置与目标位置点之间的距离确定。
可选的,所述过渡点确定模块具体适于:
将所述目标位置点确定为所述路径线段的第一端点;
在所述目标移动路径上确定所述当前位置点的映射点,将所述当前位置点的映射点确定为所述路径线段的第二端点;
其中,所述当前位置点的映射点包括:所述当前位置点对应于所述目标移动路径的垂点。
可选的,所述过渡点确定模块具体适于:
根据所述目标对象的形状,确定与所述目标对象相对应的参考平面或参考线,根据与所述参考平面或参考线相对应的垂线设置所述目标移动路径。
可选的,所述控制模块具体适于:
将机器人的当前位置点与所述过渡点之间的连线确定为角度基准线;
动态获取机器人的当前朝向相对于所述角度基准线的夹角,根据所述夹角确定机器人当前相对于所述过渡点的角度;
将所述机器人当前相对于所述过渡点的角度作为控制参数,通过控制算法计算所述机器人的瞬时角速度。
可选的,所述控制模块具体适于:
通过PID控制算法实时计算所述机器人的瞬时角速度;且所述控制参数进一步包括:实时控制参数、积分控制参数以及微分控制参数;
根据所述机器人当前相对于所述过渡点的角度确定实时控制参数;
根据所述机器人在预设时段内相对于所述过渡点的角度确定积分控制参数;
根据所述机器人当前相对于所述过渡点的角度与上一次相对于所述过渡点的角度之间的差值确定微分控制参数;
根据预设的比例系数、积分系数以及微分系数计算所述机器人的瞬时角速度。
可选的,所述定位模块具体适于:
获取本次采集到的环境数据,检测所述环境数据中包含的目标对象,根据检测结果更新所述机器人的当前位置点以及目标对象所在的目标位置点。
可选的,所述定位模块进一步适于:
检测所述环境数据中包含的非目标对象;
判断所述非目标对象与所述机器人之间的距离是否小于预设阈值;和/或,判断所述非目标对象是否与所述机器人的运动轨迹匹配;
当根据判断结果确定所述非目标对象为障碍物时,向所述机器人发送避障指令。
可选的,所述定位模块具体适于:
确定机器人当前运动轨迹的轨迹类型;
当所述轨迹类型为直线类型时,确定与所述当前运动轨迹相对应的带状区域,根据所述非目标对象是否位于所述带状区域内判断所述非目标对象是否与所述机器人的运动轨迹匹配;
当所述轨迹类型为弧线类型时,确定与所述当前运动轨迹相对应的扇形区域,根据所述非目标对象是否位于所述扇形区域内判断所述非目标对象是否与所述机器人的运动轨迹匹配。
可选的,所述定位模块具体适于:
将所述环境数据映射为点云数据,通过滑动窗口方式遍历所述点云数据中的各个数据窗口,根据遍历结果判断所述点云数据中是否包含与预设的目标特征数据相匹配的对象;
若是,将所述与预设的目标特征数据相匹配的对象确定为所述目标对象。
可选的,所述定位模块具体适于:
通过识别定位线程将更新后的当前位置点以及目标位置点存储至预设位置;以及,通过移动控制线程获取所述预设位置存储的更新后的当前位置点以及目标位置点。
上述各个模块的具体结构和工作原理可参照方法实施例相应部分的描述,此处不再赘述。
另外,本发明又一实施例还提供了一种机器人,包括上述的移动控制装置。
由此可见,该方式无需增加额外的硬件成本,简便易行。并且,在该方式中,预先设置了目标移动路径,从而使机器人能够按照规划路径行走,从而确保机器人能够与目标对象可靠接触。另外,通过逐渐移动的过渡点逐步引导机器人移动至目标位置的方式能够防止机器人一次性发生较大旋转,进而避免侧翻的风险。而且,该方式能够在移动过程中实时根据机器人的当前位置动态调整过渡点,并随之动态调整机器人的线速度以及角速度,从而能够有效防止因控制误差造成的机器人路线偏离的问题。
本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的机器人的移动控制方法。
图4示出了本发明实施例提供的电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图4所示,该电子设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述用于机器人的移动控制方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行上述任意方法实施例中的机器人的移动控制方法。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明实施例的内容,并且上面对特定语言所做的描述是为了披露本发明实施例的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明实施例并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明实施例进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种机器人的移动控制方法,包括:
在机器人移动过程中,动态获取机器人的当前位置点以及目标对象所在的目标位置点;
确定与所述目标位置点相对应的目标移动路径,根据所述当前位置点以及所述目标位置点确定位于所述目标移动路径上的过渡点;其中,所述过渡点的位置随机器人的当前位置点的变化而动态改变;
根据动态获取的所述机器人当前相对于所述过渡点的距离和角度,计算所述机器人的线速度和角速度,控制所述机器人按照当前计算得到的线速度和角速度朝向所述过渡点移动,直至通过所述过渡点的引导到达所述目标位置点。
2.根据权利要求1所述的方法,其中,所述根据所述当前位置点以及所述目标位置点确定位于所述目标移动路径上的过渡点包括:
根据所述目标移动路径,确定与所述当前位置点以及所述目标位置点相对应的路径线段;
按照预设分割系数将所述路径线段分割为第一线段以及第二线段,将所述第一线段以及第二线段之间的分割点确定为所述过渡点;
其中,所述预设分割系数根据机器人的初始位置与目标位置点之间的距离确定。
3.根据权利要求2所述的方法,其中,所述确定与所述当前位置点以及所述目标位置点相对应的路径线段包括:
将所述目标位置点确定为所述路径线段的第一端点;
在所述目标移动路径上确定所述当前位置点的映射点,将所述当前位置点的映射点确定为所述路径线段的第二端点;
其中,所述当前位置点的映射点包括:所述当前位置点对应于所述目标移动路径的垂点。
4.根据权利要求1-3任一所述的方法,其中,所述确定与所述目标位置点相对应的目标移动路径包括:
根据所述目标对象的形状,确定与所述目标对象相对应的参考平面或参考线,根据与所述参考平面或参考线相对应的垂线设置所述目标移动路径。
5.根据权利要求1-4任一所述的方法,其中,所述根据动态获取的所述机器人当前相对于所述过渡点的距离和角度,计算所述机器人的线速度和角速度包括:
将机器人的当前位置点与所述过渡点之间的连线确定为角度基准线;
动态获取机器人的当前朝向相对于所述角度基准线的夹角,根据所述夹角确定机器人当前相对于所述过渡点的角度;
将所述机器人当前相对于所述过渡点的角度作为控制参数,通过控制算法计算所述机器人的瞬时角速度。
6.根据权利要求5所述的方法,其中,所述通过控制算法计算所述机器人的瞬时角速度包括:
通过PID控制算法实时计算所述机器人的瞬时角速度;且所述控制参数进一步包括:实时控制参数、积分控制参数以及微分控制参数;
则所述将所述机器人当前相对于所述过渡点的角度作为控制参数包括:
根据所述机器人当前相对于所述过渡点的角度确定实时控制参数;
根据所述机器人在预设时段内相对于所述过渡点的角度确定积分控制参数;
根据所述机器人当前相对于所述过渡点的角度与上一次相对于所述过渡点的角度之间的差值确定微分控制参数;
根据预设的比例系数、积分系数以及微分系数计算所述机器人的瞬时角速度。
7.一种机器人的移动控制装置,包括:
定位模块,适于在机器人移动过程中,动态获取机器人的当前位置点以及目标对象所在的目标位置点;
过渡点确定模块,适于确定与所述目标位置点相对应的目标移动路径,根据所述当前位置点以及所述目标位置点确定位于所述目标移动路径上的过渡点;其中,所述过渡点的位置随机器人的当前位置点的变化而动态改变;
控制模块,适于根据动态获取的所述机器人当前相对于所述过渡点的距离和角度,计算所述机器人的线速度和角速度,控制所述机器人按照当前计算得到的线速度和角速度朝向所述过渡点移动,直至通过所述过渡点的引导到达所述目标位置点。
8.一种机器人,包括权利要求12-22任一所述的移动控制装置。
9.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一项所述的机器人的移动控制方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-6中任一项所述的机器人的移动控制方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010988036.0A CN112068570B (zh) | 2020-09-18 | 2020-09-18 | 机器人的移动控制方法、装置及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010988036.0A CN112068570B (zh) | 2020-09-18 | 2020-09-18 | 机器人的移动控制方法、装置及机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112068570A true CN112068570A (zh) | 2020-12-11 |
CN112068570B CN112068570B (zh) | 2024-09-06 |
Family
ID=73682398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010988036.0A Active CN112068570B (zh) | 2020-09-18 | 2020-09-18 | 机器人的移动控制方法、装置及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112068570B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113848812A (zh) * | 2021-09-03 | 2021-12-28 | 珠海格力智能装备有限公司 | 机器人的控制方法、控制装置以及控制系统 |
WO2023023977A1 (zh) * | 2021-08-25 | 2023-03-02 | 宁德时代新能源科技股份有限公司 | 用于更换车辆的电池的方法、换电车及电子设备 |
CN116197891A (zh) * | 2021-12-01 | 2023-06-02 | 北京小米移动软件有限公司 | 控制机器人运动的方法、装置、机器人及存储介质 |
WO2023216543A1 (zh) * | 2022-05-11 | 2023-11-16 | 深圳市正浩创新科技股份有限公司 | 自移动设备的移动控制方法、控制装置及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105867379A (zh) * | 2016-04-13 | 2016-08-17 | 上海物景智能科技有限公司 | 一种机器人的运动控制方法及控制系统 |
CN110286672A (zh) * | 2019-05-13 | 2019-09-27 | 深圳创动科技有限公司 | 机器人及其导航控制方法、导航控制装置以及存储介质 |
WO2019184179A1 (zh) * | 2018-03-27 | 2019-10-03 | 广州汽车集团股份有限公司 | 控制自主式移动机器移动的方法、装置、机器及存储介质 |
CN110415297A (zh) * | 2019-07-12 | 2019-11-05 | 北京三快在线科技有限公司 | 定位方法、装置及无人驾驶设备 |
CN111239763A (zh) * | 2020-03-06 | 2020-06-05 | 广州视源电子科技股份有限公司 | 对象的定位方法、装置、存储介质和处理器 |
CN111351493A (zh) * | 2018-12-24 | 2020-06-30 | 上海欧菲智能车联科技有限公司 | 一种定位方法和系统 |
CN111474930A (zh) * | 2020-04-13 | 2020-07-31 | 北京欣奕华科技有限公司 | 一种基于视觉定位的循迹控制方法、装置、设备及介质 |
CN111522336A (zh) * | 2020-03-26 | 2020-08-11 | 江苏大学 | 一种池塘水草自动清理船的作业路径规划及控制方法 |
-
2020
- 2020-09-18 CN CN202010988036.0A patent/CN112068570B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105867379A (zh) * | 2016-04-13 | 2016-08-17 | 上海物景智能科技有限公司 | 一种机器人的运动控制方法及控制系统 |
WO2019184179A1 (zh) * | 2018-03-27 | 2019-10-03 | 广州汽车集团股份有限公司 | 控制自主式移动机器移动的方法、装置、机器及存储介质 |
CN111351493A (zh) * | 2018-12-24 | 2020-06-30 | 上海欧菲智能车联科技有限公司 | 一种定位方法和系统 |
CN110286672A (zh) * | 2019-05-13 | 2019-09-27 | 深圳创动科技有限公司 | 机器人及其导航控制方法、导航控制装置以及存储介质 |
CN110415297A (zh) * | 2019-07-12 | 2019-11-05 | 北京三快在线科技有限公司 | 定位方法、装置及无人驾驶设备 |
CN111239763A (zh) * | 2020-03-06 | 2020-06-05 | 广州视源电子科技股份有限公司 | 对象的定位方法、装置、存储介质和处理器 |
CN111522336A (zh) * | 2020-03-26 | 2020-08-11 | 江苏大学 | 一种池塘水草自动清理船的作业路径规划及控制方法 |
CN111474930A (zh) * | 2020-04-13 | 2020-07-31 | 北京欣奕华科技有限公司 | 一种基于视觉定位的循迹控制方法、装置、设备及介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023023977A1 (zh) * | 2021-08-25 | 2023-03-02 | 宁德时代新能源科技股份有限公司 | 用于更换车辆的电池的方法、换电车及电子设备 |
CN113848812A (zh) * | 2021-09-03 | 2021-12-28 | 珠海格力智能装备有限公司 | 机器人的控制方法、控制装置以及控制系统 |
CN113848812B (zh) * | 2021-09-03 | 2023-12-08 | 珠海格力智能装备有限公司 | 机器人的控制方法、控制装置以及控制系统 |
CN116197891A (zh) * | 2021-12-01 | 2023-06-02 | 北京小米移动软件有限公司 | 控制机器人运动的方法、装置、机器人及存储介质 |
CN116197891B (zh) * | 2021-12-01 | 2024-04-02 | 北京小米机器人技术有限公司 | 控制机器人运动的方法、装置、机器人及存储介质 |
WO2023216543A1 (zh) * | 2022-05-11 | 2023-11-16 | 深圳市正浩创新科技股份有限公司 | 自移动设备的移动控制方法、控制装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112068570B (zh) | 2024-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112068570B (zh) | 机器人的移动控制方法、装置及机器人 | |
CN108673496B (zh) | 一种基于纯追踪模型的工业机器人路径跟踪方法 | |
US9229453B1 (en) | Unified motion planner for autonomous driving vehicle in avoiding the moving obstacle | |
CN111474930B (zh) | 一种基于视觉定位的循迹控制方法、装置、设备及介质 | |
WO2009155228A1 (en) | Path generation algorithm for automated lane centering and lane changing control system | |
WO2018097026A1 (ja) | 車両制御装置 | |
US20180170384A1 (en) | Cruise control device and cruise control method for vehicles | |
CN107798914B (zh) | 自动车辆交叉车流检测系统 | |
US11449058B2 (en) | Traveling track determination processing and automated drive device | |
WO2017154825A1 (ja) | 車両位置認識システム | |
CN106886217B (zh) | 自主导航控制方法和装置 | |
CN113296118B (zh) | 一种基于激光雷达与gps的无人驾驶绕障方法与终端 | |
EP3693826B1 (en) | Moving vehicle | |
EP4335710A1 (en) | Traveling path boundary determination method and device, vehicle, storage medium, and terminal | |
CN110865640A (zh) | 一种智能机器人的避障结构 | |
CN112060077B (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
CN113885525A (zh) | 一种自动驾驶车辆脱困的路径规划方法、系统、车辆及存储介质 | |
CN111857121A (zh) | 基于惯导和激光雷达的巡逻机器人行走避障方法及系统 | |
CN211554738U (zh) | 一种智能机器人的避障结构 | |
CN114137975A (zh) | 一种超声波辅助融合定位的无人车导航纠偏方法 | |
CN114578821A (zh) | 移动机器人的脱困方法、移动机器人及存储介质 | |
EP4336445A2 (en) | Multi-object tracking system and its motion trajectory optimization apparatus and optimization method | |
Garcia et al. | Autonomous indoor navigation of a stock quadcopter with off-board control | |
CN112947487B (zh) | 一种自动引导车辆及其曲线路径跟踪方法、控制装置 | |
CN113334387B (zh) | 焊接机器人的控制方法、装置、存储介质及焊接机器人 |
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 |