WO2024103395A1 - 机器人及其行进控制方法,机器人系统及存储介质 - Google Patents

机器人及其行进控制方法,机器人系统及存储介质 Download PDF

Info

Publication number
WO2024103395A1
WO2024103395A1 PCT/CN2022/132901 CN2022132901W WO2024103395A1 WO 2024103395 A1 WO2024103395 A1 WO 2024103395A1 CN 2022132901 W CN2022132901 W CN 2022132901W WO 2024103395 A1 WO2024103395 A1 WO 2024103395A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
path
information
movement control
point
Prior art date
Application number
PCT/CN2022/132901
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 汤恩智能科技(上海)有限公司
Priority to PCT/CN2022/132901 priority Critical patent/WO2024103395A1/zh
Priority to CN202280011678.2A priority patent/CN118382848A/zh
Publication of WO2024103395A1 publication Critical patent/WO2024103395A1/zh

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/24Floor-sweeping machines, motor-driven

Definitions

  • the present application relates to the field of robotics technology, and in particular to a robot, a robot movement control method, a robot system and a computer-readable storage medium.
  • robots are widely used in various occasions to replace manual work. For example, robots clean floor surfaces instead of humans.
  • a robot As a machine device that automatically performs work, a robot usually needs to control the movement of the robot according to a pre-planned path when performing tasks. Taking a cleaning robot as an example, in some scenarios, the cleaning robot needs to move along the planned path in a straight line, turn, or arc according to the pre-set cleaning mode or the road conditions obtained in real time. Therefore, how the robot can accurately follow the planned route while moving is a technical issue that technicians in this field are particularly concerned about.
  • the purpose of the present application is to provide a robot, a robot movement control method, a robot system and a computer-readable storage medium, so as to enable the robot to accurately follow the planned route while moving.
  • the first aspect of the present application provides a robot travel control method, comprising the following steps: in a preset calculation cycle, selecting multiple path points from the obtained planned path to obtain the expected travel information of each path point of the robot; predicting the travel prediction information of each path point of the robot according to the preset prediction cycle, the robot's motion model, the current posture, and the expected travel information of each path point; wherein the robot has left and right driving wheels located at the rear side of its body and at least one passive universal wheel located at the front side of its body; the robot's motion model is a motion model with the midpoint of the axis of the left and right driving wheels as the starting point and the virtual point on the front side of the passive universal wheel as the end point; calculating the expected travel information and the travel prediction information to obtain the travel control information of the first path point among the multiple path points; controlling the left and right driving wheels of the robot according to the travel control information; repeating the above steps to perform the travel control information calculation of the next calculation cycle until
  • the second aspect of the present application provides a robot, comprising: a robot body; left and right driving wheels located at the rear side of the robot body; at least one passive universal wheel located at the front side of the robot body; a control device for controlling the rotation speed of the left and right driving wheels to realize the travel control of the robot following the planned path, and the control device is configured to: in a preset calculation cycle, select multiple path points from the obtained planned path to obtain the expected travel information of the robot passing each path point; predict the travel prediction information of the robot passing each path point based on a preset prediction cycle, the robot's motion model, the current posture, and the expected travel information of each path point; the robot's motion model is a motion model with the midpoint of the axis of the left and right driving wheels as the starting point and the virtual point on the front side of the passive universal wheel as the end point; calculate the expected travel information and the travel prediction information to obtain the travel control information of the first path point among the multiple path points; control the left and right driving wheels of the robot based on the travel control
  • the third aspect of the present application provides a robot system, comprising: a storage device for storing at least one robot movement control program; a path planning device for collecting data on the robot's surrounding environment to generate a planned path; a processing device connected to the storage device and the path planning device, and used to implement the robot movement control method described in the first aspect when executing the at least one robot movement control program.
  • a fourth aspect of the present application provides a computer-readable storage medium storing at least one robot movement control program, wherein the robot movement control program, when executed by a processor of the robot, implements the robot movement control method as described in the first aspect above.
  • the robot, robot travel control method, robot system and computer-readable storage medium provided in the present application obtain the expected travel information and travel prediction information of each path point to be taken in the planned path, and perform calculations in combination with a preset robot motion model to obtain the travel control information of the nearest path point, thereby controlling the rotation speed of the left and right drive wheels of the robot, and through repetition of this process, the robot can achieve precise following of the planned path.
  • FIG. 1 is a schematic diagram showing a cleaning robot according to an embodiment of the present application.
  • FIG. 2 is a flow chart showing a robot movement control method in one embodiment of the present application.
  • FIG. 3 is a schematic diagram showing a planned path acquired by a robot in one embodiment.
  • FIG. 4 is an enlarged schematic diagram of point A in FIG. 3 .
  • FIG. 5 is a schematic diagram showing a method of obtaining expected travel information of each waypoint in one embodiment of the present application.
  • FIG. 6 is a schematic diagram showing a motion model principle of a robot in one embodiment of the present application.
  • FIG. 7 is a schematic block diagram of a robot system in one embodiment of the present application.
  • module may refer to or include an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and/or memory that executes one or more software or firmware programs, a combinational logic circuit, and/or other appropriate hardware components that provide the described functionality, or may be part of these hardware components.
  • ASIC application specific integrated circuit
  • processor shared, dedicated, or group
  • memory that executes one or more software or firmware programs
  • combinational logic circuit and/or other appropriate hardware components that provide the described functionality, or may be part of these hardware components.
  • the chassis of the robot is often set to a circular shape.
  • Common examples include household sweeping robots or commercial hotel service robots, in which the two driving wheels of the robot are respectively located at the two ends of the diameter of its circular chassis, thereby achieving zero-degree rotation in situ.
  • the chassis of some specific robots is set to a rectangle or a nearly rectangular shape, the two driving wheels under the chassis are often respectively located on opposite sides of the center line of the chassis. This is still a circular chassis thinking. The advantage of this is that the robot can obtain better flexibility and turning control.
  • the above-mentioned circular chassis or circular chassis thinking design will affect the specific performance of the robot, such as cleaning robots (floor scrubbing robots or mopping robots, etc.) used in commercial scenarios.
  • cleaning robots floor scrubbing robots or mopping robots, etc.
  • robots need a roughly rectangular chassis to facilitate the placement of more or larger cleaning components (such as rotating wiping discs) under the chassis.
  • the arrangement of the cleaning components will be greatly limited or the size or working area of the cleaning components will need to be sacrificed;
  • the wheels of the robot are respectively installed on the rear and front sides of its chassis, such as two wheels are arranged on opposite sides of the rear side of the chassis, and a steering wheel/steering wheel is arranged in the middle of the front side, and the steering wheel provides driving force and is responsible for steering, and the two wheels on the rear side are driven wheels.
  • the steering amplitude of the robot is controlled by the angular amplitude of the steering wheel located at the front side, when the robot turns (especially when the curvature is large), the front speed of the entire robot will be too fast and it will be unfavorable for its travel stability. For example, the front turning speed is too fast, which is not conducive to obstacle avoidance, or it cannot follow its planned route more accurately.
  • the present application discloses a robot and a method for controlling the movement of the robot.
  • the robot refers to an autonomous mobile device capable of building a map in a physical space, including but not limited to: a family companion mobile device, a medical mobile device, a household cleaning robot, a commercial cleaning robot, and a patrol robot, etc.
  • a service robot used in a commercial scenario to perform a certain task such as a cleaning robot, a patrol robot, or a robot for delivering food/goods
  • a household robot used in a household scenario to perform cleaning or entertainment tasks such as a sweeping robot or a companion robot, etc.
  • the physical space refers to the actual three-dimensional space where the robot is located, which can be described by abstract data constructed in the spatial coordinate system.
  • the physical space includes but is not limited to home residences, public places (such as offices, shopping malls, hospitals, underground parking lots, and banks), etc.
  • the physical space usually refers to indoor space, that is, the space has boundaries in length, width, and height. In particular, it includes physical spaces with large spatial ranges and high scene repetition, such as shopping malls and terminal halls.
  • FIG. 1 is a schematic diagram of a cleaning robot of the present application in one embodiment.
  • the cleaning robot 1 is a device capable of performing one or more tasks of sweeping, vacuuming, and mopping the floor. Accordingly, the cleaning robot is provided with one or more accessories or components such as a cleaning brush for sweeping the floor, a mop, and a water tank for containing clean water or dirty water.
  • the surface to be cleaned refers to the floor surface, including tiles, stones, bricks, wood, concrete, carpets and other common surfaces.
  • the surface to be cleaned may also be referred to as a cleaning surface, a floor, a surface, a walking surface, etc.
  • the plane parallel to the surface to be cleaned i.e., the floor surface
  • the plane perpendicular to the surface to be cleaned i.e., the floor surface
  • a vertical plane or a vertical direction is referred to as a vertical plane or a vertical direction.
  • the forward direction of the cleaning robot during work is defined as the forward direction
  • the opposite direction of the forward direction during work is defined as the backward direction.
  • one side of the forward direction of the cleaning robot during work is defined as the front side or the front end
  • the side of the cleaning robot in the opposite direction away from the front side or the front end is defined as the rear side or the rear end.
  • the left and right sides are distinguished based on the forward direction of the cleaning robot during work.
  • the left driving wheel 11 is arranged at the rear side of the bottom of the body 10 of the cleaning robot 1 and is located on the left side of the cleaning robot
  • the right driving wheel 11 is arranged at the rear side of the bottom of the body 10 of the cleaning robot 1 and is located on the right side of the cleaning robot 1.
  • the left driving wheel 11 and the right driving wheel 11 are coaxially arranged, and are used to drive the cleaning robot 1 forward or backward when driven by their respective motors, or to drive the cleaning robot to turn by utilizing the differential speed of the left and right driving motors.
  • the universal wheel 12 is arranged at the bottom of the body 10 of the cleaning robot 1 and in the middle position of the front side of the cleaning robot 1, and is used to support the front weight of the cleaning robot 1 and cooperate with the differential speed of the left and right driving wheels 11 to passively realize the steering of the cleaning robot 1.
  • the universal wheel 12 is a passive wheel, that is, the universal wheel 12 itself does not have a driving capability, and it can passively roll or turn under the drive of the left and right driving wheels 11 on the rear side of the cleaning robot.
  • the number of universal wheels can be configured accordingly according to the needs of the cleaning robot. For example, on the basis of setting a passive universal wheel at the bottom of the robot body and located in the middle position of the front side of the cleaning robot, another passive universal wheel is also set at the left and right sides of the front side.
  • the cleaning robot 1 may also have a control device (not shown), which is electrically coupled to the left and right drive wheels 11 and is used to control the left and right drive wheels 11.
  • the control device is usually provided with a processor and a memory.
  • the control device is arranged on a circuit board (not shown) in the body, including a memory and a processor, etc.
  • the memory and the processor are electrically connected directly or indirectly to realize data transmission or interaction.
  • the memory and the processor can be electrically connected to each other through one or more communication buses or signal lines.
  • the control device may also include at least one drive unit, such as a left wheel drive unit for driving the left drive wheel and a right wheel drive unit for driving the right drive wheel.
  • the drive unit may include one or more processors (CPU) or microprocessor units (MCU) dedicated to controlling the drive motor.
  • the microprocessor is used to convert the information or data provided by the control device into an electrical signal for controlling the drive motor, and control the speed, steering, etc. of the drive motor according to the electrical signal to adjust the moving speed and moving direction of the cleaning robot.
  • the information or data is such as the deflection angle determined by the control device.
  • the processor in the drive unit can be shared with the processor in the control device or can be set independently.
  • the drive unit is used as a slave processing device
  • the control device is used as a master device
  • the drive unit performs mobile control based on the control of the control device.
  • the drive unit is shared with the processor in the control device.
  • the drive unit receives the data provided by the control device through a program interface.
  • the drive unit is used to control the drive wheel based on the mobile control instruction provided by the control device.
  • the processor includes an integrated circuit chip with signal processing capabilities; or a general-purpose processor, for example, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a discrete gate or transistor logic device, a discrete hardware component, which can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application.
  • DSP digital signal processor
  • ASIC application-specific integrated circuit
  • the general-purpose processor can be a microprocessor or any conventional processor, etc.
  • the memory may include a random access memory (RAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), etc.
  • RAM random access memory
  • ROM read-only memory
  • PROM programmable read-only memory
  • EPROM erasable programmable read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • the cleaning robot body is provided with a plurality of detection devices (unnumbered) for detecting and/or identifying obstacles in the surrounding environment, so as to adjust its own moving direction and/or moving posture according to the received feedback signal to avoid collision with obstacles or falling off a cliff. It should be understood that, according to different actual needs, the number of the detection devices can be further provided at different positions of the robot body according to actual needs to improve the accuracy of detection.
  • the detection device of the robot includes, for example, a laser sensor, an ultrasonic sensor, an infrared sensor, an optical camera (such as a monocular camera or a binocular camera), a depth camera (such as a ToF sensor), a millimeter-wave radar sensor, etc.; wherein, for example, the laser sensor can determine its distance relative to the obstacle based on the time difference between the time it emits the laser beam and the time it receives the laser beam; for another example, the ultrasonic sensor can determine the distance of the robot relative to the obstacle based on the vibration signal of the sound wave emitted by it being bounced back by the obstacle; for another example, the binocular camera device can determine the distance of the robot relative to the obstacle based on the images captured by its two cameras and the principle of triangulation; for another example, the infrared light projector of the ToF (Time of Flight) sensor projects infrared light outward, the infrared light is reflected after encountering the obstacle to be measured, and is received by
  • obstacles refer to objects located on the planned path of the cleaning robot that may block it; the obstacles have different types depending on the environment. For example, in indoor scenes, obstacles may be doors, walls, pillars, stairs, tables, chairs, cabinets, flower pots, electrical appliances and other various objects; in outdoor scenes, obstacles may include buildings, public facilities, pedestrians, etc.
  • the robot uses multiple behavior modes to effectively clean a defined work area, wherein the behavior mode is a control system layer that can operate in parallel.
  • the microprocessor unit is operable to execute a priority arbitration scheme to identify and implement one or more primary behavior modes for any given scenario based on input from the sensor system. For example, a robot route following mode, a turning mode, or a robot's edge-following mode of following the edge of an obstacle, or a robot's wall-following mode of following a wall, or a travel mode of "bow"-shaped travel or "U"-shaped travel according to a preset planned path.
  • FIG. 2 is a flow chart of a robot travel control method in one embodiment of the present application.
  • the robot travel control method of the present application includes the following steps:
  • step S10 is executed.
  • the robot system selects a plurality of path points from the obtained planned path to obtain the expected travel information of the robot passing each path point.
  • FIG3 is a schematic diagram of a planned path obtained by the robot in one embodiment.
  • the planned path obtained by the robot system is a path L that needs to execute a "bow"-shaped moving route.
  • the planned path is pre-planned by the robot and stored in its memory so that the robot can read the planned path when performing a moving task.
  • the planned path is obtained by real-time path learning or real-time path planning.
  • the planned path is obtained by path learning when the robot initially moves in an unfamiliar environment; or when the robot suddenly loses the planned path during movement or encounters an unknown obstacle and needs to regenerate the planned path to avoid the obstacle, the robot can also use its own positioning and map-building capabilities to perform real-time path planning in real time, and use the planned path as the planned path for the current moving task.
  • the planned path is composed of multiple path points, each path point includes its coordinate information and orientation angle.
  • the planned path can be regarded as a point set of n path points or a trajectory line formed by fitting n path points.
  • the planned path obtained by the robot system can be a global path, a local path of a part of the global path, or a path of a certain length intercepted/extracted from the global path.
  • FIG4 is an enlarged schematic diagram of A in FIG3.
  • the robot in the present application includes multiple path points (i, i+1, i+2, i+3, i+4, ... i+n) in the planned path L obtained, and each path point includes its own coordinate information and heading angle information.
  • the information of the path point i obtained by the robot from the planned path includes the coordinate information (x i , y i ) and heading angle information ( ⁇ i ) of the point.
  • the robot selects multiple path points from the obtained planned path, such as selecting 5-10 points in the path as path points.
  • the robot selects 5 path points from the obtained planned path as an example, such as the 5 path points (i, i+1, i+2, i+3, i+4) shown in Figure 4 above.
  • the robot sets the step size of the path points based on the number of preset 5 path points and the overall curvature of the planned path. For example, in a spiral walking mode, when the planned path obtained by the robot is a path with a larger curvature, it sets the step size of the path points to be relatively small based on the determined number of 5 path points, such as selecting path points with a step size of 5 cm.
  • the robot sets the step length of the path points according to the number of the preset five path points and the local curvature of the planned path. For example, in the "bow"-shaped walking mode, when the robot obtains a local planned path as a path with a larger curvature (such as a turn), and the local planned path at the other end is a path with a smaller curvature (such as an approximate straight line), then, according to the number of the determined five path points, the step length of the path points on the path with a larger curvature is set to be relatively small, such as selecting a path point with a step length of 5 cm as a path point; according to the number of the determined five path points, the step length of the path points on the path with a smaller curvature is set to be relatively large, such as selecting a path point with a step length of 10 cm as a path point. It should be understood that the 5 cm step length or 10 cm step length exemplified here is intended to illustrate the relative distance of the step lengths between path points
  • the robot sets the step length of the path points according to the preset number of 5 path points and its preset speed. For example, when the robot moves in a preset uniform speed mode, it can set the step length of the path points according to the preset speed, such as selecting path points with a step length of 5 cm as one path point.
  • the robot determines the step length of the path points from the planned path according to the number of the preset five path points and the robot's real-time speed. For example, when the robot is traveling in a relatively low-speed mode, the path points are selected with a step length of 5 cm as one path point, and when the robot is traveling in a relatively high-speed mode, the path points are selected with a step length of 10 cm as one path point.
  • the process of the robot selecting the path point step length of multiple path points from the obtained planned path is dynamically adjusted, such as the path point step length of 5 path points is dynamically adjusted based on the curvature change of the current local planned path obtained, or the current real-time speed change of the robot.
  • the calculation of the travel control information of the first path point among the multiple path points needs to be completed within one calculation cycle. That is, the robot selects multiple path points from the obtained planned path to obtain the expected travel information of each path point, and all calculations of the process until it obtains the travel control information of the left and right driving wheels are limited to a preset time length, and this preset time length is one calculation cycle.
  • the preset time length is less than the time taken by the robot to reach the next path point from one path point, that is, when the robot moves from the current path point to the next path point, it needs to complete at least one calculation cycle before reaching the next path point.
  • the robot reaches the next path point from the current path point it needs to complete multiple calculation cycles of calculations to continuously update the calculation results in order to obtain more accurate travel control information.
  • the computing process of obtaining the travel control information of the first path point among the multiple path points in a preset computing cycle is performed under a constraint condition.
  • the constraint condition includes the speed range, heading angle range, and turning range allowed when the robot passes through the path point.
  • the setting of the speed range allowed when the robot passes through the path point depends on the constraint range of the minimum speed and the maximum speed given by the robot control system.
  • the robot control system limits the robot's travel speed to no more than 4m/s; that is, the robot control system limits the robot's travel speed range to [0m/s, 4m/s]; the turning range allowed when the robot passes through the path point is [-90°, 90°]; that is, the maximum turning of the robot during movement shall not exceed 180°; the heading angle range allowed when the robot passes through the path point is [-180°, 180°], that is, the heading angle allowed when the robot passes through the path point shall not exceed 360°.
  • the robot system obtains the expected travel information of each path point that the robot is about to pass through from the obtained planned path.
  • the expected travel information refers to the ideal state of the robot when the robot is expected to travel to each path point in the planned path, including information such as the robot's posture, speed and steering angle.
  • the expected movement information of the robot when it is about to pass each path point includes expected posture information and expected control information; wherein, the expected posture information includes the coordinates and heading angle of the robot when it passes the path point, and the expected control information includes the expected speed and expected steering angle of the robot when it passes the path point.
  • the expected posture information of the robot when it passes a certain path point is the coordinates (x ref , y ref ) of the robot reaching the path point and the heading angle ( ⁇ ref ) of the robot reaching the path point;
  • the expected control information of the robot when it passes the path point is the speed (v ref ) and steering angle ( ⁇ ref ) of the robot reaching the path point.
  • Figure 5 is a schematic diagram of obtaining the expected travel information of each waypoint in one embodiment of the robot travel control method of the present application.
  • each waypoint in the planned path has the coordinate information and heading angle information of the point, such as the coordinate information and heading angle information of the five waypoints (i, i+1, i+2, i+3, i+4) shown in Figure 4, the robot can regard the coordinate information and heading angle information of the above-mentioned waypoints as the expected posture information.
  • the robot system can obtain the expected posture information of the robot passing through each waypoint by selecting multiple waypoints from the planned path.
  • the robot system also needs to obtain the expected speed and expected turning angle of the robot passing through each path point.
  • the robot system can obtain the expected speed (v ref ) of the robot from the planned path pre-stored in the memory.
  • the robot system may obtain the expected speed (v ref ) of the robot from the planned path generated in real time by the path planning layer; still taking path point i as an example, the robot system also needs to obtain the expected speed of the robot passing through the path point i, expressed as v refi .
  • step S11 the robot system predicts the travel prediction information of the robot passing each path point based on a preset prediction cycle, the robot's motion model, the current posture, and the expected travel information of each path point; wherein the robot has left and right driving wheels located on the rear side of its body and at least one passive universal wheel located on the front side of its body; the robot's motion model is a motion model with the midpoint of the axis of the left and right driving wheels as the starting point and the virtual point on the front side of the passive universal wheel as the end point.
  • the present application exemplifies a cleaning robot 1 in which a passive universal wheel 12 is disposed at the bottom of the robot body 10 and located in the middle position of the front side of the robot body 1 , and is used to support the weight of the front of the robot body 10 and cooperate with the differential of the left and right drive wheels 11 located at the rear side to enable the robot body 10 to perform steering.
  • the passive universal wheel 12 and the midpoints of the axes of the left and right drive wheels 11 of the robot are collinear.
  • the control device of the cleaning robot is usually arranged on the front side of the robot body, and is used to control the operation of various components on the cleaning robot body.
  • the control device can be used to control the cleaning robot to execute the travel control method disclosed in any embodiment of the present application, and can also execute path planning and control of the working mode, and use navigation technology to perform positioning and mapping, navigation, etc.
  • the control device includes a memory (such as a hard disk, a flash memory, a random access memory) and a processor (such as a central processing unit, an application processor), etc.
  • the front side of the robot is also provided with multiple or multiple sensor devices for sensing obstacles, landmarks on the robot's route or for target detection or identification. Furthermore, as shown in FIG.
  • the side brush assembly of the cleaning robot 1 is arranged at the front edge of the bottom of its chassis, and the side brush assembly may include a cleaning side brush 13 and a side brush motor for controlling the cleaning side brush 13.
  • the number of the cleaning side brush 13 can be one, which is arranged on one side of the front part of the cleaning robot, or two, which are arranged on opposite sides of the front part of the cleaning robot, respectively.
  • the cleaning side brush 13 can be a rotating cleaning side brush, which can rotate under the control of the side brush motor.
  • the passive universal wheel 12 is used to support the front weight of the cleaning robot. It is arranged at the bottom of the main body 10 of the cleaning robot 1 and is located in the middle position of the front side of the cleaning robot 1. There is still a certain distance between the projection point of the universal wheel 12 and the front edge of the robot body. When the cleaning robot turns, it is affected by the linear velocity (linear velocity) of the turning of the body.
  • the driving wheel 11 on the rear side of the cleaning robot, the passive universal wheel 12 on the front side of the cleaning robot, and the front edge of the body respectively present different turning speeds (this phenomenon is more obvious on the route with larger curvature).
  • the motion model of the robot is a motion model with the midpoint of the axis of the left and right driving wheels as the starting point and the virtual point on the front side of the passive universal wheel as the end point.
  • the motion model of the robot is a motion model that takes the midpoint of the axis of the left and right driving wheels as the starting point and takes the virtual point in front of the axial midpoint of the left and right universal wheels as the end point.
  • the movement of the robot in the vertical direction is not considered here, that is, the movement of the robot is regarded as a movement on a two-dimensional plane.
  • the left and right drive wheels on the rear side of the robot have the same steering angle and rotation speed at any time, then the movement of the left and right drive wheels of the robot can be combined into one wheel to describe (taking the midpoint of the axis of the left and right drive wheels of the robot); in addition, in the motion model, it is assumed that the robot's travel speed changes slowly, the transfer of front and rear axle loads is ignored, and the robot body is regarded as a rigid system.
  • Figure 6 is a schematic diagram of the motion model principle of the robot in one embodiment of the present application.
  • the moving robot model can be simplified into a rigid body structure moving on a two-dimensional plane.
  • the state of the robot at any time is determined by its position (i.e., x, y coordinates), posture (i.e., heading angle ⁇ ), speed (v), and steering angle ( ⁇ ).
  • the present application selects a virtual point P in advance on the front side of the passive universal wheel, that is, the virtual point P is located between the passive universal wheel and the front edge of the robot, and the virtual point is close to the front edge of the robot relative to the passive universal wheel. Then, the starting point o (x 0 , y 0 ) of the motion model of the robot is located at the center of the rear axle, and the end point P (x p , y p ) of the motion model of the robot is located at the virtual point on the front side of the passive universal wheel.
  • the rigid body structure formed by the line between the starting point (x 0 , y 0 ) and the end point P (x p , y p ) is used as the constructed motion model.
  • the coordinate axis is parallel to the robot body.
  • R represents the turning radius of the robot's motion model
  • d represents the line distance between the starting point ( x0 , y0 ) and the end point P ( xp , yp ) of the robot's motion model
  • l represents the wheelbase between the left drive wheel and the right drive wheel
  • vl represents the speed of the left drive wheel
  • vr represents the speed of the right drive wheel
  • represents the heading angle of each coordinate point in the motion model
  • represents the steering angle of the virtual point P located in front of the passive universal wheel.
  • the constructed motion model will keep turning in place with a turning radius R.
  • the robot can be controlled to move according to these two control quantities.
  • step S11 when the robot system performs the above prediction calculation, it is necessary to complete the prediction calculation within a preset prediction period, and the prediction period is a time.
  • the robot system obtains its own motion model, the current position (position and heading angle) of the robot, and the expected travel information of each of the multiple path points selected in step S10, and performs prediction calculation to predict the travel prediction information of the robot passing each path point.
  • the robot system obtains its own motion model, the current position ( xi-1 , yi-1 ) of the robot, the current heading angle ( ⁇ i -1 ), and the expected travel information ( xref , yref , ⁇ ref , vref , ⁇ ref ) of each of the multiple path points selected above, and performs prediction calculation to obtain the travel prediction information ( xi , yi , ⁇ i , vi , ⁇ i ) of the robot passing through path point i.
  • the travel prediction information refers to the possible future state of the robot when it travels to the path point of the planned path obtained by predictive calculation, including the position and posture, speed and steering angle of the robot when it travels to the path point of the planned path in the future.
  • the travel prediction information of each path point of the robot's future path includes predicted posture information and predicted control information; wherein, the predicted posture information includes the predicted coordinates and predicted heading angle of the robot passing the path point obtained by predictive calculation, and the predicted control information includes the predicted speed and predicted steering angle of the robot passing the path point obtained by predictive calculation, for example, the predicted posture information of the robot passing the path point i obtained by predictive calculation is the predicted coordinates (x i , y i ) of the robot reaching the path point i and the predicted heading angle ( ⁇ i ) of the robot reaching the path point i; the predicted control information of the robot passing the path point i is the predicted speed (v i ) and predicted steering angle ( ⁇ i )
  • step S12 the robot system performs calculations on the acquired travel expectation information and the acquired travel prediction information to obtain travel control information of the first path point among the multiple path points.
  • the step of the robot system calculating the travel control information of the multiple path points includes: square and sum the differences between the expected travel information and the predicted travel information, and determining the travel control information when the minimum value is obtained.
  • the robot system calculates the five path points (i, i+1, i+2, i+3, i+4) shown in Figure 4 based on the multiple path points selected in step S10. Specifically, the expected travel information and the predicted travel information of each of the five path points are simultaneously subtracted and squared (the square of the difference is 0 when the value is minimum), and then summed up.
  • the array when J is minimized in the objective function i.e., argmin J
  • the array A is the travel control information of each of the five path points (i, i+1, i+2, i+3, i+4), and the first group in the array A (the control information output of the first path point i) is used as the travel control information (v ic , ⁇ ic ) of the first path point (i.e., path point i).
  • the travel control information includes speed and steering angle.
  • the travel control information of the path point i from the first group in the array A can be expressed as (v ic , ⁇ ic ).
  • the step of selecting the travel control information of the first path point from the travel control information to control the left and right driving wheels of the robot includes: the travel control information of the first path point among the plurality of path points is the travel control information of the virtual point on the front side of the passive universal wheel.
  • the travel control information (v ic , ⁇ ic ) of the path point i obtained by calculation is mapped to the travel control information of the virtual point on the front side of the passive universal wheel in the motion model of the robot, which is used as the input condition for calculating the control amount of the left and right driving wheels on the rear side of the robot body.
  • the control amount of the left and right driving wheels on the rear side of the robot body is obtained by calculation based on the motion model and the travel control information of the first path point.
  • the travel control information (v ic , ⁇ ic ) of the virtual point corresponding to the front side of the passive universal wheel of the robot is obtained by calculation, and the calculation is performed in combination with the motion model of the robot shown in Figure 6 above to obtain the final rotational speed (v l , v r ) of the left and right driving wheels on the rear side of the robot body, thereby realizing the control of the robot's travel speed and steering angle.
  • the following conditions are considered when actually performing the calculation: the wheelbase l between the left driving wheel and the right driving wheel, the rotational angular velocity w of the robot body, the turning radius R of the robot's motion model, the line distance d between the starting point ( x0 , y0 ) and the end point P ( xp , yp ) of the robot's motion model, and other conditions.
  • the above conditions are combined with the motion model to perform the calculation, and then the speed control amount ( vil ) of the left driving wheel on the rear side of the robot body when it moves toward the path point i, the speed control amount ( vir ) of the right driving wheel on the rear side of the robot body when it moves toward the path point i, and the steering angle control amount ( ⁇ ir ) of the virtual point on the front side of the robot's passive universal wheel achieved through the differential speed ( vil - vir ) of the left and right driving wheels can be obtained. In this way, the robot can be controlled to accurately follow each path point when moving on the planned path.
  • the step of calculating the travel control information of the multiple path points includes: when it is determined that the calculation performed in the calculation cycle has reached a preset number of iterations or a preset calculation time, but the optimal travel control information has not been obtained, the currently optimized travel control information is output to ensure the smooth operation of the robot system.
  • the robot system can calculate the travel control information of the multiple path points multiple times in one calculation cycle, and temporarily store a group of travel control information of the first path point each time it is calculated, until a group of travel control information arrays that make the objective function J the minimum value is determined, and the control information of the first path point (i.e., path point i) is output; in actual implementation, if the robot system determines that the calculation performed in the calculation cycle has reached a preset number of iterations (e.g., 30 or 50 iterations), or has reached a preset calculation time (e.g., more than 0.2s or 0.5s of the time period), but still does not make the objective function (e.g., represented as J) reach the minimum value, in order to ensure that the left and right driving wheels of the robot can obtain the speed control amount and the steering angle control amount in time, the robot system will select the latest calculation result value from the array A of the travel control information of the multiple path points that has been currently obtained
  • a preset number of iterations e.
  • the travel control information calculated in the current cycle is used as the initial value of the travel control information calculation of the next calculation cycle to accelerate the calculation speed of the next calculation cycle.
  • the travel control information of the path point will be used as the initial value when calculating the travel control information of the path point to participate in the calculation of the next calculation cycle, which not only saves computing resources, but also improves the accuracy of the calculation results.
  • the conditions involved in the calculation also include the predicted acceleration information of the robot.
  • the predicted acceleration information is obtained by the predicted speed difference between two adjacent path points, such as path point i and the adjacent path point i+1 of the path point i, that is, the predicted acceleration information is calculated by summing the squares of (vi +1 - vi ) to obtain the predicted acceleration information.
  • the robot system In the movement control of the robot, when the control system does not issue an acceleration command to the driving wheels of the robot, the robot system expects the robot's speed to remain unchanged. Therefore, in this embodiment, the expected acceleration of the robot passing each path point is pre-set to 0.
  • the conditions involved in the calculation also include the change amplitude of the predicted steering angle of the robot.
  • the change amplitude information of the predicted steering angle is obtained by the difference between the predicted steering angles of two adjacent path points, such as path point i and the adjacent path point i+1 of the path point i, that is, the method of calculating the change amplitude of the predicted steering angle is to sum the squares of ( ⁇ i+1 - ⁇ i ) to obtain the information of the predicted steering angle change amplitude.
  • the robot system In the robot's movement control, when the control system does not issue a steering command to the robot's drive wheels, the robot system expects the robot's steering angle to remain unchanged. Therefore, in this embodiment, the change amplitude of the expected steering angle of the robot passing each path point is pre-set to 0°.
  • the step of calculating the travel control information of the plurality of path points by the robot system in the robot travel control method further includes the step of respectively intervening the weights of the position, heading angle, speed, and steering angle of the path points.
  • the calculation weight of a control quantity can also be adjusted according to the calculation requirements of the robot system for a certain control quantity during the calculation process. For example, in the travel control of the robot, the robot system needs to calculate the position (i.e., coordinates x i , y i ) of each path point it follows more accurately. In this embodiment, the calculation weight of the position of the path point is adjusted to obtain a more accurate calculation value.
  • the robot system individually adjusts the weight of one or more parameters of the heading angle ( ⁇ i ), speed (v i ), and steering angle weight ( ⁇ i ) of each path point to be followed as needed. In other embodiments, the robot system adjusts the weight of the predicted acceleration information or/and the predicted steering angle change amplitude of each path point to be followed as needed.
  • the robot and robot travel control method provided by the present application, by presetting a motion model with the midpoint of the axis of the left and right driving wheels of the robot as the starting point and the virtual point on the front side of the passive universal wheel as the end point, obtains the expected travel information and travel prediction information of each path point to be taken in the planned path within one calculation cycle, and performs calculations in combination with the above-mentioned preset robot motion model to obtain the travel control information of the nearest path point, and maps the control information to the travel control information of the virtual point on the front side of the passive universal wheel in the robot's motion model, which is used as the input condition for calculating the control amount of the left and right driving wheels on the rear side of the robot body, thereby controlling the rotation speed of the left and right driving wheels of the robot, and through the repetition of this process, the robot can accurately follow the planned path.
  • the present application particularly solves the problem of accurate control of the route following and travel of robots with rectangular chassis, with the left and right wheels on the rear side as driving wheels and the universal
  • FIG. 7 is a principle block diagram of a robot system in an embodiment of the present application.
  • the robot system 2 includes a path planning device 20, a storage device 21, and a processing device 22.
  • the robot system is, for example, a control system of a cleaning robot.
  • the control system of the cleaning robot may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently.
  • the components shown in the figure can be implemented by hardware or software, or a combination of software and hardware.
  • the path planning device 20 is used to collect data about the robot's surrounding environment to generate a planned path; in the embodiment, when the robot performs a moving task, its control system needs to first obtain the planned path generated by the path planning device 20 so that the robot can move along the planned path. As shown in FIG3 , the planned path obtained by the robot system is the path L that needs to execute the "bow"-shaped moving route.
  • the path planning device 20 is used to collect data about the robot's surrounding environment to generate a planned path, which can be pre-planned and stored in its memory so that the robot can read the planned path when performing a moving task.
  • the planned path is obtained by the path planning device 20 through real-time path learning or real-time path planning.
  • the path planning device 20 obtains the planned path through path learning when the robot initially moves in an unfamiliar environment; or when the robot suddenly loses the planned path during movement or encounters an unknown obstacle and needs to regenerate the planned path to avoid the obstacle, the robot can also use its own positioning and map-building capabilities to enable the path planning device 20 to perform real-time path planning in real time, and use the planned path as the planned path for the current moving task.
  • the planned path is composed of multiple path points, each path point includes its coordinate information and orientation angle.
  • the planned path can be regarded as a point set of n path points or a trajectory line formed by fitting n path points.
  • the planned path obtained by the robot system can be a global path, a local path of a part of the global path, or a path of a certain length intercepted/extracted from the global path.
  • the robot in the present application obtains a plurality of path points (i, i+1, i+2, i+3, i+4, ... i+n) from the planned path L, and each path point contains its own coordinate information and heading angle information.
  • the information of the path point i obtained by the robot from the planned path includes the coordinate information (x i , y i ) and heading angle information ( ⁇ i ) of the point.
  • the storage device is used to store at least one robot travel control program; in an embodiment, the storage device 21 is used to store at least one program, and the at least one program can be executed by the processing device 22 to coordinate the storage device 21 and the path planning device 20 to implement the robot travel control method described in any of the above embodiments.
  • the storage device 21 includes but is not limited to: read-only memory (ROM), random access memory (RAM), non-volatile RAM (NVRAM).
  • ROM read-only memory
  • RAM random access memory
  • NVRAM non-volatile RAM
  • the storage device 21 includes a flash memory device or other non-volatile solid-state storage device.
  • the storage device 21 may also include a memory away from one or more processing devices 22, such as a network attached memory accessed via an RF circuit or an external port and a communication network, wherein the communication network may be the Internet, one or more intranets, local area networks, wide area networks, storage area networks, etc., or a suitable combination thereof.
  • the memory controller may control access to the memory by other components of the device such as the CPU and peripheral interfaces.
  • the processing device 22 is connected to the storage device 21 and the path planning device 20, and is used to implement the robot travel control method shown in Figure 2 above when executing the at least one robot travel control program.
  • the processing device 22 includes one or more processors.
  • the processing device 22 can be operative to perform data read and write operations with the storage device 21.
  • the processing device 22 includes one or more general-purpose microprocessors, one or more special-purpose processors (ASICs), one or more digital signal processors (Digital Signal Processors, referred to as DSPs), one or more field programmable gate arrays (Field Programmable Gate Arrays, referred to as FPGAs), or any combination thereof.
  • the processor can be used to read and execute computer-readable instructions.
  • the processor can mainly include a controller, an operator and a register.
  • the controller is mainly responsible for instruction decoding and issuing control signals for the operations corresponding to the instructions.
  • the operator is mainly responsible for performing fixed-point or floating-point arithmetic operations, shift operations, and logical operations, etc., and can also perform address operations and conversions.
  • the register is mainly responsible for storing register operands and intermediate operation results temporarily stored during the execution of instructions.
  • the hardware architecture of the processor may be an application specific integrated circuit (ASIC) architecture, a MIPS architecture, an ARM architecture, or a NP architecture, etc.
  • ASIC application specific integrated circuit
  • the processor may include one or more processing units, for example, the processor may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, and/or a neural-network processing unit (neural-network processing unit, NPU), etc.
  • different processing units may be independent devices or integrated in one or more processors.
  • the present application also provides a computer storage medium, a computer-readable storage medium, characterized in that at least one robot movement control program is stored therein, and when the robot movement control program is executed by the robot's processor, the robot movement control method described in Figure 2 and related embodiments is implemented.
  • the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium.
  • the technical solution of the present application or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a mobile robot equipped with the storage medium to execute all or part of the steps of the method described in each embodiment of the present application.
  • the computer storage medium may include a read-only memory, a random access memory, an EEPROM, a CD-ROM or other optical disk storage device, a disk storage device or other magnetic storage device, a flash memory, a USB flash drive, a mobile hard disk, or any other medium that can be used to store a desired program code in the form of an instruction or data structure and can be accessed by a computer.
  • any connection can be appropriately referred to as a computer-readable medium.
  • Disk and disc includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.
  • the functions described in the computer program of the robot travel control method described in the present application can be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, these functions can be stored or transmitted as one or more instructions or codes to a computer-readable medium.
  • the steps of the method or algorithm disclosed in the present application can be embodied in a processor-executable software module, wherein the processor-executable software module can be located on a tangible, non-temporary computer storage medium.
  • a tangible, non-temporary computer storage medium can be any available medium that a computer can access.
  • each box in the flowchart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function.
  • the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved.
  • each box in the block diagram and/or the flowchart, and the combination of the boxes in the block diagram and/or the flowchart can be realized by a dedicated hardware-based system that performs a specified function or operation, or can be realized by a combination of dedicated hardware and computer instructions.

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

一种机器人、机器人行进控制方法、机器人系统及计算机可读存储介质,其中机器人行进控制方法包括:获取规划路径中即将进行的每一路径点的行进期望信息及行进预测信息,并结合预设的机器人运动模型执行计算,获取最近路径点的行进控制信息,进而控制机器人的左、右驱动轮的转速,并通过这一过程的重复,实现机器人对规划路径的精准跟随。

Description

机器人及其行进控制方法,机器人系统及存储介质 技术领域
本申请涉及机器人技术领域,尤其涉及一种机器人、机器人行进控制方法,机器人系统及计算机可读存储介质。
背景技术
随着自动化技术和人工智能的发展,机器人被广泛应用于各类场合中以替代人工工作,例如,机器人代替人工进行地板表面的清洁。
机器人作为自动执行工作的机器装置,在执行任务中通常需要依据预先规划的路径控制机器人的行进。以清洁机器人为例,在一些场景中,清洁机器人依据预先设置的清洁模式,或者根据实时获取的路况,需要以直行、转向、或者弧线行进等方式沿着规划路径行进。因此,机器人在行进中如何精准地跟随规划路线是本领域技术人员尤为关注的技术问题。
发明内容
鉴于以上所述相关技术的缺点,本申请的目的在于提供一种机器人、机器人行进控制方法,机器人系统及计算机可读存储介质,用于实现机器人在行进中精准地跟随规划路线。
为实现上述目的及其他相关目的,本申请第一方面提供一种机器人行进控制方法,包括以下步骤:在预设的计算周期中,从获得的规划路径中选择多个路径点以获取所述机器人途径每一路径点的行进期望信息;依据预设的预测周期、所述机器人的运动模型、当前位姿、以及各所述路径点的行进期望信息,预测所述机器人途径每一路径点的行进预测信息;其中,所述机器人具有位于其本体后侧的左、右驱动轮和位于其本体前侧的至少一被动万向轮;所述机器人的运动模型为以左、右驱动轮的轴线中点为起点,以所述被动万向轮前侧的虚拟点为终点的运动模型;计算所述行进期望信息及所述行进预测信息以获取所述多个路径点中第一路径点的行进控制信息;依据所述行进控制信息控制所述机器人的左、右驱动轮;重复上述步骤以执行下一计算周期的行进控制信息计算,直至机器人完成所述规划路径的行进。
本申请第二方面提供一种机器人,包括:机器人本体;位于所述机器人本体后侧的左、右驱动轮;位于所述机器人本体前侧的至少一被动万向轮;控制装置,用于控制所述左、右驱动轮的转速以实现所述机器人跟随规划路径的行进控制,所述控制装置被配置为:在预设 的计算周期中,从获得的规划路径中选择多个路径点以获取所述机器人途径每一路径点的行进期望信息;依据预设的预测周期、所述机器人的运动模型、当前位姿、以及各所述路径点的行进期望信息,预测所述机器人途径每一路径点的行进预测信息;所述机器人的运动模型为以左、右驱动轮的轴线中点为起点,以所述被动万向轮前侧的虚拟点为终点的运动模型;计算所述行进期望信息及所述行进预测信息以获取所述多个路径点中第一路径点的行进控制信息;依据所述行进控制信息控制所述机器人的左、右驱动轮;重复上述步骤以执行下一计算周期的行进控制信息计算,直至所述机器人完成所述规划路径的行进。
本申请第三方面提供一种机器人系统,包括:存储装置,用以存储至少一个机器人行进控制程序;路径规划装置,用于采集所述机器人周围环境的数据以生成规划路径;处理装置,与所述存储装置及所述路径规划装置相连,用于执行所述至少一个机器人行进控制程序时实现如上述第一方面所述的机器人行进控制方法。
本申请第四方面提供一种计算机可读存储介质,存储有至少一种机器人行进控制程序,所述机器人行进控制程序被机器人的处理器运行时实现如上述第一方面所述的机器人行进控制方法。
综上所述,本申请提供的机器人、机器人行进控制方法,机器人系统及计算机可读存储介质,获取规划路径中即将进行的每一路径点的行进期望信息及行进预测信息,并结合预设的机器人运动模型执行计算,获取最近路径点的行进控制信息,进而控制机器人的左、右驱动轮的转速,并通过这一过程的重复,实现机器人对规划路径的精准跟随。
附图说明
本申请所涉及的具体特征如所附权利要求书所显示。通过参考下文中详细描所述的示例性实施方式和附图能够更好地理解本申请所涉及发明的特点和优势。对附图简要说明如下:
图1显示为本申请的清洁机器人在一实施例中的示意图。
图2显示为本申请机器人行进控制方法在一实施例中的流程图。
图3显示为在一实施例中机器人获取的规划路径示意图。
图4显示为图3中A处放大示意图。
图5显示为本申请在一实施例中获得各途经点行进期望信息的示意图。
图6显示为本申请在一实施例中机器人的运动模型原理示意图。
图7显示为本申请在一实施例中机器人系统的原理框图。
具体实施方式
以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效。在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本公开的精神和范围的情况下进行模块或单元组成、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的权利要求所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。
可以理解,如本文所使用的,术语“模块”可以指代或者包括专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用、或群组)和/或存储器、组合逻辑电路、和/或提供所描述的功能的其他适当硬件组件,或者可以作为这些硬件组件的一部分。
在现有技术中,机器人在工作场景中常需要依据其规划的路线或者因绕障需求而进行转弯或转向,为了获得更好的转弯控制,例如更小的转弯半径,或者更快的转弯灵活度,机器人的底盘常常被设置成圆形,常见地例如家庭用扫地机器人或者商用的酒店服务机器人等,机器人的两个驱动轮分别位于其圆形底盘的直径两端,进而实现零度角的原地旋转,即便有些特定的机器人的底盘被设置成矩形或者近似长方形,其底盘下的两个驱动轮也常常分别位于底盘中线的相对两侧,这仍是一种圆形底盘思维,这样做的好处是可以使得机器人获得更好的灵活性以及转弯控制。
对于一些具有特定功能的机器人而言,上述的圆形底盘或圆形底盘思维的设计将会影响该机器人的特定性能,比如应用在商业场景的清洁机器人(洗地机器人或擦地机器人等),为了获得更大的有效工作面积,该类机器人需要一个大致呈矩形的底盘以便于将更多或更大的清洁组件(比如旋转擦盘)设置在底盘下。在这种情况下,如果仍将两侧驱动轮设置在底盘中部的轴向上,则会大大限制了清洁组件的布置或者需要牺牲清洁组件的尺寸或工作面积;在已有设计中,为了给位于底盘中部清洁组件预留更大的安装空间,机器人的车轮分别被安装在其底盘的后侧及前侧,比如底盘后侧的相对两侧设置两个车轮,前侧中部设置一舵机轮/转向轮,由所述舵机轮提供驱动力并负责转向,后侧的两个车轮则为从动轮。这类设计虽然能够给机器人底盘中部预留更多空间,但对清洁机器人而言,其边刷往往被布置在机器人前方(通常位于机身前方的左侧或右侧),而由于机器人前侧已被舵机轮的驱动机构/装置占用了一部分空间,将影响例如边刷等清洁部件充分发挥其清洁功能;再者,所述舵机轮由于即 要承担机器人的转向,又要承担机器人本体前侧重量支撑和驱动整机运动的拖拽动力,进而要求前方的舵机轮尽可能在机身前侧的受力点上,换言之,基于上述限制,前侧舵机轮不易于被设置在更靠前的位置。如此一来,由于机器人的转向幅度由位于其前侧舵机轮转角幅度控制,在机器人转弯时(特别是曲率较大转向时)将会使得整个机器人的前部速度过快而不利于其行进的稳定性,比如因前部转弯速度过快不利于避障,或者不能更精准地跟随其规划的路线。
为此,如何在使得机器人底盘各部件(比如驱动轮、万向轮以及清洁组件)分布更合理的物理条件下,又能更加精准地控制机器人的行进路线(比如实现更精准的路线跟随控制或转向控制)是本申请要解决的技术问题。
本申请公开一种机器人及所述机器人行进控制方法,在本申请中,所述机器人指的是在物理空间中具有构建地图能力的自主移动设备,包括但不限于:家庭陪伴式移动设备、医疗用移动设备、家用清洁机器人、商用清洁机器人、以及巡逻式机器人等中的一种或多种。例如为应用在商用场景中执行某种任务的服务型机器人(比如清洁机器人、巡视机器人、或送餐/送物品的机器人)或应用在家庭场景中执行清洁或娱乐任务的家庭机器人(比如扫地机器人或陪伴机器人等)。
所述物理空间指的是所述机器人所在的实际三维空间,可由在所述空间坐标系中构建的抽象数据进行描述。例如,所述物理空间包括但不限于家庭住所、公共场所(例如办公场所、商场、医院、地下停车场、以及银行)等。对于机器人而言,所述物理空间通常指的是室内的空间,即空间在长、宽、和高等方向上存在边界。特别包含例如商场、候机大厅等空间范围大、场景重复度高等特点的物理空间。
请参阅图1,显示为本申请的清洁机器人在一实施例中的示意图。示例性地,所述清洁机器人1例如能够执行清洁面的扫地、吸尘、及拖地等中的一种或多种任务的设备。相应地,所述清洁机器人设置有例如用于扫地的清洁刷、拖布、用于容纳清水或污水的水箱等中的一种或多种配件或组件。
所述待清洁面是指地板表面,包括瓷砖、石材、砖块、木材、混凝土、地毯及其他常见表面。所述待清洁面也可被称之为清洁面、地面、表面、行走表面等。需要说明的是,在本申请中,为了便于描述和理解,将与所述待清洁面即地板表面平行的平面称之为水平面或水平方向,将于所述待清洁面即地板表面垂直的平面称之为竖直平面或竖直方向。
进一步地,为了便于描述和理解,在本申请中,将所述清洁机器人在工作中前进方向定 义为前向,对应地,在工作中前进方向的反方向定义为后向。应理解的,所述清洁机器人在工作中前进方向的一侧定义为前侧或前端,远离所述前侧或前端的相反方向的清洁机器人的一侧定义为后侧或后端。为了便于区分左侧和右侧,以所述清洁机器人在工作中前进方向为基准区分左和右。
在实施例中,所述左驱动轮11设置在所述清洁机器人1的本体10底部的后侧并位于所述清洁机器人的左侧,所述右驱动轮11设置在所述清洁机器人1的本体10底部的后侧并位于所述清洁机器人1的右侧,所述左驱动轮11和右驱动轮11同轴设置,用于在被各自的电机驱动时,驱动所述清洁机器人1进行前进或后退,或者利用左、右驱动电机的差速驱动所述清洁机器人进行转向。
在一实施例中,所述万向轮12设置在所述清洁机器人1的本体10底部且位于清洁机器人1前侧的中间位置,用于在支撑所述清洁机器人1前部重量并配合所述左、右驱动轮11的差速被动地为清洁机器人1实现转向,在本申请中,所述万向轮12为被动轮,即,所述万向轮12本身不具备驱动能力,其可以在清洁机器人后侧的左、右驱动轮11的驱动下进行被动滚动或转向。
在另一实施例中,所述万向轮为两个,分别设置在所述清洁机器人的本体底部且位于清洁机器人1前侧的左侧及右侧的位置,用于在支撑所述清洁机器人前部重量并配合所述左、右驱动轮11的差速被动地为清洁机器人实现转向。应理解的,在其他的实施例中,所述万向轮的数量可以依据清洁机器人的需求做相应的配置,比如,在机器人本体底部且位于清洁机器人前侧的中间位置设置一个被动万向轮的基础上,还在其前侧的左侧及右侧的位置分别再设置一个被动万向轮。
所述清洁机器人1还可具有控制装置(未示出),与所述左、右驱动轮11电性耦接,用于控制所述左、右驱动轮11。所述控制装置通常设有处理器和存储器。在一些实施例中,控制装置设置在所述本体内的电路主板(未示出)上,包括存储器和处理器等,所述存储器和处理器之间直接或间接地电性连接,以实现数据的传输或交互。例如,存储器和处理器相互之间可通过一条或多条通讯总线或信号线电性连接。
所述控制装置还可以包括至少一个驱动单元,例如用于驱动左侧驱动轮的左轮驱动单元以及用于驱动右侧驱动轮的右轮驱动单元。所述驱动单元可以包含专用于控制驱动电机的一个或多个处理器(CPU)或微处理单元(MCU)。例如,所述微处理单元用于将所述控制装置所提供的信息或数据转化为对驱动电机进行控制的电信号,并根据所述电信号控制所述驱动 电机的转速、转向等以调整所述清洁机器人的移动速度和移动方向。所述信息或数据如所述控制装置所确定的偏角。所述驱动单元中的处理器可以和所述控制装置中的处理器共用或可独立设置。例如,所述驱动单元作为从处理设备,所述控制装置作为主设备,驱动单元基于控制装置的控制进行移动控制。或者所述驱动单元与所述控制装置中的处理器相共用。驱动单元通过程序接口接收控制装置所提供的数据。所述驱动单元用于基于所述控制装置所提供的移动控制指令控制所述驱动轮。
在一些实施例中,所述处理器包括集成电路芯片,具有信号处理能力;或通用处理器,例如,可以是数字信号处理器(DSP)、专用集成电路(ASIC)、分立门或晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。所述通用处理器可以是微处理器或者任何常规处理器等。
在一些实施例中,所述存储器可包括随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦可编程序只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦编程只读存储器Electric Erasable Programmable Read-Only Memory,EEPROM)等。存储器用于存储程序(例如路径规划程序、清洁程序等),处理器在接收到执行指令后,执行该程序。
所述清洁机器人的本体上设置有多个探测装置(未标号),用于清洁机器人对周围环境的周边障碍物进行检测或/及识别,从而根据接收到的反馈信号实现对自身移动方向和/或移动姿态的调整,避免与障碍物碰撞或跌落悬崖。应理解,根据实际需求的不同,所述探测装置的数量还可以依据实际需求在机器人本体的不同位置设置更多以提高探测的准确度。
在实施例中,所述机器人的探测装置例如包括激光传感器、超声波传感器、红外传感器、光学摄像头(例如单目摄像头或双目摄像头)、深度摄像头(例如ToF传感器)、毫米波雷达传感器等;其中,例如,激光传感器可根据其发射激光束的时间和接收激光束的时间差,确定其相对于障碍物的距离;又如,超声波传感器可根据其发射的声波被障碍物反弹回的振动信号来确定机器人相对于障碍物的距离;再如,双目摄像装置可根据其两个摄像头所拍摄到的图像,利用三角原理来确定机器人相对于障碍物的距离;还如,ToF(Time of Flight,飞行时间)传感器的红外光投射器向外投射红外光,红外光遇到被测障碍物后反射,并被接收模组接收,通过记录红外光从发射到被接收的时间,计算出被照障碍物深度信息。
其中,障碍物指的是位于所述清洁机器人的规划路径上会对其产生阻挡的物体;所述障 碍物根据环境不同具有不同的类型,例如在室内场景中,障碍物可能是门、墙、柱子、楼梯、桌子、椅子、柜子、花盆、电器及其它各种放置物;在室外场景中,障碍物可能有建筑物、公共设施、行人等。
在实施例中,所述机器人使用多种行为模式来有效地清洁定义的工作区域,其中行为模式是可以并行操作的控制系统层。微处理器单元可操作以执行优先仲裁方案,以基于来自传感器系统的输入来识别和实施任何给定场景的一个或多个主要行为模式。比如机器人路线跟随模式,转弯模式,或者机器人的跟随障碍物的边缘的沿边模式,或者机器人的跟随墙壁的沿墙模式,或者依据预设的规划路径进行“弓”字形行进或者“回”字形行进的行进模式。
请参阅图2,显示为本申请机器人行进控制方法在一实施例中的流程图,如图所示,本申请的机器人行进控制方法包括以下步骤:
首先执行步骤S10,在预设的计算周期中,机器人系统从获得的规划路径中选择多个路径点以获取所述机器人途径每一路径点的行进期望信息。
机器人在执行行进任务时,其控制系统需要先获取规划路径以使机器人可以沿着所述规划路径行进。请参阅图3,显示为在一实施例中机器人获取的规划路径示意图,如图所示,机器人系统获得的规划路径为需要执行“弓”字形行进路线的路径L。
在一些实施例中,所述规划路径是机器人预先规划并存储在其存储器中,以便机器人执行行进任务时读取该规划路径。
在另一些实施例中,所述规划路径是通过即时路径学习或即时路径规划的方式获得的,比如机器人在一个陌生环境初始行进时通过路径学习获得的规划路径;或者机器人行进中突然丢失了规划路径或者遇到未知障碍物时为规避障碍物需要重新生成规划路径的场景中,机器人还可以借助其自身的定位及构建地图的能力实时地进行即时路径规划,并将规划完成的路径作为当前行进任务的规划路径。
在实施例中,所述规划路径是由多个路径点组成,每一路径点包括其坐标信息以及朝向角,换言之,所述规划路径可以视为n个路径点的点集合或者有n个路径点拟合形成个轨迹线。在上述步骤S10中,机器人系统获得的规划路径既可以是全局路径,也可以是全局路径中的一部分局部路径,或者是从全局路径中截取/提取的某段长度的路径。
请参阅图4,显示为图3中A处放大示意图,如图所示,本申请中机器人从获得的规划路径L中包含多个路径点(i,i+1,i+2,i+3,i+4,……i+n),每一个路径点均包含其自身的坐标信息及航向角信息。以路径点i为例,机器人从规划路径中获取的所述路径点i的信息 包括该点的坐标信息(x i,y i)和航向角信息(θ i)。
在本申请中,所述机器人从获得的规划路径中选择多个路径点,比如在路径中选中5-10个点为路径点,在以下实施例中,暂以机器人从获得的规划路径中选择5个路径点为例进行说明,比如上述图4所示的5个路径点(i,i+1,i+2,i+3,i+4)。
在一实施例中,所述机器人依据预设的5个路径点的数量以及所述规划路径的整体曲率设置路径点的步长,比如在螺旋状的行走模式中,当机器人获取的规划路径为一个曲率较大的路径,其依据确定的5个路径点的数量将路径点的步长设置比较小,比如以5cm为一个路径点步长选择路径点。
在另一实施例中,所述机器人依据预设的5个路径点的数量以及所述规划路径的局部曲率设置路径点的步长,比如在“弓”字形的行走模式中,当机器人获取一段局部规划路径为一个曲率较大的路径(比如转弯处),另一端局部规划路径为一个曲率较小的路径(比如近似直线),则,其依据确定的5个路径点的数量将曲率较大的路径上的路径点的步长设置比较小,比如以5cm为一个路径点步长选择路径点;其依据确定的5个路径点的数量将曲率较小的路径上的路径点的步长设置比较大,比如以10cm为一个路径点步长选择路径点。应理解的,此处举例的5cm步长或10cm步长旨在说明路径点之间步长的相对距离。
在再一实施例中,所述机器人依据预设的5个路径点的数量以及其预设速度设置路径点的步长,比如所述机器人在预设的匀速模式下行进,其可以根据预设速度设置路径点的步长,比如以5cm为一个路径点步长选择路径点。
在又一实施例中,所述机器人依据预设的5个路径点的数量以及其实时速度从所述规划路径中确定所述路径点的步长。比如所述机器人在相对的低速模式下行进时,以5cm为一个路径点步长选择路径点,在相对的高速模式下行进时,以10cm为一个路径点步长选择路径点。
在实施例中,所述机器人从获得的规划路径中选择多个路径点的路径点步长的过程是动态调整的,比如上述依据所获取的当前局部规划路径的曲率变化,或者机器人当前的实时速度变化动态调整选择5个路径点的路径点步长。
在本申请中,获取所述多个路径点中第一路径点的行进控制信息的计算需要在一个计算周期内完成。即,所述机器人从获得的规划路径中选择多个路径点以获取其途径每一路径点的行进期望信息,一直到其获得控制左、右驱动轮行进控制信息这一过程的所有计算被限制在一个预设时长内,这一预设时长为一个计算周期。在实施例中,在给定的行进速度及路径 点步长的前提下,所述预设时长小于机器人从一个路径点到达下一个路径点的所用时长,即,机器人从当前路径点朝向下一路径点行进时,在达到下一路径点之前需至少完成一次计算周期。在一些实施例中,机器人从当前路径点达到下一路径点之前,需要完成多个计算周期的计算以不停更新计算结果以便获得更精准的行进控制信息。
为提升机器人的计算效率或节省其计算资源,在预设的计算周期中获取所述多个路径点中第一路径点的行进控制信息的计算过程是在一约束条件下进行的。在本申请中,所述约束条件包括所述机器人途径所述路径点时所准许的速度区间、航向角区间、以及转向区间。
在实施例中,所述机器人途径所述路径点时所准许的速度区间的设置取决于机器人控制系统给定的最小速度和最大速度的约束区间,比如机器人控制系统限定机器人行进速度不得超过4m/s;即,机器人控制系统限定机器人行进速度的区间为[0m/s,4m/s];所述机器人途径所述路径点时所准许的转向区间为[-90°,90°];即,要求机器人在行进时最大的转向不得超过180°;所述机器人途径所述路径点时所准许的航向角区间为[-180°,180°],即,所述机器人途径所述路径点时所准许的航向角不得超过360°。
在上述步骤S10中,机器人系统从获得的规划路径中获取所述机器人即将途径每一路径点的行进期望信息。在本申请中,所述行进期望信息是指期望机器人行进在所述规划路径中各路径点时机器人的理想状态,包括机器人的位姿、速度和转向角等信息。
在实施例中,所述机器人即将途径每一路径点时的行进期望信息包括期望位姿信息及期望控制信息;其中,所述期望位姿信息包括所述机器人途径所述路径点的坐标及航向角,所述期望控制信息包括所述机器人途径所述路径点的期望速度及期望转向角,比如所述机器人途径某一路径点时的期望位姿信息为所述机器人达到所述路径点的坐标(x ref,y ref)以及机器人达到所述路径点的航向角(θ ref);所述机器人途径所述路径点时的期望控制信息为所述机器人达到所述路径点的速度(v ref)以及转向角(δ ref)。
请参阅图5,显示为本申请的机器人行进控制方法在一实施例中获得各途经点行进期望信息的示意图,如图所示,由于所述规划路径中每一个路径点均具有该点的坐标信息和航向角信息,比如图4中所示的5个路径点(i,i+1,i+2,i+3,i+4)的坐标信息和航向角信息,则,机器人可以将上述各路径点的坐标信息和航向角信息视为期望位姿信息,仍以路径点i为例,机器人从规划路径中获取的所述路径点i的信息包括该点的坐标信息(x i,y i)和航向角信息(θ i),则将所述机器人途径路径点i时的期望位姿信息视为(x i=x refi,y i=y refi,θ i=θ refi),换言之,在本实施例中,机器人系统可以通过从所述规划路径选择的多个路径点获得机器人 途径每一路径点的期望位姿信息。
机器人系统还需要获取机器人途径各该路径点的期望速度及期望转向角,在一实施例中,机器人系统可以从预存在存储器中的规划路径中获取机器人行进的期望速度(v ref)。
在另一实施例中,机器人系统可以从路径规划层实时生成的规划路径中获取机器人行进的期望速度(v ref);仍以路径点i为例,机器人系统还需要获取机器人途径该路径点i的期望速度表示为v refi
在机器人的行进控制中,在控制系统没有向机器人的驱动轮下达转向指令的情况下,机器人系统期望机器人的航向角保持不变,因而在本实施例中,所述机器人途径各该路径点的期望转向角被预先设置为0°。仍以路径点i为例,机器人系统还需要获取机器人途径该路径点i的期望速度表示为δ refi。,在此,所述期望速度表示为δ refi=0°。
在步骤S11中,机器人系统依据预设的预测周期、所述机器人的运动模型、当前位姿、以及各所述路径点的行进期望信息,预测所述机器人途径每一路径点的行进预测信息;其中,所述机器人具有位于其本体后侧的左、右驱动轮和位于其本体前侧的至少一被动万向轮;所述机器人的运动模型为以左、右驱动轮的轴线中点为起点,以所述被动万向轮前侧的虚拟点为终点的运动模型。
诚如前述图1中所示的,本申请举例为清洁机器人1的被动万向轮12设置在所述机器人本体10底部且位于机器人1本体前侧的中间位置,用于在支撑所述机器人1本体10前部重量并配合位于后侧的左、右驱动轮11的差速以实现机器人1本体10执行转向,在本申请中,所述被动万向轮12和所述机器人左、右驱动轮11的轴线中点共线。
在一实施例中,清洁机器人的控制装置通常被设置在机器人本体的前侧,用于控制清洁机器人本体上的各部件工作,例如,所述控制装置可用于控制清洁机器人执行本申请任一实施例中公开的行进控制方法,也可执行路径规划以及工作模式的控制,以及利用导航技术进行定位与建图、导航等。在一些实施例中,所述控制装置包括存储器(例如硬盘、快闪存储器、随机存取存储器)和处理器(例如中央处理单元、应用处理器)等,另外,机器人的前侧还设置有多个或多种传感装置用于感测机器人行进路线上的障碍物、地标或者用于目标检测或识别,再者,诚如前述图1中所示的,清洁机器人1的边刷组件设于其底盘底部的前侧边缘,所述边刷组件可包括清洁边刷13和用于控制所述清洁边刷13的边刷电机。清洁边刷13的数量可为一个,设置于清洁机器人前部的一边侧,也可以为两个,分别设置在清洁机器人前部的相对两侧,所述清洁边刷13可采用旋转式清洁边刷,可在所述边刷电机的控制下作旋转。
所述被动万向轮12用于在支撑所述清洁机器人前部重量,被设置在所述清洁机器人1的本体10底部且位于清洁机器人1前侧的中间位置,则万向轮12投影点至机器人机身的前侧边缘仍具有一定距离,在清洁机器人转向运动时,受到机身本体转向的线速度(linear velocity))的影响,清洁机器人后侧的驱动轮11、清洁机器人前侧的被动万向轮12,以及机身的前侧边缘分别呈现不同的转向速度(在曲率较大的路线上这一现象更为明显),为了避免机器人机身的前侧转速过快而导致跟线的精度问题,在本申请中,所述机器人的运动模型为以左、右驱动轮的轴线中点为起点,以所述被动万向轮前侧的虚拟点为终点的运动模型。
在前侧万向轮为包括左、右两个万向轮的实施例中,所述机器人的运动模型为以左、右驱动轮的轴线中点为起点,以所述左、右两个万向轮轴向中点的前侧的虚拟点为终点的运动模型。
为便于描述本申请中所述机器人运动模型,在此不考虑机器人在垂直方向(Z轴方向)的运动,即将所述机器人的运动视为一个二维平面上的运动,在此基础上,假设机器人后侧的左、右驱动轮在任意时刻都拥有相同的转向角度和转速,则所述机器人的左、右驱动轮的运动可以合并为一个轮子来描述(取机器人左、右驱动轮的轴线中点);另外,在所述运动模型中,假设机器人行进速度变化缓慢,忽略前后轴载荷的转移,将机器人本体视为刚性系统。
请参阅图6,显示为本申请在一实施例中机器人的运动模型原理示意图,如图所示,行进中的机器人模型可以简化为二维平面上运动的刚体结构,任意时刻机器人的状态为由其位置(即x,y坐标)、姿态(即朝向角θ)、速度(v)、以及转向角(δ)决定的。
如图所示,本申请在构建所述机器人的运动模型时,预先在所述被动万向轮前侧选择一个虚拟点P,即,令所述虚拟点P位于被动万向轮与机器人的前侧边缘之间,并使得该虚拟点相对于所述被动万向轮靠近所述机器人的前侧边缘,则,所述机器人的运动模型的起点o(x 0,y 0)位于后轴的中心位置,所述机器人的运动模型的终点P(x p,y p)位于所述被动万向轮前侧的虚拟点,以所述起点(x 0,y 0)与终点P(x p,y p)之间的连线形成的刚体结构为构建的所述运动模型。所述坐标轴与机器人本体平行。其中,R表示所述机器人的运动模型的转弯半径,d表示所述机器人的运动模型的所述起点(x 0,y 0)与终点P(x p,y p)之间的线距,l表示左驱动轮和右驱动轮之间的轮距,v l表示左驱动轮的速度,v r表示右驱动轮的速度,θ表示所述运动模型中各坐标点的航向角,δ表示位于所述被动万向轮前侧的虚拟点P的转向角。在图6所示的模型中,如果所述被动万向轮前侧的虚拟点P的转向角δ保持不变,则构建的所述运动模型会以转弯半径R保持原地转圈。
基于图6中所示的机器人的运动模型,机器人在获得了某个时刻的控制输入信息,比如下一时刻的速度和转向角之后,则可以根据这两个控制量控制机器人行进。
在上述步骤S11所示的实施例中,机器人系统执行上述预测计算时,需要在一预设的预测周期内完成预测计算,所述预测周期为一个时间,在本实施例中,机器人系统获取其自身的运动模型、机器人的当前位姿(位置与航向角)、以及步骤S10中选择的多个路径点的每一路径点的行进期望信息,执行预测计算,以预测所述机器人途径每一路径点的行进预测信息。在本实施例中,仍以通过预测计算获得所述机器人即将途径路径点i时的行进预测信息为例,机器人系统获取其自身的运动模型、机器人的当前位置(x i-1,y i-1)、当前航向角(θ i-1)、以及上述选择的多个路径点的每一路径点的行进期望信息(x ref,y ref,θ ref,v ref,δ ref),预测计算以获得所述机器人途径路径点i的行进预测信息(x i,y i,θ i,v i,δ i)。
所述行进预测信息是指通过预测计算获得的机器人行进于规划路径的路径点时未来可能的状态,包括未来机器人行进于规划路径的路径点时位置与姿态、速度和转向角等信息。对应上述行进期望信息,在实施例中,所述机器人未来途径每一路径点的行进预测信息包括预测位姿信息及预测控制信息;其中,所述预测位姿信息包括通过预测计算获得的所述机器人途径所述路径点的预测坐标及预测航向角,所述预测控制信息包括通过预测计算获得的所述机器人途径所述路径点的预测速度及预测转向角,比如,通过预测计算获得所述机器人途径路径点i时的预测位姿信息为所述机器人达到所述路径点i的预测坐标(x i,y i)以及机器人达到所述路径点i的预测航向角(θ i);所述机器人途径路径点i时的预测控制信息为所述机器人达到所述路径点i的预测速度(v i)以及预测转向角(δ i)。
在步骤S12中,机器人系统将获取的所述行进期望信息及所述行进预测信息执行计算,以获取所述多个路径点中第一路径点的行进控制信息。
在实施例中,机器人系统计算所述多个路径点的行进控制信息的步骤包括:将所述行进期望信息及所述行进预测信息的差值进行平方求和,当得到最小值时确定所述行进控制信息。在所述计算周期中,机器人系统依据步骤S10中选取的多个路径点,比如图4所示的5个路径点(i,i+1,i+2,i+3,i+4),则机器人系统将所述5个路径点同时计算,即通过求解一目标函数(比如表示为J),具体地,将获得的所述5个路径点中每一个路径点的行进期望信息与行进预测信息同时进行差值并平方计算(所述差值的平方所计算的值最小时为0),然后再进行求和计算,从所述目标函数中求J最小时数组(即求argmin J)以作为行进控制信息的数组A(Action),则所述数组A为所述5个路径点(i,i+1,i+2,i+3,i+4)的中每一 个路径点的行进控制信息,并将所述数组A中的第一组(取第一路径点i的控制信息输出)作为第一路径点(即路径点i)的行进控制信息(v icic)。
在本实施例中,所述行进控制信息包括速度、及转向角,在上述以路径点i为第一路径点的实施例中,从所述数组A中的第一组,作为所述路径点i的行进控制信息可以表示为(v icic)。
在实施例中,自所述行进控制信息中选取第一路径点的行进控制信息以控制所述机器人的左右驱动轮的步骤包括:所述多个路径点中第一路径点的行进控制信息为映射所述被动万向轮前侧的虚拟点的行进控制信息。在上述以第一路径点为i的实施例中,经计算获得的路径点i的行进控制信息(v icic)被映射为机器人的运动模型中被动万向轮前侧的虚拟点的行进控制信息,用于作为计算机器人本体后侧的左、右驱动轮的控制量的输入条件。
在实施例中,依据所述运动模型以及所述第一路径点的行进控制信息计算以获得所述机器人本体后侧的左、右驱动轮的控制量,在本实施例中,通过计算获得对应所述机器人被动万向轮前侧的虚拟点的行进控制信息(v icic),结合上述图6中所示的机器人的运动模型执行计算,以获得最终的机器人本体后侧的左、右驱动轮的转速(v l,v r),进而实现机器人的行进速度和转向角度的控制。
在上述以第一路径点为i的实施例中,在实际执行所述计算时考虑以下条件:左驱动轮和右驱动轮之间的轮距l,机器人本体的旋转角速度w,所述机器人的运动模型的转弯半径R,机器人的运动模型的所述起点(x 0,y 0)与终点P(x p,y p)之间的线距d等条件,将上述条件结合所述运动模型执行计算,进而可以获得所述机器人本体后侧的左驱动轮朝向路径点i行进时的速度控制量(v il),所述机器人本体后侧的右驱动轮朝向路径点i行进时的速度控制量(v ir),以及通过左、右驱动轮的差速(v il-v ir)实现所述机器人被动万向轮前侧的虚拟点的转向角度控制量(δ ir),如此可以控制所述机器人在规划路径上行进时对每一个路径点的精准地跟随式行进。
在一实施例中,计算所述多个路径点的行进控制信息的步骤包括:判断在所述计算周期中执行的计算已达到预设迭代次数或预设计算时长,但仍未获得最优的行进控制信息时,将当前优化的行进控制信息予以输出以确保机器人系统顺畅运行。例如在执行上述步骤S12的实施例中,机器人系统在一个计算周期内可以多次计算所述多个路径点的行进控制信息,并在每次计算出一组第一路径点的行进控制信息予以暂存,直至确定出一组使目标函数J为最小值时的行进控制信息数组,取第一路径点(即路径点i)的控制信息输出;在实际实施中, 如果机器人系统判断到所述计算周期中执行的计算已达到预设迭代次数(比如迭代30次或50次),或者已经达到了预设的计算时间(比如超过了0.2s或0.5s的时间段),但仍没有使得目标函数(比如表示为J)达到最小值,为确保能够机器人的左、右驱动轮可以及时地获得速度控制量和转向角度控制量,则机器人系统将从当前已经获得的(即前述暂存的)多个路径点的行进控制信息的数组A中选取最新一次的计算结果值作为所述多个路径点中第一路径点(即路径点i)的行进控制信息。
在一实施例中,机器人系统进行下一计算周期的行进控制信息计算时,当前周期计算获得的行进控制信息作为所述下一计算周期的行进控制信息计算的初始值,以加速所述下一计算周期的计算速度。在本实施例中,在所述下一计算周期机器人将计算路径点的行进控制信息时,所述路径点的行进控制信息将作为计算路径点的行进控制信息时的初始值参与所述下一计算周期的计算,如此不但节省了计算资源,更提升了计算结果的精确度。
在另一实施例中,为了更加精准地控制机器人的行进,获取所述多个路径点中第一路径点的行进控制信息的计算中,参与计算的条件还包括所述机器人的预测加速信息,在上述以第一路径点为i的实施例中,所述预测加速信息是通过相邻两个路径点的预测速度差值得到的,比如路径点i以及所述路径点i的相邻路径点i+1,即计算所述预测加速信息的方式为(v i+1-v i)的平方求和,以获得预测加速信息。
在机器人的行进控制中,在控制系统没有向机器人的驱动轮下达加速指令的情况下,机器人系统期望机器人的速度保持不变,因而在本实施例中,所述机器人途径各该路径点的期望加速度被预先设置为0。
在再一实施例中,为了更加精准地控制机器人的行进,获取所述多个路径点中第一路径点的行进控制信息的计算中,参与计算的条件还包括所述机器人的预测转向角的变化幅度,在上述以第一路径点为i的实施例中,所述预测转向角的变化幅度信息是通过相邻两个路径点的预测转向角的差值得到的,比如路径点i以及所述路径点i的相邻路径点i+1,即计算所述预测转向角的变化幅度的方式为(δ i+1i)的平方求和,以获得预测转向角变化幅度的信息。
在机器人的行进控制中,在控制系统没有向机器人的驱动轮下达转向指令的情况下,机器人系统期望机器人的转向角保持不变,因而在本实施例中,所述机器人途径各该路径点的期望转向角的变化幅度被预先设置为0°。
在实施例中,所述的机器人行进控制方法中机器人系统计算所述多个路径点的行进控制 信息的步骤中还包括分别干预所述路径点的位置、航向角、速度、及转向角的权重的步骤。在具体的实施例中,还可以依据机器人系统在计算过程中对某一个控制量的计算要求,调整该控制量的计算权重,例如,在机器人的行进控制中,机器人系统需要对其跟随各路径点的位置(即坐标x i,y i)需要更加精准的计算,则在该实施例中,调整对所述路径点的位置的计算权重以获得更加精确的计算值。
应理解的,在一些实施例中,机器人系统根据需要对其即将跟随各路径点的航向角(θ i)、速度(v i)、及转向角的权重(δ i)中的一个或多个参数进行单独地权重调整。在另一些实施例中,机器人系统根据需要对其即将跟随各路径点的预测加速信息或者/以及预测转向角的变化幅度进行权重调整。
本申请提供的机器人及机器人行进控制方法,通过预先设置以机器人的左、右驱动轮的轴线中点为起点,以所述被动万向轮前侧的虚拟点为终点的运动模型,在一个计算周期内,获取规划路径中即将进行的每一路径点的行进期望信息及行进预测信息,并结合上述预设的机器人运动模型执行计算,获取最近路径点的行进控制信息,并将该控制信息映射为机器人的运动模型中被动万向轮前侧的虚拟点的行进控制信息,用于作为计算机器人本体后侧的左、右驱动轮的控制量的输入条件,进而控制机器人的左、右驱动轮的转速,并通过这一过程的重复,实现机器人对规划路径的精准跟随。本申请尤其解决了矩形底盘且以后侧左、右轮为驱动轮,前侧万向轮为被动轮的这类机器人路线跟随及行进的精确控制问题。
本申请还公开一种机器人系统,请参阅图7,显示为本申请在一实施例中的机器人系统的原理框图,如图所示,所述机器人系统2包括路径规划装置20,存储装置21,以及处理装置22。在实施例中,所述机器人系统例如为清洁机器人的控制系统,在实施例中,所述清洁机器人的控制系统可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以由硬件或软件,或软件和硬件的组合实现。
所述路径规划装置20用于采集所述机器人周围环境的数据以生成规划路径;在实施例中,机器人在执行行进任务时,其控制系统需要先获取所述路径规划装置20生成的规划路径以使机器人可以沿着所述规划路径行进。如图3所示,机器人系统获得的规划路径为需要执行“弓”字形行进路线的路径L。
在一些实施例中,所述路径规划装置20用于采集所述机器人周围环境的数据以生成规划路径可以预先规划并存储在其存储器中,以便机器人执行行进任务时读取该规划路径。
在另一些实施例中,所述规划路径是所述路径规划装置20通过即时路径学习或即时路径 规划的方式获得的,比如机器人在一个陌生环境初始行进时所述路径规划装置20通过路径学习获得的规划路径;或者机器人行进中突然丢失了规划路径或者遇到未知障碍物时为规避障碍物需要重新生成规划路径的场景中,机器人还可以借助其自身的定位及构建地图的能力令所述路径规划装置20实时地进行即时路径规划,并将规划完成的路径作为当前行进任务的规划路径。
在实施例中,所述规划路径是由多个路径点组成,每一路径点包括其坐标信息以及朝向角,换言之,所述规划路径可以视为n个路径点的点集合或者有n个路径点拟合形成个轨迹线。在上述步骤S10中,机器人系统获得的规划路径既可以是全局路径,也可以是全局路径中的一部分局部路径,或者是从全局路径中截取/提取的某段长度的路径。
如图4所示,本申请中机器人从获得的规划路径L中包含多个路径点(i,i+1,i+2,i+3,i+4,……i+n),每一个路径点均包含其自身的坐标信息及航向角信息。以路径点i为例,机器人从规划路径中获取的所述路径点i的信息包括该点的坐标信息(x i,y i)和航向角信息(θ i)。
所述存储装置用以存储至少一个机器人行进控制程序;在实施例中,所述存储装置21用于存储至少一个程序,所述至少一个程序可供所述处理装置22执行,以协调所述存储装置21和所述路径规划装置20等实现上述任一实施例中所述的机器人行进控制方法。在此,存储装置21包括但不限于:只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、非易失性存储器(Nonvolatile RAM,简称NVRAM)。例如,存储装置21包括闪存设备或其他非易失性固态存储设备。在某些实施例中,存储装置21还可以包括远离一个或多个处理装置22的存储器,例如经由RF电路或外部端口以及通信网络访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、局域网、广域网、存储局域网等,或其适当组合。存储器控制器可控制设备的诸如CPU和外设接口之类的其他组件对存储器的访问。
所述处理装置22与所述存储装置21及所述路径规划装置20相连,用于执行所述至少一个机器人行进控制程序时实现如上述图2所示的机器人行进控制方法。在一些实施例中,所述处理装置22包括一个或多个处理器。处理装置22可操作地与存储装置21执行数据读写操作。所述处理装置22包括一个或多个通用微处理器、一个或多个专用处理器(ASIC)、一个或多个数字信号处理器(Digital Signal Processor,简称DSP)、一个或多个现场可编程逻辑阵列(Field Programmable Gate Array,简称FPGA)、或它们的任何组合。在实施例中,所述处理器可用于读取和执行计算机可读指令。具体实现中,处理器可主要包括控制器、运算器和 寄存器。其中,控制器主要负责指令译码,并为指令对应的操作发出控制信号。运算器主要负责执行定点或浮点算数运算操作、移位操作以及逻辑操作等,也可以执行地址运算和转换。寄存器主要负责保存指令执行过程中临时存放的寄存器操作数和中间操作结果等。具体实现中,处理器的硬件架构可以是专用集成电路(ASIC)架构、MIPS架构、ARM架构或者NP架构等等。
在实施例中,所述处理器可以包括一个或多个处理单元,例如:处理器可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可集成在一个或多个处理器中。
本申请还提供一种计算机存储介质,计算机可读存储介质,其特征在于,存储有至少一种机器人行进控制程序,所述机器人行进控制程序被机器人的处理器运行时实现如上述图2及相关实施例描述的所述的机器人行进控制方法。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得安装有所述存储介质的移动机器人可以执行本申请各个实施例所述方法的全部或部分步骤。
于本申请提供的实施例中,所述计算机存储介质可以包括只读存储器、随机存取存储器、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常 磁性地复制数据,而光盘则用激光来光学地复制数据。
在一个或多个示例性方面,本申请所述机器人行进控制方法的计算机程序所描所述的功能可以用硬件、软件、固件或其任意组合的方式来实现。当用软件实现时,可以将这些功能作为一个或多个指令或代码存储或传送到计算机可读介质上。本申请所公开的方法或算法的步骤可以用处理器可执行软件模块来体现,其中处理器可执行软件模块可以位于有形、非临时性计算机存储介质上。有形、非临时性计算机存储介质可以是计算机能够存取的任何可用介质。
本申请上所述的附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。基于此,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。

Claims (20)

  1. 一种机器人行进控制方法,其特征在于,包括以下步骤:
    在预设的计算周期中,从获得的规划路径中选择多个路径点以获取所述机器人途径每一路径点的行进期望信息;
    依据预设的预测周期、所述机器人的运动模型、当前位姿、以及各所述路径点的行进期望信息,预测所述机器人途径每一路径点的行进预测信息;其中,所述机器人具有位于其本体后侧的左、右驱动轮和位于其本体前侧的至少一被动万向轮;所述机器人的运动模型为以左、右驱动轮的轴线中点为起点,以所述被动万向轮前侧的虚拟点为终点的运动模型;
    计算所述行进期望信息及所述行进预测信息以获取所述多个路径点中第一路径点的行进控制信息;
    依据所述行进控制信息控制所述机器人的左、右驱动轮;
    重复上述步骤以执行下一计算周期的行进控制信息计算,直至所述机器人完成所述规划路径的行进。
  2. 根据权利要求1所述的机器人行进控制方法,其特征在于,从获得的规划路径中选择多个路径点的步骤包括依据预设的路径点数量以及所述规划路径的全部或局部路径曲率、或者所述机器人的预设速度,或者所述机器人实时速度从所述规划路径中确定所述路径点的步长。
  3. 根据权利要求2所述的机器人行进控制方法,其特征在于,从获得的规划路径中选择多个路径点的路径点步长的过程是动态调整的。
  4. 根据权利要求1所述的机器人行进控制方法,其特征在于,所述机器人途径每一路径点的行进期望信息包括期望位姿信息及期望控制信息;其中,所述期望位姿信息包括所述机器人途径所述路径点的坐标及航向角,所述期望控制信息包括所述机器人途径所述路径点的期望速度及期望转向角。
  5. 根据权利要求4所述的机器人行进控制方法,其特征在于,所述期望转向角预设为零度角。
  6. 根据权利要求4所述的机器人行进控制方法,其特征在于,获取所述多个路径点中第一路径点的行进控制信息的步骤中,参与计算的条件还包括所述机器人的预测加速信息或/及预测的转向角的变化幅度。
  7. 根据权利要求6所述的机器人行进控制方法,其特征在于,计算所述多个路径点的行进 控制信息的步骤中还包括分别干预所述路径点的预测加速信息或/及预测的转向角的变化幅度的权重的步骤。
  8. 根据权利要求1所述的机器人行进控制方法,其特征在于,计算所述多个路径点的行进控制信息的步骤包括:将所述行进期望信息及所述行进预测信息的差值进行平方求和,当得到最小值时确定所述行进控制信息。
  9. 根据权利要求1所述的机器人行进控制方法,其特征在于,计算所述多个路径点的行进控制信息的步骤中还包括分别干预所述路径点的位置、航向角、速度、及转向角的权重的步骤。
  10. 根据权利要求1所述的机器人行进控制方法,其特征在于,自所述行进控制信息中选取第一路径点的行进控制信息以控制所述机器人的左、右驱动轮的步骤包括:所述多个路径点中第一路径点的行进控制信息为映射所述被动万向轮前侧的虚拟点的行进控制信息。
  11. 根据权利要求10所述的机器人行进控制方法,其特征在于,依据所述运动模型以及所述被动万向轮前侧的虚拟点的行进控制信息计算以获得所述机器人本体后侧的左、右驱动轮的控制量。
  12. 根据权利要求1所述的机器人行进控制方法,其特征在于,计算所述多个路径点的行进控制信息的步骤包括:判断在所述计算周期中执行的计算已达到预设迭代次数或预设计算时长,但仍未获得最优的行进控制信息时,将当前优化的行进控制信息予以输出。
  13. 根据权利要求1所述的机器人行进控制方法,其特征在于,进行下一计算周期的行进控制信息计算时,当前周期计算获得的行进控制信息作为所述下一计算周期的行进控制信息计算的初始值。
  14. 根据权利要求1所述的机器人行进控制方法,其特征在于,在预设的计算周期中计算以获取所述多个路径点中第一路径点的行进控制信息的计算是在一约束条件下进行的,所述约束条件包括所述机器人途径所述多个路径点时所准许的速度区间、转向区间、以及航向角区间。
  15. 一种机器人,其特征在于,包括:
    机器人本体;
    位于所述机器人本体后侧的左、右驱动轮;
    位于所述机器人本体前侧的至少一被动万向轮;
    控制装置,用于控制所述左、右驱动轮的转速以实现所述机器人跟随规划路径的行进 控制,所述控制装置被配置为:
    在预设的计算周期中,从获得的规划路径中选择多个路径点以获取所述机器人途径每一路径点的行进期望信息;
    依据预设的预测周期、所述机器人的运动模型、当前位姿、以及各所述路径点的行进期望信息,预测所述机器人途径每一路径点的行进预测信息;所述机器人的运动模型为以左、右驱动轮的轴线中点为起点,以所述被动万向轮前侧的虚拟点为终点的运动模型;
    计算所述行进期望信息及所述行进预测信息以获取所述多个路径点中第一路径点的行进控制信息;
    依据所述行进控制信息控制所述机器人的左、右驱动轮;
    重复上述步骤以执行下一计算周期的行进控制信息计算,直至所述机器人完成所述规划路径的行进。
  16. 根据权利要求15所述的机器人,其特征在于,所述机器人本体前侧中间位置设置有一被动万向轮。
  17. 根据权利要求15所述的机器人,其特征在于,所述机器人本体前侧的左右两侧分别设置有一被动万向轮。
  18. 根据权利要求15所述的机器人,其特征在于,所述机器人包括商用清洁机器人。
  19. 一种机器人系统,其特征在于,包括:
    存储装置,用以存储至少一个机器人行进控制程序;
    路径规划装置,用于采集所述机器人周围环境的数据以生成规划路径;
    处理装置,与所述存储装置及所述路径规划装置相连,用于执行所述至少一个机器人行进控制程序时实现如权利要求1-14中任一所述的机器人行进控制方法。
  20. 一种计算机可读存储介质,其特征在于,存储有至少一种机器人行进控制程序,所述机器人行进控制程序被机器人的处理器运行时实现如权利要求1-14中任一所述的机器人行进控制方法。
PCT/CN2022/132901 2022-11-18 2022-11-18 机器人及其行进控制方法,机器人系统及存储介质 WO2024103395A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2022/132901 WO2024103395A1 (zh) 2022-11-18 2022-11-18 机器人及其行进控制方法,机器人系统及存储介质
CN202280011678.2A CN118382848A (zh) 2022-11-18 2022-11-18 机器人及其行进控制方法,机器人系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/132901 WO2024103395A1 (zh) 2022-11-18 2022-11-18 机器人及其行进控制方法,机器人系统及存储介质

Publications (1)

Publication Number Publication Date
WO2024103395A1 true WO2024103395A1 (zh) 2024-05-23

Family

ID=91083633

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/132901 WO2024103395A1 (zh) 2022-11-18 2022-11-18 机器人及其行进控制方法,机器人系统及存储介质

Country Status (2)

Country Link
CN (1) CN118382848A (zh)
WO (1) WO2024103395A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000038025A1 (en) * 1998-12-18 2000-06-29 Dyson Limited Improvements in or relating to floor cleaning devices
US20050237188A1 (en) * 2004-03-25 2005-10-27 Funai Electric Co., Ltd. Self-propelled cleaner
CN107132843A (zh) * 2017-05-19 2017-09-05 北京京东尚科信息技术有限公司 无人搬运车的控制方法和装置
CN110955245A (zh) * 2019-12-09 2020-04-03 深圳市银星智能科技股份有限公司 路径追踪方法、装置、移动机器人及非暂态计算机可读存储介质
CN114568108A (zh) * 2022-02-28 2022-06-03 清华大学深圳国际研究生院 一种无人割草机轨迹跟踪控制方法及计算机可读存储介质
CN114995464A (zh) * 2022-07-19 2022-09-02 佛山市星曼信息科技有限公司 局部路径规划的控制方法及装置、机器人、存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000038025A1 (en) * 1998-12-18 2000-06-29 Dyson Limited Improvements in or relating to floor cleaning devices
US20050237188A1 (en) * 2004-03-25 2005-10-27 Funai Electric Co., Ltd. Self-propelled cleaner
CN107132843A (zh) * 2017-05-19 2017-09-05 北京京东尚科信息技术有限公司 无人搬运车的控制方法和装置
CN110955245A (zh) * 2019-12-09 2020-04-03 深圳市银星智能科技股份有限公司 路径追踪方法、装置、移动机器人及非暂态计算机可读存储介质
CN114568108A (zh) * 2022-02-28 2022-06-03 清华大学深圳国际研究生院 一种无人割草机轨迹跟踪控制方法及计算机可读存储介质
CN114995464A (zh) * 2022-07-19 2022-09-02 佛山市星曼信息科技有限公司 局部路径规划的控制方法及装置、机器人、存储介质

Also Published As

Publication number Publication date
CN118382848A (zh) 2024-07-23

Similar Documents

Publication Publication Date Title
CN108507578B (zh) 一种机器人的导航方法
JP7374547B2 (ja) 探測方法、装置、移動ロボット及び記憶媒体
US9400501B2 (en) Simultaneous localization and mapping for a mobile robot
WO2024113261A1 (zh) 机器人及其避障方法,机器人系统及存储介质
US8195331B2 (en) Method, medium, and apparatus for performing path planning of mobile robot
US20210041871A1 (en) Along-edge Walking Control Method for Autonomous Mobile Robot
AU2018100726A4 (en) Automatic cleaning device and cleaning method
KR102649384B1 (ko) 걸레질 로봇의 제어 방법, 장치, 장비 및 저장 매체
US10860033B2 (en) Movable object and method for controlling the same
CN110652256B (zh) 移动机器人以及控制方法
WO2016031263A1 (ja) 自律移動体及び自律移動体システム
JP2019501384A (ja) 自律測位航法設備、測位航法方法及び自律測位航法システム
WO2022027611A1 (zh) 移动机器人的定位方法、构建地图的方法及移动机器人
WO2022041236A1 (zh) 移动机器人的行进控制方法、路径规划方法及移动机器人
JP2021503334A (ja) 自律移動ロボットによる床の処理
CN110554700A (zh) 一种关于移动机器人的房间与门的识别方法
WO2022151794A1 (zh) 基于无线测距传感器的移动机器人定位方法、系统及芯片
Kuo et al. Pneumatic sensor: A complete coverage improvement approach for robotic cleaners
CN113566808A (zh) 一种导航路径规划方法、装置、设备以及可读存储介质
CN115656984A (zh) Tof点云的处理方法、点云优化方法、激光雷达及机器人
WO2024103395A1 (zh) 机器人及其行进控制方法,机器人系统及存储介质
WO2024164142A1 (zh) 机器人及其控制方法与系统、及存储介质
Pang et al. A Low-Cost 3D SLAM System Integration of Autonomous Exploration Based on Fast-ICP Enhanced LiDAR-Inertial Odometry
KR100738887B1 (ko) 이동로봇의 주행 방법과 그를 이용한 이동로봇
WO2024183064A1 (zh) 机器人的路径规划方法、系统、机器人及存储介质

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 202280011678.2

Country of ref document: CN