WO2018205751A1 - 机器人转向运动控制方法和装置、机器人、存储介质 - Google Patents

机器人转向运动控制方法和装置、机器人、存储介质 Download PDF

Info

Publication number
WO2018205751A1
WO2018205751A1 PCT/CN2018/079845 CN2018079845W WO2018205751A1 WO 2018205751 A1 WO2018205751 A1 WO 2018205751A1 CN 2018079845 W CN2018079845 W CN 2018079845W WO 2018205751 A1 WO2018205751 A1 WO 2018205751A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
virtual
target
rotation angle
change
Prior art date
Application number
PCT/CN2018/079845
Other languages
English (en)
French (fr)
Inventor
刘若鹏
段宾
Original Assignee
深圳光启合众科技有限公司
深圳光启创新技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 深圳光启合众科技有限公司, 深圳光启创新技术有限公司 filed Critical 深圳光启合众科技有限公司
Publication of WO2018205751A1 publication Critical patent/WO2018205751A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/12Target-seeking control

Definitions

  • the present invention relates to the field of control, and in particular to a robot steering motion control method and apparatus, a robot, and a storage medium.
  • the artificial potential field method is a robot path planning method proposed by Khatbi (Oussama Khatib, Real-Time obstacle avoidance for Manipulators and Mobile Robots. Proc of The 1994 IEEE.).
  • the algorithm considers the motion of the robot in the environment as motion in an artificial gravitational field. In this gravitational field, the target generates gravity to the robot, and the obstacle generates a repulsive force to the robot, and the movement of the robot is changed by calculating the resultant force of the robot in the gravitational field.
  • One of the drawbacks of the artificial potential field obstacle avoidance is that when the direction of the resultant force of the robot is opposite to the direction of the robot movement (ie, the target and the obstacle are in the direction of the robot movement, and the obstacle is between the robot and the target), this The combined force will only stop the robot from slowing down and will not cause the robot to turn, so the robot cannot bypass this obstacle and will only move back and forth on this line.
  • Embodiments of the present invention provide a robot steering motion control method and apparatus, a robot, and a storage medium, to at least solve the prior art obstacle obstacles in an obstacle avoidance technology based on an artificial potential field, which are between a robot and a target, and both obstacles and targets are A technical problem that cannot be avoided when the robot is directly in front of the robot.
  • a robot steering motion control method includes: calculating, according to position information of a robot and external environment information, a virtual gravity generated by a target object to the robot and an obstacle generated by the robot a virtual repulsion; acquiring a first angular change associated with the virtual resultant force, wherein the virtual resultant force is determined by the virtual gravitational force and the virtual repulsive force; calculating a speed change associated with the virtual resultant force; acquiring and the speed Varying a second angle change associated with the change; calculating a target corner based on the first angle change and the second angle change; controlling the robot to steer according to the target angle.
  • acquiring the second angle change associated with the speed change comprises: multiplying the speed change by a preset coefficient to obtain the second angle change.
  • controlling the robot to perform steering according to the target rotation angle comprises: determining whether the target rotation angle is greater than a first preset rotation angle; if the target rotation angle is greater than the first preset rotation angle, controlling the robot according to the The target corner performs steering and controls the robot to move forward at a first speed.
  • the robot is controlled to perform steering according to the target rotation angle, and the robot is controlled to move forward at a second speed, wherein the second speed Greater than the first speed.
  • controlling the robot to move forward at the second speed comprises: calculating the second speed according to the following formula: Where v represents the second velocity, v max represents the maximum value that the second velocity can take, ⁇ max represents the first predetermined rotation angle, ⁇ represents the target rotation angle, ⁇ ⁇ [0, ⁇ max ].
  • acquiring the first angle change associated with the virtual resultant force comprises: synthesizing the virtual gravity and the virtual repulsion according to a vector synthesis method, obtaining the virtual resultant force, and obtaining the first according to the virtual resultant force An angle change.
  • calculating the target rotation angle according to the first angle change and the second angle change comprises: weighting the first angle change and the second angle change according to a preset weight to obtain the target corner.
  • a robot steering control device including: a first calculating unit, configured to calculate a virtual gravity generated by the target object on the robot according to the position information of the robot and the external environment information. And a virtual repulsion generated by the obstacle to the robot; a first acquiring unit, configured to acquire a first angular change associated with the virtual resultant force, wherein the virtual resultant force is determined by the virtual gravity and the virtual repulsion; a second calculating unit, configured to calculate a speed change associated with the virtual resultant force; a second acquiring unit, configured to acquire a second angular change associated with the speed change; and a third calculating unit, configured to perform, according to the first The angle change and the second angle change calculate a target corner; the control unit is configured to control the robot to perform steering according to the target corner.
  • the second acquiring unit is configured to: multiply the speed change by a preset coefficient to obtain the second angle change.
  • control unit includes: a determining subunit, configured to determine whether the target rotation angle is greater than a first preset rotation angle; and a first control subunit, configured to: when the target rotation angle is greater than the first preset rotation angle In the case, the robot is controlled to perform steering according to the target corner, and the robot is controlled to move forward at a first speed.
  • control unit further includes: a second control subunit, configured to control the robot to perform steering according to the target rotation angle and control the target rotation angle being less than or equal to the first preset rotation angle The robot moves forward at a second speed, wherein the second speed is greater than the first speed.
  • the second control subunit is configured to: calculate the second speed according to the following formula: Where v represents the second velocity, v max represents the maximum value that the second velocity can take, ⁇ max represents the first predetermined rotation angle, ⁇ represents the target rotation angle, ⁇ ⁇ [0, ⁇ max ].
  • the first acquiring unit is configured to: combine the virtual gravity and the virtual repulsion according to a vector synthesis method to obtain the virtual resultant force, and obtain the first angle change according to the virtual resultant force.
  • the third calculating unit is configured to: weight the first angle change and the second angle change according to a preset weight to obtain the target corner.
  • a robot comprising: a detector for detecting position information and external environment information of the robot, and the above-described robot steering motion control device.
  • the virtual resultant force of the robot is obtained by the vector addition of the virtual gravity and the virtual repulsion.
  • the change of the robot speed is also mapped to the corner so that the robot can avoid the obstacle in front, and the angle change (the second angle change) is superimposed with the angle change (the first angle change) caused by the virtual resultant force.
  • the rotation angle (target rotation angle) that the robot should perform at the current position is also mapped to the change of the rotation angle due to the deceleration of the robot.
  • the robot when there is an obstacle in front of the robot, the robot can also generate a rotation angle change, thereby bypassing the obstacle and achieving
  • the technical effect of high-efficiency obstacle avoidance further solves the technical problem that the prior art obstacle avoidance technology based on the artificial potential field method is that the obstacle is between the robot and the target and the obstacle and the target are both in front of the robot.
  • FIG. 1 is a flow chart of an alternative robot steering motion control method in accordance with an embodiment of the present invention.
  • FIG. 2 is a flow chart of another alternative robot steering motion control method in accordance with an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of an alternative robot steering motion control device in accordance with an embodiment of the present invention.
  • FIG. 1 is a flow chart of an optional robot steering motion control method according to an embodiment of the present invention. As shown in FIG. 1, the method includes the following steps:
  • Step S102 calculating a virtual gravitational force generated by the target object to the robot and a virtual repulsive force generated by the obstacle to the robot according to the position information of the robot and the external environment information.
  • Step S104 Acquire a first angle change associated with the virtual resultant force, wherein the virtual resultant force is determined by the virtual gravity force and the virtual repulsive force.
  • step S106 a speed change associated with the virtual resultant force is calculated.
  • Step S108 acquiring a second angle change associated with the speed change.
  • Step S110 calculating a target rotation angle according to the first angle change and the second angle change.
  • step S112 the robot is controlled to perform steering according to the target corner.
  • the position information and external environment information of the robot include at least one of the following: the current position of the robot, the current direction of the robot, the target position, and the distance of the obstacle in each direction.
  • the artificial potential field obstacle avoidance has a defect.
  • the robot is subjected to the virtual resultant force direction and the robot moving direction is opposite (ie, the target object and the obstacle are in the robot moving direction, and the obstacle is in the robot and the target object).
  • this virtual resultant force will only stop the robot from slowing down, and will not cause the robot to turn, so the robot can not bypass this obstacle and will only move back and forth on this line.
  • the virtual resultant force of the robot is obtained by the vector addition of the virtual gravity and the virtual repulsion.
  • the change of the robot speed is also mapped to the corner so that the robot can avoid the obstacle in front, and the angle change (the second angle change) is superimposed with the angle change (the first angle change) caused by the virtual resultant force.
  • the rotation angle (target rotation angle) that the robot should perform at the current position is also mapped to the change of the rotation angle due to the deceleration of the robot.
  • the robot when there is an obstacle in front of the robot, the robot can also generate a rotation angle change, thereby bypassing the obstacle and avoiding
  • the technical problem of obstacle avoidance in the artificial potential field method is that the obstacle is in between the robot and the target and the obstacle and the target are both in front of the robot, and the technical effect of the obstacle avoiding obstacle is achieved.
  • acquiring the first angle change associated with the virtual resultant force comprises: synthesizing the virtual gravity force and the virtual repulsion force according to the vector synthesis method, obtaining the virtual resultant force, and obtaining the first angle change according to the virtual resultant force.
  • the virtual gravitational force and the virtual repulsive force can be synthesized by using the parallelogram rule or the triangle rule.
  • calculating the target rotation angle according to the first angle change and the second angle change comprises: weighting the first angle change and the second angle change according to a preset weight to obtain a target corner.
  • Target rotation angle first angle change ⁇ first weight value + first angle change ⁇ second weight value.
  • the first weight value and the second weight value are not zero, and the two may be equal or unequal.
  • acquiring the second angle change associated with the speed change comprises: multiplying the speed change by the preset coefficient to obtain a second angle change to map the deceleration of the robot to the change of the corner.
  • controlling the robot to perform steering according to the target corner includes: determining whether the target rotation angle is greater than the first preset rotation angle; if the target rotation angle is greater than the first preset rotation angle, controlling the robot to perform steering according to the target rotation angle while controlling the robot to the first speed Move forward. If the target rotation angle is less than or equal to the first preset rotation angle, the control robot controls the robot to move forward at the second speed while steering according to the target rotation angle, wherein the second speed is greater than the first speed.
  • the speed and angle are linearly matched.
  • the robot detects that the obstacle needs to change the direction of motion, if it is only from the perspective of obstacle avoidance, the robot should stop and rotate.
  • sudden stop and sudden start will cause obvious motion of the robot's movement, especially when the robot moves at a higher speed. This phenomenon will be more obvious.
  • the robot's motion path will be It will be an arc and it may touch nearby obstacles.
  • the rotation angle is linearly corresponding to the linear velocity at the time of rotation.
  • controlling the robot to perform steering according to the target corner includes: determining whether the target rotation angle is greater than or equal to the second preset rotation angle; and if the target rotation angle is greater than or equal to the second preset rotation angle, the control robot performs steering according to the target rotation angle.
  • a threshold is set for the obstacle distance and the robot angle control signal. In order to ensure smooth movement of the robot, it will not react excessively to the noise signal. It is stipulated that the obstacle will be treated only when the distance between the obstacle and the robot is less than a set threshold. For the corner control signal output to the robot, a threshold (second preset angle) is also set, which stipulates that the robot will execute when the output corner signal is greater than this threshold. By setting the threshold, the smooth running of the robot is guaranteed, and it does not always turn around.
  • controlling the robot to move forward at the second speed comprises: calculating the second speed according to the following formula: Wherein, v denotes a second velocity, v max represents the maximum value that can be taken to the second speed, ⁇ max represents a first predetermined angle, ⁇ represents a target angle, ⁇ [0, ⁇ max] . It can be seen from the formula that the second speed has a negative correlation with the target rotation angle. As the target angle increases, the second speed decreases. When the target rotation angle is equal to the first preset rotation angle, the second speed is 0; when the target rotation angle is 0, the second speed is v max .
  • the robot Since the robot is set to move only forward and does not retreat, only the front, left, and right sides are equipped with detectors, such as ultrasonic probes, so there is only the distance in these three directions.
  • k 1 and k 2 can be adjusted for specific applications.
  • the obstacles on the left and right sides are within a certain distance, for example, within one meter, and will be regarded as an obstacle.
  • the scheme improves the artificial potential field algorithm by utilizing the real-time data of the robot and combining the motion requirements.
  • the current data of the robot is first received, including: the current position of the robot, the current direction of the robot, the target position, and the distance of the obstacle in each direction (because the robot is set to move only forward) It will not retreat, so only the front, left, and right sides are equipped with ultrasonic probes, so only the distance in these three directions).
  • the next step is to use the artificial potential energy method to calculate the change of the robot's motion state. The first is to calculate the force the robot is subjected to.
  • the larger the virtual repulsion coefficient the better the obstacle avoidance effect, but it will take a detour.
  • the larger the virtual gravitational coefficient is the more easily the robot is pulled back toward the trajectory of the target, and the detours are less, but the obstacle avoidance effect is worse.
  • d goal represents the distance from the robot to the target
  • d rep (i) represents the distance of the obstacle in the i-th direction.
  • the obstacle between the left and the right is within one meter. Things.
  • the virtual resultant force required by the robot can be obtained.
  • the angular change (first angle change) caused by the virtual resultant force is calculated.
  • the force in the direction of movement of the robot will only cause a change in speed and will not change the direction of the robot. Therefore, the change in the speed of the robot is also mapped to the corner so that the robot can avoid obstacles in front of it.
  • Second angle change Multiplying the change in speed by a factor becomes the angular change of the robot (second angle change).
  • This angle change is superimposed with the angular change caused by the virtual resultant force as the corner (target corner) that the robot should perform at the current position.
  • the corner command is sent to the robot, and the robot will first determine whether the corner signal is noise (defining the corner signal within 3 degrees as noise, so that the robot moves smoothly), if If the corner signal is zero, the robot will keep going straight, otherwise the rotation signal will be executed.
  • the speed is also linearly corresponding to the angle.
  • the robot If the rotation angle is small, the robot is far away from the obstacle, and then rotates at a large speed. If the rotation angle is large, the robot is closer to the obstacle and there is a risk of collision. After executing the command, the robot will determine the distance of the target. If the distance is less than a certain threshold, it is considered to have arrived, and the task ends, otherwise it will enter the next cycle.
  • the sampling frequency is 5ms, so the above algorithm is executed every 5ms.
  • Scenario 1 Obstacle avoidance in an unknown environment.
  • the upper control program only gives the target position.
  • the robot will detect obstacles in real time during the movement and adjust the movement state until the target is reached.
  • the specific process is as follows:
  • the robot When the robot receives the target position and starts to move, the robot will start to detect the surrounding obstacles and calculate the current direction of movement in combination with its position and target position. If there are no obstacles around the robot, the robot will only be affected by the virtual gravitational force of the target, changing direction until it is toward the target, and then moving linearly toward the target. When a nearby obstacle is detected during the movement, the obstacle is closer to the robot than the target, and the virtual repulsion plays a leading role. The robot will be affected by the virtual repulsion and change direction until no obstacle is detected. After the object, the robot will be deflected by the virtual gravity to turn to the target. During the entire movement, the robot will repeat the above steps until the final target is reached.
  • Scenario 2 Avoid sudden obstacles when advancing on a prescribed path.
  • a path can be planned first.
  • the robot can evade obstacles that suddenly appear near the path and reach the target while advancing along the planned path.
  • the specific process is as follows:
  • a point on the planned path of a certain distance in front of the current position of the robot is specified as a target, and a virtual attraction is generated to the robot, and the local target is updated in real time with the movement of the robot.
  • the robot keeps moving on the planned path by the virtual gravity of the local target, and when the obstacle appears near the planned path, the robot will be deviated by the virtual repulsion of the obstacle.
  • the planned path when avoiding the obstacle, the robot will be subjected to the virtual attraction of the local target and return to the planned path. During the entire movement, the robot will repeat the above steps until the final target is reached.
  • This algorithm can be used to implement when a robot is required to implement a following motion (for example, following a person or another robot).
  • the robot can avoid obstacles while following.
  • the specific process is as follows:
  • Implementing the following motion can be achieved by setting the object to be followed as the target.
  • the following target can be carried to carry the position sensor, and this position is transmitted to the robot in real time, and this position is used instead of the target position of the figure.
  • a safe distance is required. When the distance between the robot and the target reaches this range, the robot stops moving to prevent collision. The remaining steps are the same as scenario 1.
  • the embodiment of the present invention further provides a robot steering motion control device capable of executing the above-described robot steering motion control method, and the robot steering motion control method can also be executed by the robot steering motion control device.
  • FIG. 3 is a schematic diagram of a robot steering motion control apparatus according to an embodiment of the present invention. As shown in FIG. 3, the apparatus includes: a first calculation unit 10, a first acquisition unit 20, a second calculation unit 30, and a second acquisition unit 40. The third calculation unit 50 and the control unit 60.
  • the first calculating unit 10 is configured to calculate, according to the position information of the robot and the external environment information, a virtual gravity generated by the target to the robot and a virtual repulsive force generated by the obstacle to the robot.
  • the first acquiring unit 20 is configured to acquire a first angle change of the virtual resultant force, wherein the virtual resultant force is calculated according to the virtual gravity and the virtual repulsive force.
  • the second calculating unit 30 is configured to calculate a speed change associated with the virtual resultant force.
  • the second obtaining unit 40 is configured to acquire a second angle change associated with the speed change.
  • the third calculating unit 50 is configured to calculate a target corner according to the first angle change and the second angle change.
  • the control unit 60 is configured to control the robot to perform steering according to the target corner.
  • the second obtaining unit 40 is configured to: multiply the speed change by the preset coefficient to obtain a second angle change.
  • control unit 60 includes: a determining subunit, and a first control subunit.
  • the determining subunit is configured to determine whether the target corner is greater than the first preset corner.
  • the first control subunit is configured to control the robot to move forward at the first speed while the robot rotates according to the target corner when the target rotation angle is greater than the first preset rotation angle.
  • control unit 60 further includes: a second control subunit. a second control subunit, configured to control the robot to move forward at a second speed while the target rotation angle is less than or equal to the first preset rotation angle, wherein the second speed is greater than the first speed .
  • the second control subunit is configured to: calculate the second speed according to the following formula: Wherein, v denotes a second velocity, v max represents the maximum value that can be taken to the second speed, ⁇ max represents a first predetermined angle, ⁇ represents a target angle, ⁇ [0, ⁇ max] .
  • the first obtaining unit 20 is configured to: combine the virtual gravity and the virtual repulsion according to the vector synthesis method to obtain a virtual resultant force, and obtain a first angle change according to the virtual resultant force.
  • the third calculating unit 50 is configured to: weight the first angle change and the second angle change according to a preset weight to obtain a target corner.
  • the embodiment of the present invention further provides a storage medium, where the storage medium includes a stored program, wherein the device where the storage medium is located is executed to execute the above-described robot steering motion control method when the program is running.
  • the embodiment of the invention further provides a processor, wherein the processor is configured to run a program, wherein the robot running steering control method is executed when the program is running.
  • Embodiments of the present invention also provide a robot including: a detector for detecting position information of the robot, and the above-described robot steering motion control device.
  • the embodiment of the invention further provides a robot, which comprises: a robot body, a detector, and a processor.
  • a processor runs the program, wherein, when the program is running, the following processing steps are performed on the data output from the detector: calculating a virtual gravity generated by the target object to the robot and a virtual repulsive force generated by the obstacle to the robot according to the position information of the robot; The first angle change of the virtual resultant force, wherein the virtual resultant force is calculated according to the virtual gravity and the virtual repulsion; calculating the speed change associated with the virtual resultant force; acquiring the second angle change associated with the speed change; changing according to the first angle
  • the two angle changes calculate the target rotation angle; the control robot performs the steering according to the target rotation angle.
  • the detector can be an ultrasound probe.
  • the embodiment of the invention further provides a robot, which comprises: a robot body, a detector, and a storage medium.
  • a detector for detecting the position information of the robot.
  • a storage medium for storing a program, wherein the program performs a processing step on the data output from the detector at runtime: calculating a virtual gravity generated by the target object to the robot and a virtual repulsive force generated by the obstacle on the robot according to the position information of the robot; Obtaining a first angle change of the virtual resultant force relationship, wherein the virtual resultant force is calculated according to the virtual gravity force and the virtual repulsion; calculating a speed change associated with the virtual resultant force; acquiring a second angle change associated with the speed change; and changing according to the first angle
  • the second angle change calculates the target rotation angle; the control robot performs steering according to the target rotation angle.
  • the detector can be an ultrasound probe.
  • the obstacle avoidance algorithm uses the ultrasonic detector to acquire the position information of the obstacle relative to the robot, and combines the position information of the robot obtained by the indoor positioning method with the posture information of the robot obtained by the gyroscope to perform path planning on the robot, which can avoid The obstacle on the path of the robot advances and reaches the target accurately.
  • the embodiment of the present invention improves the existing artificial potential field obstacle avoidance algorithm, so that the robot can achieve better obstacle avoidance effect while maintaining smooth motion.
  • the direction of the robot movement is changed by calculating the virtual resultant force.
  • the algorithm is simple in operation and good in real-time performance, and can effectively realize obstacle avoidance function, save cost and operate efficiently.
  • the obstacle avoidance algorithm can be used for obstacle avoidance of all mobile robots in the case where the robot position information is known. It can also be used for drones and submarines.
  • the disclosed technical contents may be implemented in other manners.
  • the device embodiments described above are only schematic.
  • the division of the unit may be a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or may be Integrate into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, unit or module, and may be electrical or otherwise.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk, and the like. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

一种机器人转向运动控制方法和装置,以及机器人和存储介质。其中,控制方法包括:根据机器人的位置信息和外部环境信息计算目标物对机器人产生的虚拟引力和障碍物对机器人产生的虚拟斥力(S102);获取与虚拟合力相关联的第一角度变化(S104),其中,虚拟合力由虚拟引力和虚拟斥力确定;计算与虚拟合力相关联的速度变化(S106);获取与速度变化相关联的第二角度变化(S108);根据第一角度变化和第二角度变化计算目标转角(S110);控制机器人按照目标转角进行转向(S112)。解决了基于人工势场法避障技术中障碍物处于机器人和目标之间且障碍物和目标都在机器人正前方时无法避障的技术问题。

Description

机器人转向运动控制方法和装置、机器人、存储介质 技术领域
本发明涉及控制领域,具体而言,涉及一种机器人转向运动控制方法和装置、机器人、存储介质。
背景技术
随着机器人技术的进步,移动机器人与人的互动已经成为了机器人技术发展的一个方向。当人和机器人出现在同一个环境中时,避免人机碰撞是需要首先解决的一个问题。由于人会移动,所以无法通过事先对环境的建模来避开。为了避开像人这样的无法事先预测的障碍物,需要为机器人设计一个实时的避障算法。
目前,对于一些基于人工智能的避障算法,如遗传算法和神经网络算法等,由于计算相对复杂,不易实现实时控制。在未知环境中解决避障问题时,人工势场法由于其数学上的简洁性,成为了移动机器人实时避障的首选方法。人工势场法是由Khatbi提出的一种机器人路径规划方法(Oussama Khatib,Real-Time obstacle Avoidance for Manipulators and Mobile Robots.Proc of The 1994 IEEE.)。该算法将机器人在环境中的运动看成是在人造的引力场中的运动。在这个引力场中,目标物对机器人产生引力,障碍物对机器人产生斥力,通过计算机器人在这个引力场中所受到的合力来改变机器人的运动。
人工势场法避障有一个缺陷就是当机器人所受的合力方向与机器人运动方向相反(即目标物与障碍物都处于机器人运动方向上,且障碍物在机器人与目标物之间)时,这个合力只会令机器人减速停下,不会导致机器人的转向,所以机器人无法绕过这个障碍,只会在这条线上来回运动。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种机器人转向运动控制方法和装置、机器人、存储介质,以至少解决现有技术基于人工势场法避障技术中障碍物处于机器人和目标之间且障碍物和目标都在机器人正前方时无法避障的技术问题。
根据本发明实施例的一个方面,提供了一种机器人转向运动控制方法,包括:根据机器人的位置信息和外部环境信息计算目标物对所述机器人产生的虚拟引力和障碍物对所述机器人产生的虚拟斥力;获取与虚拟合力相关联的第一角度变化,其中,所述虚拟合力由所述虚拟引力和所述虚拟斥力确定;计算与所述虚拟合力相关联的速度变化;获取与所述速度变化相关联的第二角度变化;根据所述第一角度变化和所述第二角度变化计算目标转角;控制所述机器人按照所述目标转角进行转向。
进一步地,获取与所述速度变化关联的第二角度变化包括:将所述速度变化与预设系数相乘,得到所述第二角度变化。
进一步地,控制所述机器人按照所述目标转角进行转向,包括:判断所述目标转角是否大于第一预设转角;如果所述目标转角大于所述第一预设转角,控制所述机器人按照所述目标转角进行转向,并控制所述机器人以第一速度向前运动。
进一步地,如果所述目标转角小于等于所述第一预设转角,控制所述机器人按照所述目标转角进行转向,并控制所述机器人以第二速度向前运动,其中,所述第二速度大于所述第一速度。
进一步地,控制所述机器人以第二速度向前运动,包括:根据以下公式计算所述第二速度:
Figure PCTCN2018079845-appb-000001
其中,v表示所述第二速度,v max表示所述第二速度所能取到的最大值,ω max表示所述第一预设转角,ω表示所述目标转角,ω∈[0,ω max]。
进一步地,获取与虚拟合力相关联的第一角度变化,包括:根据矢量合成法对所述虚拟引力和所述虚拟斥力进行合成,得到所述虚拟合力,并根据所述虚拟合力得到所述第一角度变化。
进一步地,根据所述第一角度变化和所述第二角度变化计算目标转角,包括:将所述第一角度变化和所述第二角度变化按照预设权重进行加权,得到所述目标转角。
进一步地,根据机器人的位置信息计算目标物对所述机器人产生的虚拟引力和障碍物对所述机器人产生的虚拟斥力,包括:根据以下公式计算所述虚拟引力和所述虚拟斥力:
Figure PCTCN2018079845-appb-000002
其中,F att表示所述目标物对所述机器人产生的虚拟引力,F rep(i)表示第i个方向上所述障碍物对所述机器人产生的虚拟斥力(i=1,2,3;分 别表示前方、左方和右方),k 1和k 2分别表示虚拟引力和虚拟斥力的系数,d goal表示所述目标物与所述机器人之间的距离,d rep(i)表示第i个方向上所述障碍物与所述机器人之间的距离。
根据本发明实施例的另一方面,还提供了一种机器人转向运动控制装置,包括:第一计算单元,用于根据机器人的位置信息和外部环境信息计算目标物对所述机器人产生的虚拟引力和障碍物对所述机器人产生的虚拟斥力;第一获取单元,用于获取与虚拟合力相关联的第一角度变化,其中,所述虚拟合力由所述虚拟引力和所述虚拟斥力确定;第二计算单元,用于计算与所述虚拟合力相关联的速度变化;第二获取单元,用于获取所述速度变化相关联的第二角度变化;第三计算单元,用于根据所述第一角度变化和所述第二角度变化计算目标转角;控制单元,用于控制所述机器人按照所述目标转角进行转向。
进一步地,所述第二获取单元用于:将所述速度变化与预设系数相乘,得到所述第二角度变化。
进一步地,所述控制单元包括:判断子单元,用于判断所述目标转角是否大于第一预设转角;第一控制子单元,用于在所述目标转角大于所述第一预设转角的情况下,控制所述机器人按照所述目标转角进行转向,并控制所述机器人以第一速度向前运动。
进一步地,所述控制单元还包括:第二控制子单元,用于在所述目标转角小于等于所述第一预设转角的情况下,控制所述机器人按照所述目标转角进行转向,并控制所述机器人以第二速度向前运动,其中,所述第二速度大于所述第一速度。
进一步地,所述第二控制子单元用于:根据以下公式计算所述第二速度:
Figure PCTCN2018079845-appb-000003
其中,v表示所述第二速度,v max表示所述第二速度所能取到的最大值,ω max表示所述第一预设转角,ω表示所述目标转角,ω∈[0,ω max]。
进一步地,第一获取单元用于:根据矢量合成法对所述虚拟引力和所述虚拟斥力进行合成,得到所述虚拟合力,并根据所述虚拟合力得到所述第一角度变化。
进一步地,所述第三计算单元用于:将所述第一角度变化和所述第二角度变化按照预设权重进行加权,得到所述目标转角。
进一步地,所述第一计算单元根据以下公式计算所述虚拟引力和所述虚拟斥力:
Figure PCTCN2018079845-appb-000004
其中,F att表示所述目标物对所述机器人产生的虚拟引力,F rep(i)表示第i个方向上所述障碍物对所述机器人产生的虚拟斥力(i=1,2,3;分别表示前方、左方和右方),k 1和k 2分别表示虚拟引力和虚拟斥力的系数,d goal表示所述目标物与所述机器人之间的距离,d rep(i)表示第i个方向上所述障碍物与所述机器人之间的距离。
根据本发明实施例的另一方面,还提供了一种机器人,包括:探测器,用于探测机器人的位置信息和外部环境信息,以及上述的机器人转向运动控制装置。
在本发明实施例中,通过虚拟引力和虚拟斥力的向量加法,得到机器人所需的虚拟合力,为了便于控制,只计算由虚拟合力引起的角度变化,然而,在沿机器人运动方向上的力只会引起速度的变化,并不会改变机器人方向。因此,将机器人速度的变化也映射为转角,以便机器人能避开正前方的障碍物,将这个角度变化(第二角度变化)与由虚拟合力引起的角度变化(第一角度变化)相叠加作为机器人在当前位置应该执行的转角(目标转角),由于机器人的减速也被映射为转角的变化,因此在机器人正前方有障碍物时,机器人也能产生转角变化,从而绕过这个障碍,达到了高效避障的技术效果,进而解决了现有技术基于人工势场法避障技术中障碍物处于机器人和目标之间且障碍物和目标都在机器人正前方时无法避障的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的机器人转向运动控制方法的流程图;
图2是根据本发明实施例的另一种可选的机器人转向运动控制方法的流程图;
图3是根据本发明实施例的一种可选的机器人转向运动控制装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的 附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种机器人转向运动控制方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的机器人转向运动控制方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,根据机器人的位置信息和外部环境信息计算目标物对机器人产生的虚拟引力和障碍物对机器人产生的虚拟斥力。
步骤S104,获取与虚拟合力相关联的第一角度变化,其中,虚拟合力由虚拟引力和虚拟斥力确定。
步骤S106,计算与虚拟合力相关联的速度变化。
步骤S108,获取与速度变化相关联的第二角度变化。
步骤S110,根据第一角度变化和第二角度变化计算目标转角。
步骤S112,控制机器人按照目标转角进行转向。
机器人的位置信息和外部环境信息至少包括以下之一:机器人当前位置,机器人当前方向,目标位置,各个方向上障碍物的距离。
现有技术中,人工势场法避障有一个缺陷,当机器人所受的虚拟合力方向与机器人运动方向相反(即目标物与障碍物都处于机器人运动方向上,且障碍物在机器人与 目标物之间)时,这个虚拟合力只会令机器人减速停下,不会导致机器人的转向,所以机器人无法绕过这个障碍,只会在这条线上来回运动。
在本发明实施例中,通过虚拟引力和虚拟斥力的向量加法,得到机器人所需的虚拟合力,为了便于控制,只计算由虚拟合力引起的角度变化,然而,在沿机器人运动方向上的力只会引起速度的变化,并不会改变机器人方向。因此,将机器人速度的变化也映射为转角,以便机器人能避开正前方的障碍物,将这个角度变化(第二角度变化)与由虚拟合力引起的角度变化(第一角度变化)相叠加作为机器人在当前位置应该执行的转角(目标转角),由于机器人的减速也被映射为转角的变化,因此在机器人正前方有障碍物时,机器人也能产生转角变化,从而绕过这个障碍,避免了现有技术中基于人工势场法避障技术中障碍物处于机器人和目标之间且障碍物和目标都在机器人正前方时无法避障的技术问题,达到了高效避障的技术效果。
可选地,获取与虚拟合力相关联的第一角度变化,包括:根据矢量合成法对虚拟引力和虚拟斥力进行合成,得到虚拟合力,并根据虚拟合力得到第一角度变化。可以利用平行四边形法则或者三角形定则对虚拟引力和虚拟斥力进行合成。
可选地,根据第一角度变化和第二角度变化计算目标转角,包括:将第一角度变化和第二角度变化按照预设权重进行加权,得到目标转角。目标转角=第一角度变化×第一权重值+第一角度变化×第二权重值。第一权重值与第二权重值均不为零,二者可以相等,也可以不相等。
可选地,获取速度变化关联的第二角度变化包括:将速度变化与预设系数相乘,得到第二角度变化,以将机器人的减速映射为转角的变化。
可选地,控制机器人按照目标转角进行转向,包括:判断目标转角是否大于第一预设转角;如果目标转角大于第一预设转角,控制机器人按照目标转角进行转向的同时控制机器人以第一速度向前运动。如果目标转角小于等于第一预设转角,控制机器人按照目标转角进行转向的同时控制机器人以第二速度向前运动,其中,第二速度大于第一速度。
在机器人执行旋转命令时,将速度和角度做线性对应。当机器人检测到障碍物需要改变运动方向时,如果只从避障的角度来考虑,应该让机器人停下来旋转。然而,突然停止与突然的启动会使机器人的运动出现明显的卡顿,尤其是当机器人运动速度较大时,这种现象会更加明显,如果机器人保持一定速度进行旋转时,机器人的运动路径将会是一个圆弧,有可能会碰到附近的障碍物。为了解决这个问题,将旋转角度与旋转时的线速度做线性对应,当算法输出的旋转角度较小(目标转角小于等于第一 预设转角)时,说明障碍物距离较远,没有碰撞危险,让机器人旋转的同时保持一个较大的速度(第二速度),以保持运动平稳,而当算法输出的旋转角度较大(目标转角大于第一预设转角)时,说明机器人离障碍物较近,让机器人旋转的同时保持一个较小的速度(第一速度)或停止,以避免碰撞。
可选地,控制机器人按照目标转角进行转向,包括:判断目标转角是否大于等于第二预设转角;如果目标转角大于等于第二预设转角,控制机器人按照目标转角进行转向。
对障碍物距离以及机器人转角控制信号设定阈值。为了保证机器人运动顺畅,不会对噪音信号做过大反应,规定只有当障碍物与机器人的距离小于一个设定的阈值时才会对这个障碍物做处理。对于给机器人输出的转角控制信号,同样设定了一个阈值(第二预设转角),规定当输出的转角信号大于这个阈值时,机器人才会执行。通过设定阈值,保证了机器人的平稳运行,不会一直转来转去。
可选地,控制机器人以第二速度向前运动,包括:根据以下公式计算第二速度:
Figure PCTCN2018079845-appb-000005
其中,v表示第二速度,v max表示第二速度所能取到的最大值,ω max表示第一预设转角,ω表示目标转角,ω∈[0,ω max]。由公式可见,第二速度与目标转角呈负相关的关系。当目标转角增大时,第二速度减小。当目标转角等于第一预设转角时,第二速度为0;当目标转角为0时,第二速度为v max
可选地,根据机器人的位置信息计算目标物对机器人产生的虚拟引力和障碍物对机器人产生的虚拟斥力,包括:根据以下公式计算虚拟引力和虚拟斥力:
Figure PCTCN2018079845-appb-000006
其中,F att表示目标物对机器人产生的虚拟引力,F rep(i)表示第i个方向上障碍物对机器人产生的虚拟斥力(i=1,2,3;分别表示前方、左方和右方),k 1和k 2分别表示虚拟引力和虚拟斥力的系数,d goal表示目标物与机器人之间的距离,d rep(i)表示第i个方向上障碍物与机器人之间的距离。
由于机器人被设定为只向前运动,不会后退,所以只有前方,左方,右方装有探测器,例如超声探头,所以只有这三个方向上的距离。
k 1和k 2可根据具体应用作调整。虚拟斥力系数越大,则避障效果越好,但是会走 弯路。虚拟引力系数越大,机器人更容易被拉回朝向目标物的轨迹,走的弯路少,但是避障效果会变差。为了机器人运动顺畅,在左右两边的障碍物距离在一定距离之内,例如一米之内时,才会被当做障碍物。
作为一种可选的实施例,本方案通过利用机器人的实时数据,并结合运动要求,对人工势场算法进行了改进。如图2所示,在避障流程中,首先接收机器人当前的数据,包括:机器人当前位置,机器人当前方向,目标位置,各个方向上障碍物的距离(由于机器人被设定为只向前运动,不会后退,所以只有前方,左方,右方装有超声探头,所以只有这三个方向上的距离)。读取到所需的数据后,下一步就是利用人工势能法计算机器人运动状态的改变。首先是计算机器人所受的力,虚拟引力和虚拟斥力计算如下:
Figure PCTCN2018079845-appb-000007
其中,F att表示目标物对机器人产生的虚拟引力,F rep(i)表示第i个方向上障碍物所产生的虚拟斥力(i=1,2,3;分别代表前方左方和右方),k 1和k 2分别代表虚拟引力和虚拟斥力的系数,可根据具体应用作调整。虚拟斥力系数越大,则避障效果越好,但是会走弯路。虚拟引力系数越大,机器人更容易被拉回朝向目标物的轨迹,走的弯路少,但是避障效果会变差。d goal代表机器人到目标物的距离,d rep(i)代表第i个方向上障碍物的距离,为了机器人运动顺畅,在左右两边的障碍物距离在一米之内时,才会被当做障碍物。通过虚拟引力和虚拟斥力的向量加法,就可以得到机器人所需的虚拟合力。为了便于控制,只计算由虚拟合力引起的角度变化(第一角度变化)。然而,在沿机器人运动方向上的力只会引起速度的变化,并不会改变机器人方向。因此,将机器人速度的变化也映射为转角,以便机器人能避开正前方的障碍物。将速度的变化乘以一个系数变为机器人的角度变化(第二角度变化)。将这个角度变化与由虚拟合力引起的角度变化相叠加作为机器人在当前位置应该执行的转角(目标转角)。计算出当前位置相应的转角(目标转角)后,便将这个转角命令发送给机器人,机器人会先判断这个转角信号是否为噪声(定义3度以内的转角信号为噪声,以便机器人运动顺畅),如果转角信号为零,则机器人保持直行,否则执行旋转信号。为了保证机器人运动顺畅,在执行旋转信号时,将速度也和角度做了线性对应。如果旋转角度较小,说明机器人离障碍物较远,则以较大的速度运动的同时进行旋转,如果旋转角度较大,说明机器人离障碍物较近,有碰撞风险,则需要减速旋转。执行完命令之后,机器人会判断到目标物的距离,如果距离小于一定的阈值,则认为已经到达,任务结束,否则进入下一次循环。采样频率是5ms,所以每5ms会执行一次上述算法。
以下给出几个本发明实施例适用的场景。
场景一:在未知环境中进行避障。
当机器人的运动环境是未知的,上层控制程序只给定目标位置。机器人将在运动过程中实时检测障碍物并调整运动状态直至到达目标物。具体过程如下:
当机器人收到目标位置并开始运动后,机器人将开始检测周围障碍物,并结合自身位置以及目标位置算出当前运动方向应做的改变。如果机器人周围没有障碍物,机器人将只受目标物的虚拟引力作用,改变方向直到朝向目标物,再朝目标物直线运动。当运动过程中检测到了附近障碍物时,比起目标物,障碍物距离机器人较近,虚拟斥力会起主导作用,机器人会受到虚拟斥力作用而改变方向直到检测不到障碍物,当避开障碍物后,机器人又将受虚拟引力作用而转向目标物。整个运动过程中,机器人将重复上述步骤直到到达最终目标物。
场景二:在规定路径上前进时躲避突发障碍。
当上层控制程序需要机器人按特定路径行走,可先规划出一条路径。机器人可以在沿规划路径前进的过程中躲避路径附近突然出现的障碍物并到达目标物。具体过程如下:
机器人开始运动后,规定机器人当前位置前方一定距离的规划路径上的一点为目标物,对机器人产生虚拟引力,该局部目标物会随着机器人运动实时更新。当前进路径上没有突发的障碍时,机器人受局部目标物的虚拟引力而一直保持在所规划路径上运动,而在所规划路径附近出现障碍物时,机器人会受到障碍物虚拟斥力作用而偏离所规划路径,当避开障碍物后,机器人又将受局部目标物虚拟引力作用而回到所规划的路径上。整个运动过程中,机器人将重复上述步骤直到到达最终目标物。
场景三:利用该算法实现跟随运动。
当需要机器人实现跟随运动(例如跟随一个人或者另一个机器人)时,可以利用此算法进行实现。机器人可在跟随的同时避开障碍物。具体过程如下:
实现跟随运动可以通过将要跟随物体设置为目标物来实现。在运动过程中,可以让跟随目标物携带位置传感器,并实时将这个位置传给机器人,用这个位置来替代图一种的目标位置。同时还需要规定一个安全距离,当机器人和目标物距离到达这个范围之内的时候就令机器人停止运动以防止碰撞。其余步骤与场景一相同。
本发明实施例还提供了一种机器人转向运动控制装置,该机器人转向运动控制装置能够执行上述机器人转向运动控制方法,上述机器人转向运动控制方法也能够通过 该机器人转向运动控制装置执行。
图3是根据本发明实施例的机器人转向运动控制装置的示意图,如图3所示,该装置包括:第一计算单元10、第一获取单元20、第二计算单元30、第二获取单元40、第三计算单元50、控制单元60。
第一计算单元10,用于根据机器人的位置信息和外部环境信息计算目标物对机器人产生的虚拟引力和障碍物对机器人产生的虚拟斥力。
第一获取单元20,用于获取虚拟合力关联的第一角度变化,其中,虚拟合力是根据虚拟引力和虚拟斥力计算出来的。
第二计算单元30,用于计算与虚拟合力关联的速度变化。
第二获取单元40,用于获取速度变化关联的第二角度变化。
第三计算单元50,用于根据第一角度变化和第二角度变化计算目标转角。
控制单元60,用于控制机器人按照目标转角进行转向。
可选地,第二获取单元40用于:将速度变化与预设系数相乘,得到第二角度变化。
可选地,控制单元60包括:判断子单元、第一控制子单元。判断子单元,用于判断目标转角是否大于第一预设转角。第一控制子单元,用于在目标转角大于第一预设转角的情况下,控制机器人按照目标转角进行转向的同时控制机器人以第一速度向前运动。
可选地,控制单元60还包括:第二控制子单元。第二控制子单元,用于在目标转角小于等于第一预设转角的情况下,控制机器人按照目标转角进行转向的同时控制机器人以第二速度向前运动,其中,第二速度大于第一速度。
可选地,第二控制子单元用于:根据以下公式计算第二速度:
Figure PCTCN2018079845-appb-000008
其中,v表示第二速度,v max表示第二速度所能取到的最大值,ω max表示第一预设转角,ω表示目标转角,ω∈[0,ω max]。
可选地,第一获取单元20用于:根据矢量合成法对虚拟引力和虚拟斥力进行合成,得到虚拟合力,并根据虚拟合力得到第一角度变化。
可选地,第三计算单元50用于:将第一角度变化和第二角度变化按照预设权重进 行加权,得到目标转角。
可选地,第一计算单元10根据以下公式计算虚拟引力和虚拟斥力:
Figure PCTCN2018079845-appb-000009
其中,F att表示目标物对机器人产生的虚拟引力,F rep(i)表示第i个方向上障碍物对机器人产生的虚拟斥力(i=1,2,3;分别表示前方、左方和右方),k 1和k 2分别表示虚拟引力和虚拟斥力的系数,d goal表示目标物与机器人之间的距离,d rep(i)表示第i个方向上障碍物与机器人之间的距离。
本发明实施例还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述的机器人转向运动控制方法。
本发明实施例还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的机器人转向运动控制方法。
本发明实施例还提供了一种机器人,该机器人包括:探测器,用于探测机器人的位置信息,以及上述的机器人转向运动控制装置。
本发明实施例还提供了一种机器人,该机器人包括:机器人本体、探测器、处理器。探测器,用于探测机器人的位置信息。处理器,处理器运行程序,其中,程序运行时对于从探测器输出的数据执行如下处理步骤:根据机器人的位置信息计算目标物对机器人产生的虚拟引力和障碍物对机器人产生的虚拟斥力;获取虚拟合力关联的第一角度变化,其中,虚拟合力是根据虚拟引力和虚拟斥力计算出来的;计算与虚拟合力关联的速度变化;获取速度变化关联的第二角度变化;根据第一角度变化和第二角度变化计算目标转角;控制机器人按照目标转角进行转向。探测器可以是超声探头。
本发明实施例还提供了一种机器人,该机器人包括:机器人本体、探测器、存储介质。探测器,用于探测机器人的位置信息。存储介质,用于存储程序,其中,程序在运行时对于从探测器输出的数据执行如下处理步骤:根据机器人的位置信息计算目标物对机器人产生的虚拟引力和障碍物对机器人产生的虚拟斥力;获取虚拟合力关联的第一角度变化,其中,虚拟合力是根据虚拟引力和虚拟斥力计算出来的;计算与虚拟合力关联的速度变化;获取速度变化关联的第二角度变化;根据第一角度变化和第二角度变化计算目标转角;控制机器人按照目标转角进行转向。探测器可以是超声探头。
本专利属于移动机器避障领域,适用于未建模的障碍物。该避障算法利用超声探 测器获取障碍物相对机器人的位置信息,再结合室内定位方法所得到的机器人的位置信息以及由陀螺仪得到的机器人姿态信息,来对机器人进行路径规划,可以避开在机器人前进路径上的障碍物并准确到达目标。
通过结合实际需求,本发明实施例对现有人工势场避障算法进行了改进,使得机器人能在保持平稳运动的同时实现较好的避障效果。
根据探测器的反馈数据再结合上层的控制命令,通过计算虚拟合力来改变机器人运动方向,算法运算简洁,实时性好,能高效的实现避障功能,节省成本并且运行高效。
该避障算法在已知机器人位置信息的情况下,可用于所有移动机器人的避障。也可用于无人机,潜水艇的避障。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only  Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (19)

  1. 一种机器人转向运动控制方法,其特征在于,包括:
    根据机器人的位置信息和外部环境信息计算目标物对所述机器人产生的虚拟引力和障碍物对所述机器人产生的虚拟斥力;
    获取与虚拟合力相关联的第一角度变化,其中,所述虚拟合力由所述虚拟引力和所述虚拟斥力确定;
    计算与所述虚拟合力相关联的速度变化;
    获取与所述速度变化相关联的第二角度变化;
    根据所述第一角度变化和所述第二角度变化计算目标转角;
    控制所述机器人按照所述目标转角进行转向。
  2. 根据权利要求1所述的方法,其特征在于,获取与所述速度变化关联的第二角度变化,包括:
    将所述速度变化与预设系数相乘,得到所述第二角度变化。
  3. 根据权利要求1所述的方法,其特征在于,控制所述机器人按照所述目标转角进行转向,包括:
    判断所述目标转角是否大于第一预设转角;
    如果所述目标转角大于所述第一预设转角,控制所述机器人按照所述目标转角进行转向,并控制所述机器人以第一速度向前运动。
  4. 根据权利要求3所述的方法,其特征在于,如果所述目标转角小于等于所述第一预设转角,控制所述机器人按照所述目标转角进行转向,并控制所述机器人以第二速度向前运动,其中,所述第二速度大于所述第一速度。
  5. 根据权利要求4所述的方法,其特征在于,控制所述机器人以第二速度向前运动,包括:
    根据以下公式计算所述第二速度:
    Figure PCTCN2018079845-appb-100001
    其中,v表示所述第二速度,v max表示所述第二速度所能取到的最大值,ω max表示所述第一预设转角,ω表示所述目标转角,ω∈[0,ω max]。
  6. 根据权利要求1所述的方法,其特征在于,获取与虚拟合力相关联的第一角度变化,包括:
    根据矢量合成法对所述虚拟引力和所述虚拟斥力进行合成,得到所述虚拟合力,并根据所述虚拟合力得到所述第一角度变化。
  7. 根据权利要求1所述的方法,其特征在于,根据所述第一角度变化和所述第二角度变化计算目标转角,包括:
    将所述第一角度变化和所述第二角度变化按照预设权重进行加权,得到所述目标转角。
  8. 根据权利要求1至7中任一项所述的方法,其特征在于,根据机器人的位置信息计算目标物对所述机器人产生的虚拟引力和障碍物对所述机器人产生的虚拟斥力,包括:
    根据以下公式计算所述虚拟引力和所述虚拟斥力:
    Figure PCTCN2018079845-appb-100002
    Figure PCTCN2018079845-appb-100003
    其中,F att表示所述目标物对所述机器人产生的虚拟引力,F rep(i)表示第i个方向上所述障碍物对所述机器人产生的虚拟斥力(i=1,2,3;分别表示前方、左方和右方),k 1和k 2分别表示虚拟引力和虚拟斥力的系数,d goal表示所述目标物与所述机器人之间的距离,d rep(i)表示第i个方向上所述障碍物与所述机器人之间的距离。
  9. 一种机器人转向运动控制装置,其特征在于,包括:
    第一计算单元,用于根据机器人的位置信息和外部环境信息计算目标物对所述机器人产生的虚拟引力和障碍物对所述机器人产生的虚拟斥力;
    第一获取单元,用于获取与虚拟合力相关联的第一角度变化,其中,所述虚拟合力由所述虚拟引力和所述虚拟斥力确定;
    第二计算单元,用于计算与所述虚拟合力相关联的速度变化;
    第二获取单元,用于获取所述速度变化相关联的第二角度变化;
    第三计算单元,用于根据所述第一角度变化和所述第二角度变化计算目标转角;
    控制单元,用于控制所述机器人按照所述目标转角进行转向。
  10. 根据权利要求9所述的装置,其特征在于,所述第二获取单元用于:
    将所述速度变化与预设系数相乘,得到所述第二角度变化。
  11. 根据权利要求9所述的装置,其特征在于,所述控制单元包括:
    判断子单元,用于判断所述目标转角是否大于第一预设转角;
    第一控制子单元,用于在所述目标转角大于所述第一预设转角的情况下,控制所述机器人按照所述目标转角进行转向,并控制所述机器人以第一速度向前运动。
  12. 根据权利要求11所述的装置,其特征在于,所述控制单元还包括:
    第二控制子单元,用于在所述目标转角小于等于所述第一预设转角的情况下,控制所述机器人按照所述目标转角进行转向,并控制所述机器人以第二速度向前运动,其中,所述第二速度大于所述第一速度。
  13. 根据权利要求12所述的装置,其特征在于,所述第二控制子单元用于:
    根据以下公式计算所述第二速度:
    Figure PCTCN2018079845-appb-100004
    其中,v表示所述第二速度,v max表示所述第二速度所能取到的最大值,ω max表示所述第一预设转角,ω表示所述目标转角,ω∈[0,ω max]。
  14. 根据权利要求9所述的装置,其特征在于,第一获取单元用于:根据矢量合成法对所述虚拟引力和所述虚拟斥力进行合成,得到所述虚拟合力,并根据所述虚拟合力得到所述第一角度变化。
  15. 根据权利要求9所述的装置,其特征在于,所述第三计算单元用于:将所述第一 角度变化和所述第二角度变化按照预设权重进行加权,得到所述目标转角。
  16. 根据权利要求9至15中任一项所述的装置,其特征在于,所述第一计算单元用于:根据以下公式计算所述虚拟引力和所述虚拟斥力:
    Figure PCTCN2018079845-appb-100005
    Figure PCTCN2018079845-appb-100006
    其中,F att表示所述目标物对所述机器人产生的虚拟引力,F rep(i)表示第i个方向上所述障碍物对所述机器人产生的虚拟斥力(i=1,2,3;分别表示前方、左方和右方),k 1和k 2分别表示虚拟引力和虚拟斥力的系数,d goal表示所述目标物与所述机器人之间的距离,d rep(i)表示第i个方向上所述障碍物与所述机器人之间的距离。
  17. 一种机器人,其特征在于,包括:探测器,用于探测机器人的位置信息和外部环境信息,以及权利要求9至16任一项所述的机器人转向运动控制装置。
  18. 一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至8中任意一项所述的机器人转向运动控制方法。
  19. 一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至8中任意一项所述的机器人转向运动控制方法。
PCT/CN2018/079845 2017-05-08 2018-03-21 机器人转向运动控制方法和装置、机器人、存储介质 WO2018205751A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710319253.9A CN108873875B (zh) 2017-05-08 2017-05-08 机器人转向运动控制方法和装置、机器人、存储介质
CN201710319253.9 2017-05-08

Publications (1)

Publication Number Publication Date
WO2018205751A1 true WO2018205751A1 (zh) 2018-11-15

Family

ID=64104292

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/079845 WO2018205751A1 (zh) 2017-05-08 2018-03-21 机器人转向运动控制方法和装置、机器人、存储介质

Country Status (2)

Country Link
CN (1) CN108873875B (zh)
WO (1) WO2018205751A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111546343A (zh) * 2020-05-13 2020-08-18 浙江工业大学 一种基于改进人工势场法的消防移动机器人路径规划方法及***
CN112947417A (zh) * 2021-01-27 2021-06-11 厦门大学 一种用于智能运动体避障的控制方法
CN113190004A (zh) * 2021-05-07 2021-07-30 河南科技大学 一种基于算法融合的无人驾驶车辆避碰路径规划方法
CN114859945A (zh) * 2022-05-26 2022-08-05 厦门大学 一种基于人工势场法的水下编队控制方法、***及介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338287A (zh) * 2020-03-13 2020-06-26 南方科技大学 机器人运动控制方法、装置、***、机器人及存储介质
CN112558610A (zh) * 2020-12-15 2021-03-26 上海有个机器人有限公司 机器人避开障碍的运动控制方法、***、机器人及计算机存储介质
CN115509217A (zh) * 2021-06-21 2022-12-23 广州视源电子科技股份有限公司 机器人的控制方法、装置、计算机存储介质以及机器人
CN113741424A (zh) * 2021-08-04 2021-12-03 深圳市普渡科技有限公司 机器人协同避障***、方法、机器人及存储介质
CN113829347B (zh) * 2021-09-30 2023-08-15 上海傅利叶智能科技有限公司 基于物理引擎的机器人控制方法、装置和康复机器人

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591332A (zh) * 2011-01-13 2012-07-18 同济大学 用于无人驾驶汽车局部路径规划的装置及方法
CN103092204A (zh) * 2013-01-18 2013-05-08 浙江大学 一种混合的机器人动态路径规划方法
CN103197684A (zh) * 2013-04-25 2013-07-10 清华大学 无人机群协同跟踪目标的方法及***
CN103365299A (zh) * 2013-08-02 2013-10-23 中国科学院自动化研究所 一种无人机的避障方法及其装置
WO2014081141A1 (en) * 2012-11-21 2014-05-30 Samsung Techwin Co., Ltd Docking module, mobile robot comprising docking module, docking system comprising mobile robot, and method of docking mobile robot
CN104516356A (zh) * 2015-01-08 2015-04-15 西北工业大学 基于rrt的动态障碍规避算法
US20160025495A1 (en) * 2014-07-22 2016-01-28 Raytheon Company Autonomous coordination of agents via attraction and repulsion
CN105974917A (zh) * 2016-05-11 2016-09-28 江苏大学 一种基于新型人工势场法的车辆避障路径规划研究方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053620B (zh) * 2009-11-06 2012-05-09 北京理工大学 一种地面移动机器人群摆脱多边形障碍物的方法
JP2012011498A (ja) * 2010-06-30 2012-01-19 Toshiba Corp ロボットアーム操作システムおよびその操作方法
CN104317292A (zh) * 2014-09-16 2015-01-28 哈尔滨恒誉名翔科技有限公司 一种复杂形状机器人避碰路径的方法
CN105223956B (zh) * 2015-11-09 2018-02-27 中山大学 一种全向移动机器人的动态避障方法
CN105717929B (zh) * 2016-04-29 2018-06-15 中国人民解放军国防科学技术大学 一种多分辨率障碍物环境下移动机器人混合路径规划方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591332A (zh) * 2011-01-13 2012-07-18 同济大学 用于无人驾驶汽车局部路径规划的装置及方法
WO2014081141A1 (en) * 2012-11-21 2014-05-30 Samsung Techwin Co., Ltd Docking module, mobile robot comprising docking module, docking system comprising mobile robot, and method of docking mobile robot
CN103092204A (zh) * 2013-01-18 2013-05-08 浙江大学 一种混合的机器人动态路径规划方法
CN103197684A (zh) * 2013-04-25 2013-07-10 清华大学 无人机群协同跟踪目标的方法及***
CN103365299A (zh) * 2013-08-02 2013-10-23 中国科学院自动化研究所 一种无人机的避障方法及其装置
US20160025495A1 (en) * 2014-07-22 2016-01-28 Raytheon Company Autonomous coordination of agents via attraction and repulsion
CN104516356A (zh) * 2015-01-08 2015-04-15 西北工业大学 基于rrt的动态障碍规避算法
CN105974917A (zh) * 2016-05-11 2016-09-28 江苏大学 一种基于新型人工势场法的车辆避障路径规划研究方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111546343A (zh) * 2020-05-13 2020-08-18 浙江工业大学 一种基于改进人工势场法的消防移动机器人路径规划方法及***
CN112947417A (zh) * 2021-01-27 2021-06-11 厦门大学 一种用于智能运动体避障的控制方法
CN113190004A (zh) * 2021-05-07 2021-07-30 河南科技大学 一种基于算法融合的无人驾驶车辆避碰路径规划方法
CN114859945A (zh) * 2022-05-26 2022-08-05 厦门大学 一种基于人工势场法的水下编队控制方法、***及介质

Also Published As

Publication number Publication date
CN108873875B (zh) 2023-11-14
CN108873875A (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
WO2018205751A1 (zh) 机器人转向运动控制方法和装置、机器人、存储介质
CN106573377B (zh) 具有冲突避免和轨迹恢复能力的类人机器人
Engel et al. Camera-based navigation of a low-cost quadrocopter
Song et al. Navigation control design of a mobile robot by integrating obstacle avoidance and LiDAR SLAM
Xu et al. Visual-haptic aid teleoperation based on 3-D environment modeling and updating
JP6374984B2 (ja) 定位面内にロボットを定位する方法
Wang et al. Acoustic robot navigation using distributed microphone arrays
JP2005528707A5 (zh)
WO2018077307A1 (zh) 一种运动控制方法、装置和计算机存储介质
WO2017166767A1 (zh) 一种信息处理方法和移动装置、计算机存储介质
Mekonnen et al. Wireless hybrid visual servoing of omnidirectional wheeled mobile robots
Alajlan et al. Multi-sensor based collision avoidance algorithm for mobile robot
WO2019128496A1 (zh) 控制设备运动
Tsai et al. Use of ultrasonic sensors to enable wheeled mobile robots to avoid obstacles
Nakhaeinia et al. A behavior-based approach for collision avoidance of mobile robots in unknown and dynamic environments
Guevara et al. Vision-based self-contained target following robot using bayesian data fusion
Gulzar et al. Realization of an improved path planning strategy
Brooks et al. Humanoid robot navigation and obstacle avoidance in unknown environments
JP6832394B2 (ja) 自己位置推定装置、自己位置選択装置、及び学習器
Wang et al. A vector polar histogram method based obstacle avoidance planning for AUV
JPH02188809A (ja) 移動体の障害物回避制御装置
Chen et al. Improved dynamic window approach for dynamic obstacle avoidance of quadruped robots
Al Arabi et al. 2D mapping and vertex finding method for path planning in autonomous obstacle avoidance robotic system
Kobzili et al. Multi-rate robust scale estimation of monocular SLAM
Dai et al. Autonomous navigation for wheeled mobile robots-a survey

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18797742

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18797742

Country of ref document: EP

Kind code of ref document: A1