CN112445211B - Robot control method and device, storage medium and electronic device - Google Patents

Robot control method and device, storage medium and electronic device Download PDF

Info

Publication number
CN112445211B
CN112445211B CN201910755827.6A CN201910755827A CN112445211B CN 112445211 B CN112445211 B CN 112445211B CN 201910755827 A CN201910755827 A CN 201910755827A CN 112445211 B CN112445211 B CN 112445211B
Authority
CN
China
Prior art keywords
robot
target
track
moving
candidate
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
Application number
CN201910755827.6A
Other languages
Chinese (zh)
Other versions
CN112445211A (en
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ninebot Beijing Technology Co Ltd
Original Assignee
Ninebot Beijing Technology Co Ltd
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 Ninebot Beijing Technology Co Ltd filed Critical Ninebot Beijing Technology Co Ltd
Priority to CN201910755827.6A priority Critical patent/CN112445211B/en
Publication of CN112445211A publication Critical patent/CN112445211A/en
Application granted granted Critical
Publication of CN112445211B publication Critical patent/CN112445211B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0259Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means
    • 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
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control 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
    • 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
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • 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
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0259Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means
    • G05D1/0261Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means using magnetic plots
    • 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
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/028Control 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
    • 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
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0285Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using signals transmitted via a public communication network, e.g. GSM network

Landscapes

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

Abstract

The application provides a control method and device of a robot, a storage medium and an electronic device, wherein the method comprises the following steps: selecting a target moving track from a track space which is pre-configured in the process of controlling the robot to move from an initial position to a final position, wherein the track space comprises a plurality of candidate moving tracks, and the target moving track is a moving track which is not collided with an obstacle by the robot in the plurality of candidate moving tracks; and controlling the robot to move from the current position of the robot according to the target movement track. The method and the device solve the problem of high consumption of computing resources caused by dense sampling speed when local path planning is performed in the related technology.

Description

Robot control method and device, storage medium and electronic device
Technical Field
The present application relates to the field of communications, and in particular, to a method and apparatus for controlling a robot, a storage medium, and an electronic apparatus.
Background
Currently, robots can be used for autonomous navigation within a target scene. In the process of autonomous navigation of the robot, the robot obtains the position and destination information of the robot according to the constructed surrounding environment map and can plan a feasible route through global path planning; and then calling a local path planner, planning a specific action strategy of the robot when the robot is local according to the information of the route and the costmap (low-cost map, grid obstacle map), calculating an optimal speed instruction, and sending the optimal speed instruction to a motion chassis of the robot for execution.
When the local path planning is performed, the speed of the robot needs to be sampled, and the local path planning is performed according to the sampled speed. When the speed sampling is relatively dense, it is very computationally expensive.
Therefore, in the related art, there is a problem in that the amount of calculation resources consumed is large due to the dense sampling speed when performing local path planning.
Disclosure of Invention
The embodiment of the application provides a control method and device of a robot, a storage medium and an electronic device, which at least solve the problem of large consumption of computing resources caused by dense sampling speed when local path planning is performed in the related technology.
According to an embodiment of the present application, there is provided a control method of a robot including: in the process of controlling the robot to move from an initial position to an end position, selecting a target movement track from a track space which is pre-configured, wherein the track space comprises a plurality of candidate movement tracks, and the target movement track is a movement track which is not collided with an obstacle by the robot in the plurality of candidate movement tracks; and controlling the robot to move from the current position of the robot according to the target movement track.
Optionally, before selecting the target movement track from the track space configured in advance, the method further includes: sampling a plurality of groups of sampling speeds from a speed space of the robot, wherein the speed space is a speed interval in which the robot is allowed to move; and determining a plurality of candidate moving tracks corresponding to the plurality of groups of sampling speeds to obtain a track space, wherein the plurality of groups of sampling speeds correspond to the plurality of candidate moving tracks one by one, and each candidate moving track is obtained by moving the simulation robot within a preset time according to a group of sampling speeds corresponding to each candidate moving track.
Optionally, selecting the target movement trajectory from a preconfigured trajectory space includes: periodically selecting a target movement track from a track space which is configured in advance; alternatively, in the case where an obstacle that is not previously marked within a predetermined distance range of the robot is perceived, the target movement trajectory is selected from a pre-configured trajectory space.
Optionally, periodically selecting the target movement trajectory from the trajectory space corresponding to the robot includes: periodically acquiring sensing data sensed by sensing equipment arranged on the robot; creating a grid obstacle map corresponding to a current position of the robot using the sensing data; and selecting a target moving track from the track space according to the target path and the grid obstacle map, wherein the target path is a preset moving path moving from an initial position to an end position.
Optionally, selecting the target movement track from the track space according to the target path and the grid obstacle map includes: according to the target path and the grid obstacle map, respectively determining a parameter value of a target evaluation function corresponding to each candidate movement in the plurality of candidate movement tracks; determining a scoring value corresponding to each candidate movement track according to the determined parameter value of the target evaluation function, so as to obtain a plurality of scoring values; and selecting a candidate moving path corresponding to the highest scoring value in the scoring values as a target moving track.
Optionally, controlling the robot to move from the current position of the robot according to the target movement track includes: determining a target movement speed corresponding to the target movement track, wherein the target movement speed comprises at least one of the following: linear speed and rotational speed; and sending a speed instruction carrying the target moving speed to a moving chassis of the robot so as to control the moving chassis to move from the current position according to the target moving speed.
According to another embodiment of the present application, there is provided a control device of a robot including: the selection module is used for selecting a target moving track from a track space which is pre-configured in the process of controlling the robot to move from an initial position to an end position, wherein the track space comprises a plurality of candidate moving tracks, and the target moving track is a moving track which is not collided with an obstacle by the robot in the plurality of candidate moving tracks; and the first control module is used for controlling the robot to move from the current position of the robot according to the target moving track.
Optionally, the apparatus further includes: the acquisition module is used for sampling a plurality of groups of sampling speeds from a speed space of the robot before a target moving track is selected from a pre-configured track space, wherein the speed space is a speed interval in which the robot is allowed to move; the first determining module is used for determining a plurality of candidate moving tracks corresponding to a plurality of groups of sampling speeds to obtain a track space, wherein the plurality of groups of sampling speeds correspond to the plurality of candidate moving tracks one by one, and each candidate moving track is obtained by moving the simulation robot within a preset time according to a group of sampling speeds corresponding to each candidate moving track.
Optionally, the selecting module includes: a first selecting unit for periodically selecting a target movement track from a track space configured in advance; or, the second selecting unit is configured to select the target movement track from the track space configured in advance, in the case that no pre-marked obstacle is detected in the predetermined distance range of the robot.
Optionally, the first selecting unit includes: an acquisition subunit for periodically acquiring the sensing data sensed by the sensing device arranged on the robot; a creation subunit for creating a grid obstacle map corresponding to a current position of the robot using the perception data; and the selecting subunit is used for selecting the target moving track from the track space according to the target path and the grid obstacle map.
Optionally, the selecting subunit includes: the first determining submodule is used for respectively determining parameter values of a target evaluation function corresponding to each candidate movement in the plurality of candidate movement tracks according to the target path and the grid obstacle map; the second determining submodule is used for determining the grading value corresponding to each candidate moving track according to the determined parameter value of the target evaluation function to obtain a plurality of grading values; and the selecting sub-module is used for selecting a candidate moving path corresponding to the highest scoring value in the scoring values as a target moving track.
Optionally, the first control module includes: a determining unit configured to determine a target movement speed corresponding to the target movement trajectory, wherein the target movement speed includes at least one of: linear speed and rotational speed; and the sending unit is used for sending a speed instruction carrying the target moving speed to the moving chassis of the robot so as to control the moving chassis to move from the current position according to the target moving speed.
According to yet another embodiment of the present application, there is also provided a storage medium having stored therein a computer program, wherein the computer program is arranged to execute the control method of any one of the robots above at run-time.
According to another aspect of the embodiments of the present application, there is also provided an electronic device comprising a memory, a processor, the memory storing a computer program, the processor being arranged to perform the method described above by the computer program.
According to the application, in the process of controlling the robot to move from the initial position to the final position, a target movement track is selected from a track space which is pre-configured, wherein the track space comprises a plurality of candidate movement tracks, and the target movement track is a movement track which is not collided with an obstacle by the robot in the plurality of candidate movement tracks; the robot is controlled to move from the current position of the robot according to the target moving track, and the track space of the robot is preset, so that the track space is not required to be generated in real time in the running process of the robot, further, the speed sampling is not required, the technical problem that the consumption of computing resources is large due to the dense sampling speed when the local path planning is performed in the related technology can be solved, and the technical effects of reducing the consumption of computing resources and improving the running efficiency of the robot are achieved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this specification, illustrate embodiments of the application and together with the description serve to explain the application and do not constitute a limitation on the application. In the drawings:
fig. 1 is a hardware configuration block diagram of a server of a control method of a robot according to an embodiment of the present application;
FIG. 2 is a flow chart of an alternative method of controlling a robot in accordance with an embodiment of the present application;
FIG. 3 is a schematic view of another alternative robot control method according to an embodiment of the present application;
FIG. 4 is a schematic view of yet another alternative method of controlling a robot according to an embodiment of the present application;
fig. 5 is a block diagram of a control device of an alternative robot according to an embodiment of the present application.
Detailed Description
The application will be described in detail hereinafter with reference to the drawings in conjunction with embodiments. It should be noted that, without conflict, the embodiments of the present application and features of the embodiments may be combined with each other.
It should be noted that the terms "first," "second," and the like in the description and the claims of the present application and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order.
The method embodiments provided in the embodiments of the present application may be performed in a server, a robot or similar computing device. Taking the operation on a server as an example, fig. 1 is a block diagram of a hardware structure of a server of a control method of a robot according to an embodiment of the present application. As shown in fig. 1, the server 10 may include one or more (only one is shown in fig. 1) processors 102 (the processor 102 may include, but is not limited to, a microprocessor MCU or a processing device such as a programmable logic device FPGA) and a memory 104 for storing data, and optionally, a transmission device 106 for communication functions and an input-output device 108. It will be appreciated by those skilled in the art that the structure shown in fig. 1 is merely illustrative, and is not intended to limit the structure of the server described above. For example, the server 10 may also include more or fewer components than shown in FIG. 1, or have a different configuration than shown in FIG. 1.
The memory 104 may be used to store a computer program, for example, a software program of application software and a module, such as a computer program corresponding to a control method of a robot in an embodiment of the present application, and the processor 102 executes the computer program stored in the memory 104 to perform various functional applications and data processing, that is, to implement the above-described method. Memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memory remotely located with respect to the processor 102, which may be connected to the server 10 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission means 106 is arranged to receive or transmit data via a network. The specific example of the network described above may include a wireless network provided by a communication provider of the server 10. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, simply referred to as NIC) that can connect to other network devices through a base station to communicate with the internet. In one example, the transmission device 106 may be a Radio Frequency (RF) module, which is used to communicate with the internet wirelessly.
Alternatively, the server may be a single server, a server cluster formed by a plurality of servers, or a cloud server.
Alternatively, in this embodiment, as an optional implementation manner, the method may be performed by a server, may be performed by a robot, or may be performed by the server and the robot together, and in this embodiment, the description is given by way of example by the server. As shown in fig. 2, the flow of the control method of the robot may include the steps of:
step S202, in the process of controlling the robot to move from an initial position to an end position, periodically selecting a target movement track from a track space which is configured in advance, wherein the track space comprises a plurality of candidate movement tracks, and the target movement track is a movement track which is not collided with an obstacle by the robot in the plurality of candidate movement tracks;
step S204, the robot is controlled to move according to the target moving track from the current position of the robot.
Alternatively, the control method of the robot may be, but not limited to, a process of using the robot to deliver objects in a building, or other scenes in which the robot is controlled to perform tasks that require movement to a specific location.
According to the method, in the process of controlling the robot to move from the initial position to the final position, a target moving track is selected from a track space which is configured in advance, wherein the track space comprises a plurality of candidate moving tracks, and the target moving track is a moving track which is not collided with an obstacle by the robot in the plurality of candidate moving tracks; the robot is controlled to move from the current position of the robot according to the target moving track, and the track space of the robot is preset, so that the track space is not required to be generated in real time in the running process of the robot, further, the speed sampling is not required, the data sampling frequency is reduced, and the calculation resources of the robot are saved.
In step S202, in the process of controlling the robot to move from the initial position to the final position, a target movement track is selected from a track space configured in advance, wherein the track space includes a plurality of candidate movement tracks, and the target movement track is a movement track that the robot does not collide with an obstacle among the plurality of candidate movement tracks.
The robot may be a delivery robot that delivers an article in a building or other indoor location or outdoor location. The delivery robot may move according to a movement path configured by a server (e.g., cloud server). The cloud may configure the travel paths of all connected robots.
In an alternative embodiment, before the target movement track is selected from the pre-configured track space, a target path for the robot to move from the initial position to the final position may be determined from a preset map, wherein an area allowing the robot to move is identified on the preset map; the robot is controlled to move from the initial position to the final position according to the target path.
The process of determining the target path is a process of global path planning. In a known environment, a path may be planned for the robot. The accuracy of global path planning depends on the accuracy of the environment acquisition, and the global path planning can find the optimal solution, but needs to know the accurate information of the environment in advance.
Global path planning is a kind of advanced planning, so the real-time computing power requirement on the robot system is not high, and although the planning result is global and better, the robustness to errors and noise of the environmental model is poor. When the environment changes, such as unknown obstacles appear, the control of the robot may be problematic, and the movement control of the robot can be performed in combination with the local path planning.
According to the embodiment, the overall path is planned for the robot before the robot is controlled to move, so that the robot can move from the initial position to the final position, and the accuracy of robot movement control is guaranteed.
In order to ensure the accuracy of the movement control of the robot, collision with obstacles in the moving process is avoided, and the robot can be subjected to local path planning besides the target path obtained through global path planning.
For local path planning, the environment information of the local path planning is completely unknown or partially known, and the current local environment information of the robot is considered, so that the robot has good obstacle avoidance capability. The working environment of the robot can be detected through the sensor to acquire information such as the position, the geometric property and the like of the obstacle, the planning needs to collect environment data, and the dynamic update of the environment model can be corrected at any time.
The local planning method integrates modeling and searching of the environment, requires a robot system to have high-speed information processing capability and computing capability, has high robustness to environmental errors and noise, and can feed back and correct the planning result in real time, but the planning result is possibly not optimal or even a correct path or a complete path cannot be found due to lack of global environmental information.
By combining global path planning with path planning, the accuracy of path planning and the safety of robot movement can be ensured.
The DWA (Dynamic Window Approach, dynamic windowing) algorithm is a local path planning algorithm, which, as shown in fig. 3, has the principle that: sampling a plurality of groups of speeds in a speed space (v, w), simulating the motion tracks of the speeds in a certain time, and scoring the tracks through an evaluation function to obtain the optimal motion track.
In an alternative embodiment, before periodically selecting the target movement track from the pre-configured track space, multiple groups of sampling speeds may be sampled from a speed space of the robot, where the speed space is a speed interval in which the robot is allowed to move; and determining a plurality of candidate moving tracks corresponding to the plurality of groups of sampling speeds to obtain a track space, wherein the plurality of groups of sampling speeds correspond to the plurality of candidate moving tracks one by one, and each candidate moving track is a moving track obtained by moving the simulation robot according to a group of sampling speeds corresponding to each candidate moving track in a preset time.
The general DWA algorithm flow has the following problems: the speed is sampled in real time, the track space is generated in real time, and when the speed is sampled more densely, the calculation resource is very consumed.
To solve the above-described problem, the track space may be preconfigured before step S202. For example, the trajectory space of the robot may be generated in advance at the time of initialization, and all the trajectory spaces may be generated in a body system (body coordinate system, origin point of the robot coordinate system), and the trajectory space does not need to be generated in real time.
The manner in which the track space is generated may include, but is not limited to: sampling a plurality of groups of speeds in a speed space (v, w) of the robot, simulating movement tracks of the speeds within a certain time (the preset time can correspond to a period for acquiring a target movement track), obtaining a plurality of candidate movement tracks, and further generating a track space.
The speed space of the robot can be determined by combining the following conditions:
(1) Maximum and minimum speeds at which the robot itself moves.
(2) And the motor receiving performance of the mobile robot.
Because of the limited motor torque, there is a maximum acceleration/deceleration limit, and therefore, there is a dynamic window in the period of forward simulation of the robot trajectory, where the speed is the speed that the robot can actually reach.
(3) The moving safety of the robot is ensured.
In order to stop before the robot collides with an obstacle, the robot has a range of movement speed under the condition of maximum deceleration.
A set of sampling rates can be expressed as: (v) t ,w t ) A pair (v) t ,w t ) May represent a circular arc trajectory. After the sampling speed is obtained, a candidate movement track can be determined according to the sampling speed and the preset time.
According to the method and the device, the plurality of candidate moving tracks are determined by using the plurality of groups of sampling speeds sampled from the speed space of the robot, so that the track space is obtained, the track space acquisition process can be simplified, and the control efficiency of the robot is improved.
In an alternative embodiment, selecting the target movement trajectory from the preconfigured trajectory space comprises: periodically selecting a target movement track from a track space which is configured in advance; alternatively, in the case where an obstacle that is not previously marked within a predetermined distance range of the robot is perceived, the target movement trajectory is selected from a pre-configured trajectory space.
The operation of selecting the target movement trajectory from the pre-configured trajectory space may be periodically triggered in order to control the movement of the robot; or may be event triggered, for example, triggering the above-described selection operation upon sensing an obstacle that is not pre-marked within a predetermined distance of the robot.
According to the embodiment, the target movement track is selected from the track space periodically, so that movement of the robot can be controlled conveniently, and the control capability of the movement of the robot is improved. By selecting the target moving track from the track space when the obstacle which is not marked in advance in the preset distance range of the robot is perceived, the coping capability of the robot to the emergency can be improved, and the running safety of the robot is ensured.
In an alternative embodiment, periodically selecting the target movement trajectory from the trajectory space corresponding to the robot may include: periodically acquiring sensing data sensed by sensing equipment arranged on the robot; creating a grid obstacle map corresponding to a current position of the robot using the sensing data; and selecting a target moving track from the track space according to the target path and the grid obstacle map, wherein the target path is a preset moving path moving from an initial position to an end position.
In the process of moving the robot to the end position, sensing data can be periodically acquired through sensing equipment arranged on the robot, and a grid obstacle map (body coordinate system costmap, which takes the current position of the robot as a coordinate origin) corresponding to the current position of the robot is created according to the acquired sensing data, and track evaluation and collision detection are carried out in cooperation with a track space of the body coordinate system, as shown in fig. 4.
For example, the flow of the DWA algorithm may be modified: the DWA algorithm mainly takes time for a module to generate a track space part in real time, and the improved algorithm generates all track spaces and collision detection spaces in a body system well during initialization, so that the track spaces do not need to be generated in real time. Then, a body coordinate system costmap is generated based on the positioning data, and trajectory evaluation and collision detection are performed in cooperation with a trajectory space of the body system. The improved DWA algorithm has a significantly improved calculation rate compared with the original DWA algorithm.
According to the embodiment, the body coordinate system costmap is generated according to the acquired perception data, and the target moving track is selected from the track space according to the target path and the costmap, so that the accuracy and the efficiency of selecting the target moving path can be ensured.
In an alternative embodiment, selecting the target movement trajectory from the trajectory space according to the target path and the grid obstacle map may include: according to the target path and the grid obstacle map, respectively determining a parameter value of a target evaluation function corresponding to each candidate movement in the plurality of candidate movement tracks; determining a scoring value corresponding to each candidate movement track according to the determined parameter value of the target evaluation function, so as to obtain a plurality of scoring values; and selecting a candidate moving path corresponding to the highest scoring value in the scoring values as a target moving track.
In order to select the target moving path, each candidate moving track may be scored by using a target evaluation function, so as to obtain a scoring result of each candidate moving track.
The evaluation parameters of the target evaluation function may relate to the target path and/or the grid obstacle map. The parameter value of the evaluation parameter may be inversely related to the distance between the candidate movement trajectory and the target route, and the candidate movement trajectory is positively related to the distance between the obstacles in the grid obstacle map. In addition to the target path and the grid obstacle map, the evaluation result of the target evaluation function may be identical to: the movement speed corresponding to the candidate movement trajectory.
According to the embodiment, the candidate moving track scoring value is determined according to the target path and the grid obstacle map, so that the target moving track is determined, the accuracy of determining the target moving track can be ensured, and the moving efficiency of the robot is ensured.
In step S204, the control robot moves from the current position of the robot in accordance with the target movement trajectory.
After the target movement track is determined, the robot can be controlled to move from the current position according to the target movement track.
In an alternative embodiment, controlling the robot to move from the current position of the robot according to the target movement trajectory may include: determining a target movement speed corresponding to the target movement track, wherein the target movement speed comprises at least one of the following: linear speed and rotational speed; and sending a speed instruction carrying the target moving speed to a moving chassis of the robot so as to control the moving chassis to move from the current position according to the target moving speed.
The target movement trajectory may be expressed in the form of (v, w). The period for acquiring the target movement track can be preset, and the size of the period can be determined according to an empirical value. The robot may be controlled to move at the target moving speed during a period time corresponding to the current period (the moving speed is kept constant during the current period time).
After the target movement speed (selected optimal speed) is obtained, the target movement speed may be transmitted to the chassis for execution, and the movement of the robot may be controlled by the chassis.
According to the embodiment, the target moving speed (target moving track) is sent to the chassis for execution in a speed instruction mode, so that the moving accuracy of the robot can be ensured.
From the description of the above embodiments, it will be clear to a person skilled in the art that the method according to the above embodiments may be implemented by means of software plus the necessary general hardware platform, but of course also by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a storage medium (e.g. ROM/RAM, magnetic disk, optical disk) comprising instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform the method according to the embodiments of the present application.
The embodiment also provides a control device of the robot, which is used for implementing the above embodiment and the preferred embodiment, and is not described in detail. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. While the means described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware, is also possible and contemplated.
Fig. 5 is a block diagram of a control device of an alternative robot according to an embodiment of the present application, and as shown in fig. 5, the control device of the robot includes:
(1) The selecting module 52 is configured to select a target movement track from a track space configured in advance in a process of controlling the robot to move from an initial position to an end position, where the track space includes a plurality of candidate movement tracks, and the target movement track is a movement track that the robot will not collide with an obstacle in the plurality of candidate movement tracks;
(2) The first control module 54 is connected to the selection module 52, and is used for controlling the robot to move from the current position of the robot according to the target movement track.
Alternatively, the selection module 52 may be configured to perform step S202, and the first control module 54 may be configured to perform step S204.
According to the method, in the process of controlling the robot to move from the initial position to the end position, a target moving track is periodically selected from a track space which is configured in advance, wherein the track space comprises a plurality of candidate moving tracks, and the target moving track is a moving track which is not collided with an obstacle by the robot in the plurality of candidate moving tracks; the robot is controlled to move from the current position of the robot according to the target moving track, so that the technical problem of high consumption of calculation resources caused by dense sampling speed in the process of planning a local path in the related technology is solved, the consumption of calculation resources is reduced, and the running efficiency of the robot is improved.
As an optional technical solution, the apparatus further includes:
(1) The acquisition module is used for sampling a plurality of groups of sampling speeds from a speed space of the robot before a target moving track is selected from a pre-configured track space, wherein the speed space is a speed interval in which the robot is allowed to move;
(2) The first determining module is connected with the acquisition module and is used for determining a plurality of candidate moving tracks corresponding to a plurality of groups of sampling speeds to obtain a track space, wherein the plurality of groups of sampling speeds correspond to the plurality of candidate moving tracks one by one, and each candidate moving track is obtained by moving the simulation robot within a preset time according to a group of sampling speeds corresponding to each candidate moving track.
As an alternative solution, the selecting module 52 includes:
(1) A first selecting unit for periodically selecting a target movement track from a track space configured in advance; or alternatively, the process may be performed,
(2) And a second selecting unit for selecting a target moving track from a track space configured in advance in case that no pre-marked obstacle is perceived within a predetermined distance range of the robot.
As an optional solution, the first selecting unit includes:
(1) An acquisition subunit for periodically acquiring the sensing data sensed by the sensing device arranged on the robot;
(2) The creating subunit is connected with the acquiring subunit and is used for creating a grid barrier map corresponding to the current position of the robot by using the sensing data;
(3) The selecting subunit is connected with the creating subunit and is used for selecting a target moving track from the track space according to the target path and the grid obstacle map, wherein the target path is a preset moving path which moves from the initial position to the end position.
As an optional technical solution, selecting the subunit includes:
(1) The first determining submodule is used for respectively determining parameter values of a target evaluation function corresponding to each candidate movement in the plurality of candidate movement tracks according to the target path and the grid obstacle map;
(2) The second determining submodule is connected with the first determining submodule and is used for determining the grading value corresponding to each candidate moving track according to the parameter value of the determined target evaluation function to obtain a plurality of grading values;
(3) The selecting sub-module is connected with the second determining sub-module and is used for selecting a candidate moving path corresponding to the highest scoring value in the scoring values as a target moving track.
As an alternative solution, the first control module 54 includes:
(1) A determining unit configured to determine a target movement speed corresponding to the target movement trajectory, wherein the target movement speed includes at least one of: linear speed and rotational speed;
(2) And the sending unit is connected with the determining unit and used for sending a speed instruction carrying the target moving speed to the moving chassis of the robot so as to control the moving chassis to move from the current position according to the target moving speed.
It should be noted that each of the above modules may be implemented by software or hardware, and for the latter, it may be implemented by, but not limited to: the modules are all located in the same processor; alternatively, the above modules may be located in different processors in any combination.
An embodiment of the application also provides a storage medium having a computer program stored therein, wherein the computer program is arranged to perform the steps of any of the method embodiments described above when run.
Alternatively, in the present embodiment, the above-described storage medium may be configured to store a computer program for performing the steps of:
s1, selecting a target moving track from a track space which is pre-configured in the process of controlling the robot to move from an initial position to an end position, wherein the track space comprises a plurality of candidate moving tracks, and the target moving track is a moving track which is not collided with an obstacle by the robot in the plurality of candidate moving tracks;
s2, controlling the robot to move from the current position of the robot according to the target movement track.
Alternatively, in the present embodiment, the storage medium may include, but is not limited to: a U-disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a removable hard disk, a magnetic disk, or an optical disk, or other various media capable of storing program codes.
An embodiment of the application also provides an electronic device comprising a memory having stored therein a computer program and a processor arranged to run the computer program to perform the steps of any of the method embodiments described above.
Optionally, the electronic apparatus may further include a transmission device and an input/output device, where the transmission device is connected to the processor, and the input/output device is connected to the processor.
Alternatively, in the present embodiment, the above-described processor may be configured to execute the following steps by a computer program:
s1, selecting a target moving track from a track space which is pre-configured in the process of controlling the robot to move from an initial position to an end position, wherein the track space comprises a plurality of candidate moving tracks, and the target moving track is a moving track which is not collided with an obstacle by the robot in the plurality of candidate moving tracks;
s2, controlling the robot to move from the current position of the robot according to the target movement track.
Alternatively, specific examples in this embodiment may refer to examples described in the foregoing embodiments and optional implementations, and this embodiment is not described herein.
It will be appreciated by those skilled in the art that the modules or steps of the application described above may be implemented in a general purpose computing device, they may be concentrated on a single computing device, or distributed across a network of computing devices, they may alternatively be implemented in program code executable by computing devices, so that they may be stored in a memory device for execution by computing devices, and in some cases, the steps shown or described may be performed in a different order than that shown or described, or they may be separately fabricated into individual integrated circuit modules, or multiple modules or steps within them may be fabricated into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.
The above description is only of the preferred embodiments of the present application and is not intended to limit the present application, but various modifications and variations can be made to the present application by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the principle of the present application should be included in the protection scope of the present application.

Claims (10)

1. A control method of a robot, comprising:
selecting a target moving track from a track space which is pre-configured in the process of controlling the robot to move from an initial position to a final position, wherein the track space comprises a plurality of candidate moving tracks, and the target moving track is a moving track which is not collided with an obstacle by the robot in the plurality of candidate moving tracks;
controlling the robot to move from the current position of the robot according to the target moving track;
wherein the selecting the target movement track from the track space configured in advance comprises: periodically selecting the target movement track from the track space which is configured in advance; or, in case that no pre-marked obstacle is perceived within a predetermined distance range of the robot, selecting the target movement trajectory from the trajectory space configured in advance;
wherein the periodically selecting the target movement trajectory from the trajectory space corresponding to the robot includes: periodically acquiring sensing data sensed by sensing equipment arranged on the robot; creating a grid obstacle map corresponding to the current position of the robot using the perception data; and selecting the target moving track from the track space according to a target path and the grid obstacle map, wherein the target path is a preset moving path moving from the initial position to the end position.
2. The method of claim 1, wherein prior to said selecting the target movement trajectory from the preconfigured trajectory space, the method further comprises:
sampling a plurality of groups of sampling speeds from a speed space of the robot, wherein the speed space is a speed interval in which the robot is allowed to move;
and determining a plurality of candidate moving tracks corresponding to the plurality of groups of sampling speeds to obtain the track space, wherein the plurality of groups of sampling speeds correspond to the plurality of candidate moving tracks one by one, and each candidate moving track is obtained by simulating the robot to move in a preset time according to a group of sampling speeds corresponding to each candidate moving track.
3. The method of claim 1, wherein selecting the target movement trajectory from the trajectory space according to the target path and the grid obstacle map comprises:
according to the target path and the grid obstacle map, respectively determining a parameter value of a target evaluation function corresponding to each candidate movement in the plurality of candidate movement tracks;
determining the grading value corresponding to each candidate movement track according to the determined parameter value of the target evaluation function, and obtaining a plurality of grading values;
and selecting a candidate moving path corresponding to the highest scoring value in the scoring values as the target moving track.
4. A method according to any one of claims 1 to 3, wherein controlling the robot to move from the current position of the robot in accordance with the target movement trajectory comprises:
determining a target movement speed corresponding to the target movement track, wherein the target movement speed comprises at least one of the following: linear speed and rotational speed;
and sending a speed instruction carrying the target moving speed to a moving chassis of the robot so as to control the moving chassis to move from the current position according to the target moving speed.
5. A control device for a robot, comprising:
the robot moving device comprises a selecting module, a judging module and a judging module, wherein the selecting module is used for selecting a target moving track from a track space which is pre-configured in the process of controlling the robot to move from an initial position to an end position, wherein the track space comprises a plurality of candidate moving tracks, and the target moving track is a moving track which is not collided with an obstacle by the robot in the plurality of candidate moving tracks;
the first control module is used for controlling the robot to move from the current position of the robot according to the target moving track;
wherein, the selecting module includes: a first selecting unit configured to periodically select the target movement trajectory from the trajectory space configured in advance; or, a second selecting unit, configured to select the target movement track from the track space configured in advance, in a case where an obstacle that is not marked in advance in a predetermined distance range of the robot is perceived;
wherein the first selecting unit includes: an acquisition subunit for periodically acquiring the sensing data sensed by the sensing device arranged on the robot; the creating subunit is connected with the acquiring subunit and is used for creating a grid barrier map corresponding to the current position of the robot by using the sensing data; the selecting subunit is connected with the creating subunit and is used for selecting a target moving track from the track space according to the target path and the grid obstacle map, wherein the target path is a preset moving path which moves from the initial position to the end position.
6. The apparatus of claim 5, wherein the apparatus further comprises:
the acquisition module is used for sampling a plurality of groups of sampling speeds from a speed space of the robot before the target movement track is selected from the track space which is pre-configured, wherein the speed space is a speed interval in which the robot is allowed to move;
the first determining module is configured to determine the plurality of candidate movement tracks corresponding to the plurality of groups of sampling speeds to obtain the track space, where the plurality of groups of sampling speeds correspond to the plurality of candidate movement tracks one by one, and each candidate movement track is obtained by simulating movement of the robot within a predetermined time according to a group of sampling speeds corresponding to each candidate movement track.
7. The apparatus of claim 5, wherein the pick subunit comprises:
a first determining submodule, configured to determine a parameter value of a target evaluation function corresponding to each candidate movement in the plurality of candidate movement tracks according to the target path and the grid obstacle map, respectively;
the second determining submodule is used for determining the grading value corresponding to each candidate moving track according to the determined parameter value of the target evaluation function to obtain a plurality of grading values;
and the selecting sub-module is used for selecting a candidate moving path corresponding to the highest scoring value in the scoring values as the target moving track.
8. The apparatus of any one of claims 5 to 7, wherein the first control module comprises:
a determining unit, configured to determine a target movement speed corresponding to the target movement track, where the target movement speed includes at least one of: linear speed and rotational speed;
and the sending unit is used for sending a speed instruction carrying the target moving speed to the moving chassis of the robot so as to control the moving chassis to move from the current position according to the target moving speed.
9. A storage medium having a computer program stored therein, wherein the computer program is arranged to perform the method of any of claims 1 to 4 when run.
10. An electronic device comprising a memory and a processor, characterized in that the memory has stored therein a computer program, the processor being arranged to execute the method according to any of the claims 1-4 by means of the computer program.
CN201910755827.6A 2019-08-15 2019-08-15 Robot control method and device, storage medium and electronic device Active CN112445211B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910755827.6A CN112445211B (en) 2019-08-15 2019-08-15 Robot control method and device, storage medium and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910755827.6A CN112445211B (en) 2019-08-15 2019-08-15 Robot control method and device, storage medium and electronic device

Publications (2)

Publication Number Publication Date
CN112445211A CN112445211A (en) 2021-03-05
CN112445211B true CN112445211B (en) 2023-10-27

Family

ID=74740722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910755827.6A Active CN112445211B (en) 2019-08-15 2019-08-15 Robot control method and device, storage medium and electronic device

Country Status (1)

Country Link
CN (1) CN112445211B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955273A (en) * 2016-05-25 2016-09-21 速感科技(北京)有限公司 Indoor robot navigation system and method
CN107065883A (en) * 2017-05-18 2017-08-18 广州视源电子科技股份有限公司 Control method for movement, device, robot and storage medium
CN107643752A (en) * 2017-05-09 2018-01-30 清研华宇智能机器人(天津)有限责任公司 Omni-directional mobile robots path planning algorithm based on pedestrian track prediction
CN109782763A (en) * 2019-01-18 2019-05-21 中国电子科技集团公司信息科学研究院 A kind of method for planning path for mobile robot under dynamic environment
CN109976343A (en) * 2019-03-26 2019-07-05 电子科技大学 A kind of automatic obstacle avoidance method based on dynamic window method
CN110045737A (en) * 2019-04-28 2019-07-23 南京邮电大学 The path planning of apery Soccer robot based on dynamic window method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11530921B2 (en) * 2018-09-28 2022-12-20 Intel Corporation Method of generating a collision free path of travel and computing system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955273A (en) * 2016-05-25 2016-09-21 速感科技(北京)有限公司 Indoor robot navigation system and method
CN107643752A (en) * 2017-05-09 2018-01-30 清研华宇智能机器人(天津)有限责任公司 Omni-directional mobile robots path planning algorithm based on pedestrian track prediction
CN107065883A (en) * 2017-05-18 2017-08-18 广州视源电子科技股份有限公司 Control method for movement, device, robot and storage medium
CN109782763A (en) * 2019-01-18 2019-05-21 中国电子科技集团公司信息科学研究院 A kind of method for planning path for mobile robot under dynamic environment
CN109976343A (en) * 2019-03-26 2019-07-05 电子科技大学 A kind of automatic obstacle avoidance method based on dynamic window method
CN110045737A (en) * 2019-04-28 2019-07-23 南京邮电大学 The path planning of apery Soccer robot based on dynamic window method

Also Published As

Publication number Publication date
CN112445211A (en) 2021-03-05

Similar Documents

Publication Publication Date Title
CN109540142B (en) Robot positioning navigation method and device, and computing equipment
US20200290202A1 (en) Intelligent robot control method, apparatus, and system, and storage medium
CN111805535B (en) Positioning navigation method, device and computer storage medium
CN105467992B (en) The determination method and apparatus in mobile electronic device path
CN110673614A (en) Mapping system and mapping method of small robot group based on cloud server
CN109000647A (en) Robot indoor navigation method, device, system, equipment and medium
US11797024B2 (en) Methods and systems for configuring vehicle communications
CN112540609A (en) Path planning method and device, terminal equipment and storage medium
CN104914875A (en) Control method and control device for controlling coordinated flight of multiple pieces of flight equipment
CN113500604A (en) Robot control method, device, equipment and storage medium
Park et al. Indoor path planning for an unmanned aerial vehicle via curriculum learning
CN112991440A (en) Vehicle positioning method and device, storage medium and electronic device
WO2021246169A1 (en) Information processing device, information processing system, method, and program
Fabra et al. An UAV swarm coordination protocol supporting planned missions
CN112445211B (en) Robot control method and device, storage medium and electronic device
CN113848893A (en) Robot navigation method, device, equipment and storage medium
CN111684385B (en) Flight control method, control terminal and unmanned aerial vehicle
Baranzadeh A decentralized control algorithm for target search by a multi-robot team
CN112799389A (en) Automatic walking area path planning method and automatic walking equipment
CN114942639A (en) Self-adaptive path planning method and device for mobile robot
CN114571460A (en) Robot control method, device and storage medium
JP2021165875A (en) Control platform and control method
CN112991527A (en) Target object avoiding method and device, storage medium and electronic device
CN111752297B (en) Unmanned aerial vehicle flight control method and related device
CN113478488B (en) Robot repositioning method, apparatus, electronic device and storage medium

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