WO2020098551A1 - 机器人运行方法、装置、机器人、电子设备及可读介质 - Google Patents

机器人运行方法、装置、机器人、电子设备及可读介质 Download PDF

Info

Publication number
WO2020098551A1
WO2020098551A1 PCT/CN2019/116109 CN2019116109W WO2020098551A1 WO 2020098551 A1 WO2020098551 A1 WO 2020098551A1 CN 2019116109 W CN2019116109 W CN 2019116109W WO 2020098551 A1 WO2020098551 A1 WO 2020098551A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
speed
running
target
posture
Prior art date
Application number
PCT/CN2019/116109
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 US16/728,629 priority Critical patent/US20200147796A1/en
Publication of WO2020098551A1 publication Critical patent/WO2020098551A1/zh

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface

Definitions

  • the present application relates to the field of robot control, and in particular to a method, device, robot, electronic device, and computer-readable medium for controlling the operation of a robot.
  • robot path planning For robot path planning, first, the global planner performs global static planning based on the existing long-term information to determine the optimal route that the virtual human should go through. The global planner then controls the execution system to follow this path.
  • the motion scene is very complicated, and obstacles may be encountered at any time.
  • the robot encounters obstacles, it is necessary to change the path of the robot quickly and effectively.
  • the global path planning method that controls the operation of the robot is not very suitable.
  • the robot perception system will continue to perceive the surrounding environment.
  • the local planner can be enabled to determine the short-term motion based on these local information.
  • the local planner can obtain control of the execution system through competition, so that the virtual person moves according to the local planning result.
  • the global planner After completing the circumvention of the current perception barrier, the global planner once again takes control of the execution system, causing the virtual human to return to the global planning path and continue to move toward the target point.
  • the purpose of some embodiments of the present application is to provide a method, device, robot, electronic device and computer-readable medium for controlling the operation of a robot, which can control the robot to run smoothly from a starting point to a target point.
  • a method for controlling the operation of a robot includes: determining the current posture, target posture, and running speed of the robot; and determining the current posture, the target posture according to a third-order Bezier curve An operating path; determining an operating angular velocity by the operating path and the operating speed; and controlling the robot to move at the operating speed and the operating angular velocity to achieve a target posture.
  • a device for controlling the operation of a robot includes: a state module for determining the current posture, target posture, and operating speed of the robot; a path module, for determining a third-order Bezier curve and The current posture and the target posture determine an operating path; an angular velocity module for determining an operating angular velocity through the operating path and the operating velocity; and an operating module for the robot to move at the operating velocity and the operating angular velocity To achieve the goal posture.
  • a robot includes: a control system for determining a current posture, a target posture and a running speed of the robot; according to a third-order Bezier curve and the current posture and the target posture Determine the running path; determine the running angular speed by the running path and the running speed; and generate the running command by determining the running angular speed by the running speed; and run the system to receive the running command and move according to the command To achieve the goal posture.
  • an electronic device includes: one or more processors; a storage device for storing one or more programs; when one or more programs are used by one or more processors The execution causes one or more processors to implement the method as above.
  • a computer-readable medium on which a computer program is stored, and when the program is executed by a processor, the method as described above is implemented.
  • the robot can be controlled to run smoothly from a starting point to a target point.
  • Fig. 1 is a system block diagram of a method and a device for controlling operation of a robot according to an exemplary embodiment.
  • Fig. 2 is a flow chart showing a method for controlling operation of a robot according to an exemplary embodiment.
  • Fig. 3 is a schematic diagram of a third-order Bezier curve in a method for controlling operation of a robot according to an exemplary embodiment.
  • Fig. 4 is a flow chart showing a method for controlling operation of a robot according to another exemplary embodiment.
  • Fig. 5 is a block diagram of a device for controlling operation of a robot according to an exemplary embodiment.
  • Fig. 6 is a block diagram of a robot system according to another exemplary embodiment.
  • Fig. 7 is a block diagram of an electronic device according to an exemplary embodiment.
  • Fig. 8 is a schematic diagram illustrating a computer-readable storage medium according to an exemplary embodiment.
  • the inventor of the present application found that for mobile robots, especially outdoor patrol robots, the motion scene is very complex, and obstacles may be encountered at any time, and the path of the robot needs to be changed.
  • the global path planning method is not applicable; in view of the prior art Due to technical defects, the inventor of the present application proposes a robot speed planning method based on the third-order Bézier curve, which uses the characteristics of the Bézier curve to plan the robot speed in real time.
  • the method of controlling the operation of the robot in this application takes "maximum curvature minimization" as the objective function, and through the optimization method, finds the control point of the Bézier curve, and then obtains the parametric equation; The curvature plans the speed of the robot in real time.
  • the method for controlling the operation of the robot in the present application knows the initial and end positions and postures of the robot, and plans the linear velocity and angular velocity of the robot in real time.
  • Fig. 1 is a system block diagram of a method and a device for controlling operation of a robot according to an exemplary embodiment.
  • the system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105.
  • the network 104 is a medium used to provide a communication link between the terminal devices 101, 102, 103 and the server 105.
  • the network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, and so on.
  • the terminal devices 101, 102, 103 interact with the server 105 through the network 104 to receive or send messages, and so on.
  • Various communication client applications such as search applications and instant communication tools, can be installed on the terminal devices 101, 102, and 103.
  • the terminal devices 101, 102, and 103 may be electronic devices with control functions and mobile functions, including but not limited to intelligent robots, patrol robots, central control devices for autonomous vehicles, and smart homes.
  • the storage unit and the processing unit in the terminal devices 101, 102, 103 can provide real-time path planning for the terminal devices 101, 102, 103 on the move.
  • the terminal devices 101, 102, and 103 may, for example, determine a current posture, a target posture, and an operating speed; the terminal devices 101, 102, and 103 may determine an operating path according to a third-order Bezier curve and the current posture and the target posture, for example; the terminal The devices 101, 102, 103 may determine the operating angular velocity, for example, through the operating path and the operating speed; the terminal devices 101, 102, 103 may, for example, move at the operating speed and the operating angular velocity to reach the target posture.
  • the server 105 may be a server that provides various services, for example, a background server that provides real-time path planning to the terminal devices 101, 102, and 103 while moving.
  • the background server can perform analysis and other processing on the received real-time path data, and feed back the processing results (such as angular speed, running trajectory, real-time speed, etc.) to the terminal devices 101, 102, 103, so that the terminal devices 101, 102, 103 move .
  • the terminal devices 101, 102, and 103 can, for example, upload the current state to the server 105 in real time, and the server 105 can, for example, determine the current posture, target posture, and operating speed of the terminal devices 101, 102, and 103;
  • the curve, the current posture, and the target posture determine the running path;
  • the server 105 can determine the running angular velocity, for example, through the running path and the running speed;
  • the server 105 can, for example, control the terminal devices 101, 102, 103 at the running speed 3. Move at angular velocity to achieve the target posture.
  • the server 105 may be an entity server, or may be composed of multiple servers. It should be noted that the method for controlling the operation of the robot provided in the embodiments of the present application may be executed by the server 105 or may be performed in the terminal devices 101, 102, and 103. Execution, accordingly, the device that controls the operation of the robot may be provided in the server 105, and may also be provided in the terminal devices 101, 102, 103.
  • Fig. 2 is a flow chart showing a method for controlling operation of a robot according to an exemplary embodiment.
  • the method 20 for controlling the operation of the robot includes at least steps S202 to S208.
  • the current posture, target posture, and running speed of the robot are determined.
  • the current posture and target posture are the initial and end positions and postures of the robot.
  • the current posture X 0 (x 0 , y 0 , ⁇ 0 ) includes the current position and the current direction angle
  • the target posture X n (x n , y n , ⁇ n ) includes the target position and the target direction angle.
  • a running path is determined according to the third-order Bezier curve, the current posture, and the target posture.
  • Bézier curve also known as Bézier curve or Bézier curve
  • Bézier curve is a mathematical curve applied to two-dimensional graphics applications. Due to the smooth characteristics of Bezier curve, Bezier curve has been widely used in industrial control.
  • data points and control points are required to generate the Bezier curve:
  • Data point refers to the start point and end point of a path.
  • Control points determine the curved trajectory of a path. According to the number of control points, Bezier curves are divided into first-order Bezier curves (0 control points) and second-order Bezier curves (1 control) Point), third-order Bezier curve (2 control points), etc.
  • determining the running path according to the third-order Bezier curve and the current attitude and the target attitude includes: calculating the third-order Bezier curve from the current position and the current direction angle, the target position and the target direction angle Parameters; and determining the running path according to the parameters of the third-order Bezier curve.
  • the running path can be determined by a third-order Bezier curve with 2 control points.
  • the initial and end positions of the robot are used as Bezier curve data points
  • 2 control points are obtained to determine the third-order Bezier curve
  • the generated third-order Bezier The curve may be shown in FIG. 3, for example.
  • an operating angular velocity is determined by the operating path and the operating speed.
  • the speed update cycle of the robot may be determined; the number of speed updates of the robot may be determined; the running time may be determined; and the running angular velocity may be determined by the running time, the speed update cycle, and the speed update number.
  • the speed update cycle, the number of speed updates, and the running time of the robot can be set by the user.
  • the speed update cycle of the robot, the number of speed updates, and the running time can also be determined by performing optimization calculations such as the task time to be completed by the robot and the current time.
  • determining the number of robot speed updates includes: determining the path length of the running path; and determining the number of speed updates by the path length, running speed, and speed update period.
  • the path length can be determined by calculating the curve length of the third-order Bezier curve; the running speed can be specified by the user.
  • the robot is controlled to move at the running speed and the running angular speed to reach the target posture.
  • the driving method of the robot is a rear-drive type.
  • the driving method refers to the arrangement of the engine and the form of the number and position of the driving wheels.
  • a mobile terminal has two rows of front and rear wheels, and the wheels directly driven by the engine to drive (or pull) the car forward are the driving wheels.
  • the number of driving wheels it can be divided into two categories: two-wheel drive and four-wheel drive.
  • the two-wheel drive is divided into four front and rear drives (FR), front and front drives (FF), rear and rear drives (RR), and center and rear drives (MR).
  • FR front and rear drives
  • FF front and front drives
  • RR rear and rear drives
  • MR center and rear drives
  • the robot may be, for example, a forward-rear-driving robot.
  • a robot running path is generated through a third-order Bezier curve, and then the speed and angular speed of the robot in operation are determined according to the running path, which can control the robot to run smoothly from the starting point to the target point.
  • Fig. 4 is a flow chart showing a method for controlling operation of a robot according to another exemplary embodiment.
  • the process shown in FIG. 4 is a detailed description of “determining the running path according to the third-order Bezier curve and the current posture and the target posture” in S204 in the process shown in FIG. 2,
  • the starting point and the ending point of the third-order Bezier curve are determined by the current position and the target position.
  • the first intermediate point parameter equation and the second intermediate point parameter equation are determined by the starting point, the ending point, the current direction angle, and the target direction angle.
  • the first intermediate point is obtained by solving the first intermediate point parameter equation through a constrained optimization method.
  • the optimization goal of the optimization method includes that the maximum curvature value of the third-order Bezier curve is the smallest.
  • the constraints of the optimization method include: the maximum curvature of the third-order Bezier curve is less than a predetermined value; and the value of the first intermediate point and the value of the second intermediate point are both greater than zero.
  • the second intermediate point is obtained by solving the second intermediate point parameter equation through a constrained optimization method.
  • the optimization goal of the optimization method includes that the maximum curvature value of the third-order Bezier curve is the smallest.
  • the constraints of the optimization method include: the maximum curvature of the third-order Bezier curve is less than a predetermined value; and the value of the first intermediate point and the value of the second intermediate point are both greater than zero.
  • the parameters of the third-order Bezier curve are determined by the start point, the end point, the first intermediate point, and the second intermediate point.
  • the third-order Bézier curve is a planar third-order Bézier curve uniquely determined by 4 control points, and its basic characteristics are as follows:
  • the tangent vector of the endpoint of the Bézier curve is:
  • the Bézier curve has the characteristics of invariant affine transformation.
  • the generated third-order Bézier curve should meet the following requirements:
  • the start and end points of the Bézier curve are the start and target points of the robot
  • the curvature of the Bézier curve should be continuous and bounded
  • third-order Bézier curve has two unknown parameters d 1, d 2, in order to ensure continuous, bounded resistance, can be obtained by the process of optimizing d 1 of curvature, d 2, the optimization goal
  • the function is set to the smallest value of the maximum curvature of the third-order Bezier curve:
  • u m is the maximum value t that makes the curvature of the curve.
  • the optimization parameters of the above objective function are d 1 and d 2 , which minimize the maximum curvature of the robot, and thus make the robot's running trajectory smoother.
  • the speed optimization problem is finally transformed into a conditionally constrained nonlinear optimization problem, namely
  • the robot's running route is the planned third-order Bézier curve, so as to reach the target pose smoothly.
  • the total length of the Bézier curve is:
  • the angular speed at which the robot runs is:
  • the robot runs at a speed of [v 0 , w], which can realize a smooth travel from the starting point to the target point.
  • the program may be stored in a computer-readable storage medium, and the storage medium may be a read-only memory, a magnetic disk, or an optical disk.
  • Fig. 5 is a block diagram of a device for controlling operation of a robot according to an exemplary embodiment.
  • the device 50 for controlling the operation of the robot includes a state module 502, a path module 504, an angular velocity module 506, and an operation module 508.
  • the state module 502 is used to determine the current posture, target posture and running speed of the robot; wherein the current posture and target posture are the initial and end positions and posture of the robot.
  • the path module 504 is used to determine the running path according to the third-order Bezier curve and the current attitude and the target attitude; in one embodiment, according to the third-order Bezier curve and the current attitude and the target attitude
  • the running path includes: calculating the parameters of the third-order Bezier curve from the current position and the current direction angle, the target position and the target direction angle; and determining the running path according to the parameters of the third-order Bezier curve.
  • the angular speed module 506 is used to determine the operating angular speed through the operating path and the operating speed; for example, the speed update cycle of the robot; the number of speed updates of the robot; the operating time; and the operating time, speed update cycle, and speed
  • the number of updates determines the running angular velocity.
  • the speed update cycle, the number of speed updates, and the running time of the robot can be set by the user.
  • the operation module 508 is used for the robot to move at the operation speed and the operation angular speed to achieve the target posture.
  • the driving method of the robot is a rear-drive type.
  • a robot running path is generated by a third-order Bezier curve, and then the speed and angular velocity of the robot in operation are determined according to the running path, which can control the robot to run smoothly from the starting point to the target point.
  • Fig. 6 is a system block diagram of a robot according to another exemplary embodiment.
  • the robot 60 includes a control system 602 and an operation system 604.
  • the control system 602 is used to determine the current posture, target posture and running speed of the robot; determine the running path according to the third-order Bezier curve and the current posture and the target posture; determine the running through the running path and the running speed Angular velocity; and generating an operating instruction by determining the operating angular velocity from the operating speed;
  • the operation system 604 is used to receive the operation instruction and move according to the instruction to achieve the target posture.
  • Fig. 7 is a block diagram of an electronic device according to an exemplary embodiment.
  • the electronic device 200 according to this embodiment of the present application is described below with reference to FIG. 7.
  • the electronic device 200 shown in FIG. 7 is only an example, and should not bring any limitation to the functions and use scope of the embodiments of the present application.
  • the electronic device 200 is represented in the form of a general-purpose computing device.
  • Components of the electronic device 200 may include, but are not limited to: at least one processing unit 210, at least one storage unit 220, a bus 230 connecting different system components (including the storage unit 220 and the processing unit 210), a display unit 240, and the like.
  • the storage unit stores a program code
  • the program code may be executed by the processing unit 210, so that the processing unit 210 executes various exemplary according to the present application described in the above-mentioned electronic prescription circulation processing method section of this specification Example steps.
  • the processing unit 210 may perform the steps shown in FIG. 2 and FIG. 4.
  • the storage unit 220 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 2201 and / or a cache storage unit 2202, and may also include a read-only storage unit (ROM) 2203.
  • RAM random access storage unit
  • ROM read-only storage unit
  • the storage unit 220 may further include a program / utility tool 2204 having a set of (at least one) program modules 2205.
  • program modules 2205 include but are not limited to: an operating system, one or more application programs, other program modules, and programs Data, each of these examples or some combination may include the implementation of the network environment.
  • the bus 230 may be one or more of several types of bus structures, including a storage unit bus or a storage unit controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local area using any of a variety of bus structures bus.
  • the electronic device 200 may also communicate with one or more external devices 300 (such as a keyboard, pointing device, Bluetooth device, etc.), and may also communicate with one or more devices that enable a user to interact with the electronic device 200, and / or with This enables the electronic device 200 to communicate with any device (eg, router, modem, etc.) that communicates with one or more other computing devices. Such communication may be performed through an input / output (I / O) interface 250.
  • the electronic device 200 can also communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through the network adapter 260.
  • the network adapter 260 can communicate with other modules of the electronic device 200 through the bus 230.
  • the example embodiments described herein can be implemented by software, or can be implemented by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present application may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, U disk, mobile hard disk, etc.) or on a network , Including several instructions to enable a computing device (which may be a personal computer, server, or network device, etc.) to perform the above method according to an embodiment of the present application.
  • a non-volatile storage medium which may be a CD-ROM, U disk, mobile hard disk, etc.
  • a computing device which may be a personal computer, server, or network device, etc.
  • FIG. 8 schematically shows a schematic diagram of a computer-readable storage medium in an exemplary embodiment of the present application.
  • a program product 400 for implementing the above method according to an embodiment of the present application is described, which may use a portable compact disk read-only memory (CD-ROM) and include a program code, and may be in a terminal device, For example running on a personal computer.
  • the program product of the present application is not limited to this.
  • the readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, apparatus, or device.
  • the program code for performing the operations of the present application can be written in any combination of one or more programming languages, which includes object-oriented programming languages such as Java, C ++, etc., as well as conventional procedural formulas Programming language-such as "C" language or similar programming language.
  • the program code may be executed entirely on the user's computing device, partly on the user's device, as an independent software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server On the implementation.
  • the remote computing device may be connected to the user computing device through any kind of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (eg, using Internet service provision Business to connect via the Internet).
  • LAN local area network
  • WAN wide area network
  • Internet service provision Business to connect via the Internet
  • the computer-readable medium carries one or more programs.
  • the computer-readable medium realizes the following functions: determining the current posture, target posture, and running speed of the robot; A third-order Bezier curve and the current posture and the target posture determine the running path; determine the running angular speed through the running path and the running speed; control the robot to move at the running speed and the running angular speed to reach the goal attitude.
  • modules may be distributed in the device according to the description of the embodiment, or may be changed accordingly in one or more devices different from this embodiment.
  • the modules in the above embodiments may be combined into one module or split into multiple sub-modules.
  • the example embodiments described herein can be implemented by software, or can be implemented by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present application may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, U disk, mobile hard disk, etc.) or on a network , Including several instructions to make a computing device (which may be a personal computer, server, mobile terminal, or network device, etc.) execute the method according to the embodiments of the present application.
  • a non-volatile storage medium which may be a CD-ROM, U disk, mobile hard disk, etc.
  • a computing device which may be a personal computer, server, mobile terminal, or network device, etc.

Abstract

本申请部分实施例涉及一种控制机器人运行的方法、装置、机器人、电子设备及计算机可读介质。该方法包括:确定机器人的当前姿态、目标姿态以及运行速度;根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;通过所述运行路径与所述运行速度确定运行角速度;控制所述机器人以所述运行速度、运行角速度移动以达目标姿态。本公开涉及的控制机器人运行的方法、装置、机器人、电子设备及计算机可读介质,能够使得机器人平稳的从起点运行至目标点。

Description

机器人运行方法、装置、机器人、电子设备及可读介质
交叉引用
本申请引用于2018年11月12日递交的名称为“机器人运行方法、装置、机器人、电子设备及可读介质”的第201811339939.5号中国专利申请,其通过引用被全部并入本申请。
技术领域
本申请涉及机器人控制领域,特别涉及一种控制机器人运行的方法、装置、机器人、电子设备及计算机可读介质。
背景技术
随着科学科技的发展,机器人的应用范围不断扩大,机器人代替人完成工作任务也越来越普遍。机器人路径规划的方法有很多,例如典型的人工势场法、栅格法、遗传算法等。当机器人开始一次漫游时,首先全局规划器根据已有的长期信息进行全局静态规划,确定虚拟人应该经过的最优化路线。然后全局规划器控制执行系统按照该路径运动。
然而对于移动机器人,特别是室外巡逻机器人,运动场景非常复杂,可能随时遇到障碍物,在机器人遇到障碍物的时候,需要快速有效的改变机器人的路径。在这种使用场景下,控制机器人运行的全局路径规划方法不太适用。 在机器人运动过程中,机器人感知系统会持续对周围环境进行感知。当发现动态的物体或未知障碍时,可启用局部规划器根据这些感知到的局部信息,确定短期內的运动。当避障行为的优先级高于沿原路径前进时,局部规划器就能够通过竞争获得执行系统的控制权,使得虚拟人按照局部规划结果运动。完成对当前感知障碍的规避行为后,全局规划器再次取得执行系统的控制权,使得虚拟人重新回到全局规划路径上,继续向目标点运动。
发明人发现现有技术至少存在以下问题:由于机器人避障行为经常需要在很短的时间内,快速有效的改变机器人的路径,而现有技术中存在的快速改变机器人路径的方式,常常使得机器人在移动过程中存在不平稳的现象,因此,需要一种新的控制机器人运行的方法、装置、机器人、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
申请内容
本申请部分实施例的目的在于提供一种控制机器人运行的方法、装置、机器人、电子设备及计算机可读介质,能够控制机器人平稳的从起点运行至目标点。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请的一方面,提出一种控制机器人运行的方法,该方法包括:确定机器人的当前姿态、目标姿态以及运行速度;根据三阶贝塞尔曲线与所述 当前姿态、所述目标姿态确定运行路径;通过所述运行路径与所述运行速度确定运行角速度;以及控制所述机器人以所述运行速度、运行角速度移动以达目标姿态。
根据本申请的一方面,提出一种控制机器人运行的装置,该装置包括:状态模块,用于确定机器人的当前姿态、目标姿态以及运行速度;路径模块,用于根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;角速度模块,用于通过所述运行路径与所述运行速度确定运行角速度;以及运行模块,用于所述机器人以所述运行速度、运行角速度移动以达目标姿态。
根据本申请的一方面,提出一种机器人,该机器人包括:控制系统,用于确定机器人的当前姿态、目标姿态以及运行速度;根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;通过所述运行路径与所述运行速度确定运行角速度;以及通过所述运行速度确定运行角速度生成运行指令;以及运行系统,用于接收所述运行指令,并依据所述指令进行移动以达目标姿态。
根据本申请的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本申请的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本申请的控制机器人运行的方法、装置、机器人、电子设备及计算机可读介质,能够控制机器人平稳的从起点运行至目标点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种控制机器人运行的方法及装置的系统框图。
图2是根据一示例性实施例示出的一种控制机器人运行的方法的流程图。
图3是根据一示例性实施例示出的一种控制机器人运行的方法中三阶贝塞尔曲线示意图。
图4是根据另一示例性实施例示出的一种控制机器人运行的方法的流程图。
图5是根据一示例性实施例示出的一种控制机器人运行的装置的框图。
图6是根据另一示例性实施例示出的一种机器人系统的框图。
图7是根据一示例性实施例示出的一种电子设备的框图。
图8是根据一示例性实施例示出一种计算机可读存储介质示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术 人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本申请概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模 块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
本申请的发明人发现,对于移动机器人,特别是室外巡逻机器人,运动场景非常复杂,可能随时遇到障碍物,则需改变机器人的路径,全局路径规划方法不适用;有鉴于现有技术中的技术缺陷,本申请的发明人提出一种基于三阶贝塞尔(Bézier)曲线的机器人速度规划方法,利用Bézier曲线的特性实时规划机器人的速度。
本申请中的控制机器人运行的方法以“最大曲率最小化”为目标函数,通过最优化的方法,求得Bézier曲线的制点,进而求得参数方程;再结合机器人的实时位置和Bézier曲线的曲率实时规划机器人的速度。本申请中的控制机器人运行的方法已知机器人初始和末端位置和姿态,实时规划机器人的线速度和角速度。
下面将对本申请的详细内容进行描述:
图1是根据一示例性实施例示出的一种控制机器人运行的方法及装置的系统框图。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如搜索类应用、即时通信工具等。
终端设备101、102、103可以是具有控制功能、移动功能的电子设备,包括但不限于智能机器人、巡逻机器人、自动驾驶汽车的中控装置、智能家居等。
终端设备101、102、103中的储存单元和处理单元可在移动中为终端设备101、102、103提供实时路径规划。终端设备101、102、103可例如确定当前姿态、目标姿态以及运行速度;终端设备101、102、103可例如根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;终端设备101、102、103可例如通过所述运行路径与所述运行速度确定运行角速度;终端设备101、102、103可例如以所述运行速度、运行角速度移动以达目标姿态。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103在移动中提供实时路径规划的后台服务器。后台服务器可以对接收到的实时路径数据进行分析等处理,并将处理结果(例如角速度,运行轨迹、实时速度等)反馈给终端设备101、102、103,以便终端设备101、102、103进行移动。
终端设备101、102、103可例如将当前状态实时上传给服务器105,服务器105可例如确定终端设备101、102、103的当前姿态、目标姿态以及运行速度;服务器105可例如根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;服务器105可例如通过所述运行路径与所述运行速度确定运行角速度;服务器105可例如控制终端设备101、102、103以所述运行速度、运行角速度移动以达目标姿态。
服务器105可以是一个实体的服务器,还可例如为多个服务器组成,需要说明的是,本申请实施例所提供的控制机器人运行的方法可以由服务器105 执行也可由终端设备101、102、103中执行,相应地,控制机器人运行的装置可以设置于服务器105中,也可设置于终端设备101、102、103中。
图2是根据一示例性实施例示出的一种控制机器人运行的方法的流程图。控制机器人运行的方法20至少包括步骤S202至S208。
如图2所示,在S202中,确定机器人的当前姿态、目标姿态以及运行速度。其中,当前姿态、目标姿态为机器人初始和末端位置和姿态。具体可例如,当前姿态X 0=(x 0,y 00)包括当前位置与当前方向角;目标姿态X n=(x n,y nn)包括目标位置与目标方向角。
在S204中,根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径。
其中,贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。由于贝塞尔曲线自身具有的平滑特征,使得贝塞尔曲线在工业控制方面得到了很广泛的应用。
在一个实施例中,生成贝塞尔曲线需要数据点和控制点:
数据点:指一条路径的起始点和终止点。
控制点:控制点决定了一条路径的弯曲轨迹,根据控制点的个数,贝塞尔曲线被分为一阶贝塞尔曲线(0个控制点)、二阶贝塞尔曲线(1个控制点)、三阶贝塞尔曲线(2个控制点)等等。
在一个实施例中,根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径包括:通过当前位置与当前方向角、目标位置与目标方向角计算三阶贝塞尔曲线的参数;以及根据三阶贝塞尔曲线的参数确定所述运行路径。
在一个实施例中,具体可通过具有2个控制点的三阶贝塞尔曲线确定运 行路径。在生成运行路径的过程中,具体可为:将机器人的初始和末端位置位置作为贝塞尔曲线数据点,求取2个控制点以确定三阶贝塞尔曲线,生成的三阶贝塞尔曲线可例如图3所示。
在S206中,通过所述运行路径与所述运行速度确定运行角速度。可例如,确定机器人的速度更新周期;确定机器人的速度更新次数;确定运行时间;以及通过运行时间、速度更新周期、速度更新次数确定运行角速度。其中,机器人的速度更新周期,速度更新次数,运行时间均可通过用户指定进行设置。
在一个实施例中,机器人的速度更新周期,速度更新次数,运行时间还可例如通过机器人待完成的任务时间,以及当前时间进行优化计算继而确定。
在一个实施例中,确定机器人速度更新次数包括:确定所述运行路径的路径长度;以及通过路径长度、运行速度、速度更新周期确定速度更新次数。其中,可通过计算三阶贝塞尔曲线的曲线长度确定路径长度;运行速度可通过用户指定。
在S208中,控制所述机器人以所述运行速度、运行角速度移动以达目标姿态。其中,所述机器人的驱动方式为后驱型。
驱动方式是指发动机的布置方式以及驱动轮的数量、位置的形式。一般的可移动终端都有前、后两排车轮,其中直接由发动机驱动转动,从而推动(或拉动)汽车前进的车轮就是驱动轮。
按照驱动轮的数量,可分为两轮驱动和四轮驱动两大类。根据发动机在汽车的位置以及驱动轮的位置,两轮驱动又分为前置后驱(FR)、前置前驱(FF)、后置后驱(RR)、中置后驱(MR)等四种形式。在本申请中,机器人可例如为前转后驱型机器人。
值得一提的是,在现有技术中,大部分的车辆也为后驱型车辆,所以本申请中的控制机器人运行的方法也可应用于自动驾驶的汽车控制领域。
根据本申请的控制机器人运行的方法,通过三阶贝塞尔曲线生成机器人运行路径,进而根据运行路径确定机器人运行中的速度与角速度的方式,能够控制机器人平稳的从起点运行至目标点。
应清楚地理解,本申请描述了如何形成和使用特定示例,但本申请的原理不限于这些示例的任何细节。相反,基于本申请公开的内容的教导,这些原理能够应用于许多其它实施例。
图4是根据另一示例性实施例示出的一种控制机器人运行的方法的流程图。图4所示的流程是对图2所示的流程中S204中“根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径”的详细描述,
如图4所示,在S402中,通过所述当前位置与所述目标位置确定三阶贝塞尔曲线的起点与终点。
在S404中,通过所述起点、所述终点、当前方向角、以及目标方向角确定第一中间点参数方程与第二中间点参数方程。
在S406中,通过有约束条件的优化方法求解所述第一中间点参数方程得到第一中间点。其中,所述优化方法的优化目标包括:三阶贝塞尔曲线的最大曲率的值最小。所述优化方法的约束条件包括:三阶贝塞尔曲线的最大曲率小于预定值;以及所述第一中间点的值、以及所述第二中间点的值均大于零。
在S408中,通过有约束条件的优化方法求解所述第二中间点参数方程得到第二中间点。其中,所述优化方法的优化目标包括:三阶贝塞尔曲线的最大曲率的值最小。所述优化方法的约束条件包括:三阶贝塞尔曲线的最大曲率小 于预定值;以及所述第一中间点的值、以及所述第二中间点的值均大于零。
在S410中,通过起点、终点、第一中间点、以及第二中间点确定三阶贝塞尔曲线的参数。
下面根据三阶Bézier曲线对生成运行路径的过程进行说明。如上文所述,三阶Bézier曲线由4个控制点唯一确定的平面三阶Bézier曲线,其基本特性如下:
三阶Bézier曲线的参数方程为:
P(u)=P 0(1-u) 3+3P 1(1-u) 2u+3P 2(1-u)u 2+P 3u 3,u∈[0,1]
Bézier曲线的起点和终点,即:
P(0)=P 0
P(1)=P 3
Bézier曲线端点的切向量为:
P′(0)=3(P 1-P 0)
P′(1)=3(P 4-P 3)
Bézier曲线在任一点的曲率为:
Figure PCTCN2019116109-appb-000001
Bézier曲线具有仿射变换不变的特性,为保证规划的机器人轨迹平滑可行,生成的三阶Bézier曲线应满足如下要求:
Bézier曲线的起点和终点为机器人的起点和目标点;
Bézier曲线的起点和终点的切线向量与机器人的姿态平行;
Bézier曲线的曲率应该连续且有界;
假设机器人初始姿态为X 0=(x 0,y 00),目标姿态为X n=(x n,y nn),其中θ 为机器人的方向角,为满足以上要求,生成三阶Bézier曲线的4个控制点(起点,第一中间点,第二中间点,以及终点)为:
Figure PCTCN2019116109-appb-000002
其中,d 1=|P 0P 1|,d 2=|P 2P 3|。
通过以上参数化方法,可知的三阶Bézier曲线有两个未知参数d 1、d 2,为保证曲率的连续、有界性,可通过最优化的方法来求得d 1、d 2,优化目标函数设定为三阶贝塞尔曲线的最大曲率的值最小:
J(d 1,d 2)=κ max(u m)
其中,u m为使得曲线的曲率为最大值得t。
上述目标函数的的优化参数为d 1、d 2,使得机器人的最大曲率最小,从而使机器人的运行轨迹较为平滑,该速度优化问题最终转化为有条件约束的非线性优化问题,即:
minimize:J(d 1,d 2)
s.t.κ max(u)≤K max
d 1>0
d 2>0
至此已求出三阶Bézier曲线的4个控制点,即得到了曲线的参数方程,进而可求出在曲线上任一点的曲率。
对于移动机器人来说,为保证机器人沿着规划的三阶Bézier曲线运动,只需保证机器人任意时刻的转弯半径与此时机器人所在曲线位置的曲率半径相 等即可。假设根据机器人以线速度v(t)由起点运行至目标点,则机器人的角速度为:
ω(t)=v(t)·κ(u)
其中,u=f(t)。
如果机器人严格按照规划的速度[v,w]运行,则机器人的运行路线即为规划的三阶Bézier曲线,从而平稳的到达目标位姿。
值得一提的是,在一个实施例中,在求解三阶贝塞尔曲线的参数过程中,还可例如通过其他的优化方法,优化的目标也可根据实际的需要进行调整,本申请不以此为限。
下面将以一个具体的实施例,介绍在机器人运行过程中,角速度、以及运行路径的具体计算过程:
假设机器人初始姿态为X 0=(x 0,y 00),目标姿态为X n=(x n,y nn),则三阶Bézier曲线的4个控制点为:
Figure PCTCN2019116109-appb-000003
根据优化函数
minimize:J(d 1,d 2)
s.t.κ max(t)≤K max
d 1>0
d 2>0
求得最优的d 1、d 2
则三阶Bézier曲线的参数方程为:
P(u)=P 0(1-u) 3+3P 1(1-u) 2t+3P 2(1-u)t 2+P 3u 3,u∈[0,1]
Bézier曲线的总长度为:
Figure PCTCN2019116109-appb-000004
假设机器人在整个曲线上以匀速速度v 0运行,机器人速度更新周期为Δt,则机器人速度更新总次数为:
Figure PCTCN2019116109-appb-000005
机器人运行的角速度为:
Figure PCTCN2019116109-appb-000006
根据本申请中的机器人运行方法,机器人以速度[v 0,w]的速度运行,即可实现从起点平滑的运行至目标点。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本申请提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图5是根据一示例性实施例示出的一种控制机器人运行的装置的框图。 控制机器人运行的装置50包括:状态模块502,路径模块504,角速度模块506,以及运行模块508。
状态模块502用于确定机器人的当前姿态、目标姿态以及运行速度;其中,当前姿态、目标姿态为机器人初始和末端位置和姿态。
路径模块504用于根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;在一个实施例中,根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径包括:通过当前位置与当前方向角、目标位置与目标方向角计算三阶贝塞尔曲线的参数;以及根据三阶贝塞尔曲线的参数确定所述运行路径。
角速度模块506用于通过所述运行路径与所述运行速度确定运行角速度;可例如,确定机器人的速度更新周期;确定机器人的速度更新次数;确定运行时间;以及通过运行时间、速度更新周期、速度更新次数确定运行角速度。其中,机器人的速度更新周期,速度更新次数,运行时间均可通过用户指定进行设置。
运行模块508用于所述机器人以所述运行速度、运行角速度移动以达目标姿态。其中,所述机器人的驱动方式为后驱型。
根据本申请的控制机器人运行的装置,通过三阶贝塞尔曲线生成机器人运行路径,进而根据运行路径确定机器人运行中的速度与角速度的方式,能够控制机器人平稳的从起点运行至目标点。
图6是根据另一示例性实施例示出的一种机器人的系统框图。机器人60包括:控制系统602,运行系统604。
控制系统602用于确定机器人的当前姿态、目标姿态以及运行速度;根 据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;通过所述运行路径与所述运行速度确定运行角速度;以及通过所述运行速度确定运行角速度生成运行指令;
运行系统604用于接收所述运行指令,并依据所述指令进行移动以达目标姿态。
图7是根据一示例性实施例示出的一种电子设备的框图。
下面参照图7来描述根据本申请的这种实施例的电子设备200。图7显示的电子设备200仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书上述电子处方流转处理方法部分中描述的根据本申请各种示例性实施例的步骤。例如,所述处理单元210可以执行如图2,图4中所示的步骤。
所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)2201和/或高速缓存存储单元2202,还可以包括只读存储单元(ROM)2203。
所述存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者 多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本申请实施例的上述方法。
图8示意性示出本申请示例性实施例中一种计算机可读存储介质示意图。
参考图8所示,描述了根据本申请的实施例的用于实现上述方法的程序产品400,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:确定机器人的当前姿态、目标姿态以及运行速度;根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;通过所述运行路径与所述运行速度确定运行角速度;控制所述机器人以所述运行速度、运行角速度移动以达目标姿态。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施例的方法。
以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (15)

  1. 一种控制机器人运行的方法,其中,包括:
    确定机器人的当前姿态、目标姿态以及运行速度;
    根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;
    通过所述运行路径与所述运行速度确定运行角速度;以及
    控制所述机器人以所述运行速度、运行角速度移动以达目标姿态。
  2. 如权利要求1所述的方法,其中,所述当前姿态包括当前位置与当前方向角;目标姿态包括目标位置与目标方向角;
    根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径包括:
    通过当前位置与当前方向角、目标位置与目标方向角计算三阶贝塞尔曲线的参数;以及
    根据三阶贝塞尔曲线的参数确定所述运行路径。
  3. 如权利要求2所述的方法,其中,通过当前位置与当前方向角、目标位置与目标方向角计算三阶贝塞尔曲线的参数包括:
    通过所述当前位置与所述目标位置确定三阶贝塞尔曲线的起点与终点;
    通过所述起点、所述终点、当前方向角、以及目标方向角确定第一中间点参数方程与第二中间点参数方程;以及
    求解所述第一中间点参数方程与第二中间点参数方程以获取三阶贝塞尔曲线的参数。
  4. 如权利要求3所述的方法,其中,求解所述第一中间点参数方程与第二中间点参数方程以获取三阶贝塞尔曲线的参数包括:
    通过有约束条件的优化方法求解所述第一中间点参数方程得到第一中间点;
    通过有约束条件的优化方法求解所述第二中间点参数方程得到第二中间点;以及
    通过起点、终点、第一中间点、以及第二中间点确定三阶贝塞尔曲线的参数。
  5. 如权利要求4所述的方法,其中,所述优化方法的优化目标包括:
    三阶贝塞尔曲线的最大曲率的值最小。
  6. 如权利要求4或5所述的方法,其中,所述优化方法的约束条件包括:
    三阶贝塞尔曲线的最大曲率小于预定值;以及
    所述第一中间点的值、以及所述第二中间点的值均大于零。
  7. 如权利要求4至6中任一项所述的方法,其中,根据三阶贝塞尔曲线的参数确定所述运行路径包括:
    将参数带入三阶贝塞尔曲线公式,以确定所述运行路径。
  8. 如权利要求1至7中任一项所述的方法,其中,通过所述运行路径与所述运行速度确定运行角速度包括:
    确定机器人的速度更新周期;
    确定机器人的速度更新次数;
    确定运行时间;以及
    通过运行时间、速度更新周期、速度更新次数确定运行角速度。
  9. 如权利要求8所述的方法,其中,确定机器人速度更新次数包括:
    确定所述运行路径的路径长度;以及
    通过路径长度、运行速度、速度更新周期确定速度更新次数。
  10. 如权利要求1至9中任一项所述的方法,其中,所述机器人包括:
    前转后驱型机器人。
  11. 一种控制机器人运行的装置,其中,包括:
    状态模块,用于确定机器人的当前姿态、目标姿态以及运行速度;
    路径模块,用于根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;
    角速度模块,用于通过所述运行路径与所述运行速度确定运行角速度;以及
    运行模块,用于所述机器人以所述运行速度、运行角速度移动以达目标姿态。
  12. 一种机器人,其中,包括:
    控制系统,用于确定机器人的当前姿态、目标姿态以及运行速度;根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;通过所述运行路径与所述运行速度确定运行角速度;以及通过所述运行速度确定运行角速度生成运行指令;以及
    运行系统,用于接收所述运行指令,并依据所述指令进行移动以达目标姿态。
  13. 如权利要求12所述的机器人,其中,所述机器人包括:
    前转后驱型机器人。
  14. 一种电子设备,其中,包括:
    一个或多个处理器;
    存储装置,用于存储一个或多个程序;
    当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
  15. 一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
PCT/CN2019/116109 2018-11-12 2019-11-06 机器人运行方法、装置、机器人、电子设备及可读介质 WO2020098551A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/728,629 US20200147796A1 (en) 2018-11-12 2019-12-27 Moving method and device for a robot, robot, electronic apparatus and readable medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811339939.5A CN109434831B (zh) 2018-11-12 2018-11-12 机器人运行方法、装置、机器人、电子设备及可读介质
CN201811339939.5 2018-11-12

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/728,629 Continuation US20200147796A1 (en) 2018-11-12 2019-12-27 Moving method and device for a robot, robot, electronic apparatus and readable medium

Publications (1)

Publication Number Publication Date
WO2020098551A1 true WO2020098551A1 (zh) 2020-05-22

Family

ID=65551372

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/116109 WO2020098551A1 (zh) 2018-11-12 2019-11-06 机器人运行方法、装置、机器人、电子设备及可读介质

Country Status (2)

Country Link
CN (1) CN109434831B (zh)
WO (1) WO2020098551A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109434831B (zh) * 2018-11-12 2020-11-27 深圳前海达闼云端智能科技有限公司 机器人运行方法、装置、机器人、电子设备及可读介质
CN110308733A (zh) * 2019-08-07 2019-10-08 四川省众望科希盟科技有限公司 一种微小型机器人运动控制系统、方法、存储介质及终端
CN110737276B (zh) * 2019-11-06 2023-03-31 达闼机器人股份有限公司 预警方法、巡逻机器人及计算机可读存储介质
JP7441047B2 (ja) * 2020-01-10 2024-02-29 三菱重工業株式会社 経路生成装置、制御装置、検査システム、経路生成方法およびプログラム
CN111993411A (zh) * 2020-07-07 2020-11-27 深圳市优必选科技股份有限公司 一种机器人运动规划方法、装置、机器人及存储介质
CN114543763B (zh) * 2020-11-24 2024-01-16 广东博智林机器人有限公司 一种地坪设备的工作方法、装置、设备及介质
CN112720479B (zh) * 2020-12-22 2022-03-18 深圳市优必选科技股份有限公司 一种机器人姿态控制方法、装置及机器人
CN115685990A (zh) * 2022-09-22 2023-02-03 深圳市智绘科技有限公司 自动充电方法、装置、电子设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6252614A (ja) * 1985-08-30 1987-03-07 Shinko Electric Co Ltd 自立走行ロボツトの走行制御方法
CN102207736A (zh) * 2010-03-31 2011-10-05 中国科学院自动化研究所 基于贝塞尔曲线的机器人路径规划方法及装置
US20150178961A1 (en) * 2013-12-20 2015-06-25 Nvidia Corporation System, method, and computer program product for angular subdivision of quadratic bezier curves
CN107168305A (zh) * 2017-04-01 2017-09-15 西安交通大学 路口场景下基于Bezier和VFH的无人车轨迹规划方法
CN107756397A (zh) * 2017-08-30 2018-03-06 北京华航唯实机器人科技股份有限公司 调整机器人轨迹的方法和装置
CN108255174A (zh) * 2017-12-20 2018-07-06 北京理工华汇智能科技有限公司 机器人路径规划方法及装置
CN109434831A (zh) * 2018-11-12 2019-03-08 深圳前海达闼云端智能科技有限公司 机器人运行方法、装置、机器人、电子设备及可读介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106383440A (zh) * 2016-10-18 2017-02-08 河池学院 基于路径规划控制运动的机器人
CN107702723B (zh) * 2017-11-27 2019-11-08 安徽工程大学 一种机器人路径规划方法、存储介质及设备
CN108629847A (zh) * 2018-05-07 2018-10-09 网易(杭州)网络有限公司 虚拟对象移动路径生成方法、装置、存储介质及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6252614A (ja) * 1985-08-30 1987-03-07 Shinko Electric Co Ltd 自立走行ロボツトの走行制御方法
CN102207736A (zh) * 2010-03-31 2011-10-05 中国科学院自动化研究所 基于贝塞尔曲线的机器人路径规划方法及装置
US20150178961A1 (en) * 2013-12-20 2015-06-25 Nvidia Corporation System, method, and computer program product for angular subdivision of quadratic bezier curves
CN107168305A (zh) * 2017-04-01 2017-09-15 西安交通大学 路口场景下基于Bezier和VFH的无人车轨迹规划方法
CN107756397A (zh) * 2017-08-30 2018-03-06 北京华航唯实机器人科技股份有限公司 调整机器人轨迹的方法和装置
CN108255174A (zh) * 2017-12-20 2018-07-06 北京理工华汇智能科技有限公司 机器人路径规划方法及装置
CN109434831A (zh) * 2018-11-12 2019-03-08 深圳前海达闼云端智能科技有限公司 机器人运行方法、装置、机器人、电子设备及可读介质

Also Published As

Publication number Publication date
CN109434831A (zh) 2019-03-08
CN109434831B (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
WO2020098551A1 (zh) 机器人运行方法、装置、机器人、电子设备及可读介质
Mercy et al. Spline-based motion planning for autonomous guided vehicles in a dynamic environment
Dolgov et al. Practical search techniques in path planning for autonomous driving
Kalakrishnan et al. Learning objective functions for manipulation
Ali et al. Path planning of mobile robot with improved ant colony algorithm and MDP to produce smooth trajectory in grid-based environment
Murali et al. Perception-aware trajectory generation for aggressive quadrotor flight using differential flatness
Rösmann et al. Efficient trajectory optimization using a sparse model
US20200147796A1 (en) Moving method and device for a robot, robot, electronic apparatus and readable medium
Dunlap et al. Motion planning for mobile robots via sampling-based model predictive optimization
Yi et al. Path planning of a manipulator based on an improved P_RRT* algorithm
CN112052993A (zh) 一种基于改进teb算法的agv局部路径规划方法
Kang et al. Sampling-based motion planning of manipulator with goal-oriented sampling
Ahmed et al. Space deformation based path planning for Mobile Robots
Li Robot target localization and interactive multi-mode motion trajectory tracking based on adaptive iterative learning
Mischinger et al. Towards comfort-optimal trajectory planning and control
Farooq et al. Fuzzy logic based path tracking controller for wheeled mobile robots
McMahon et al. A survey on the integration of machine learning with sampling-based motion planning
Pradhan et al. Indoor navigation for mobile robots using predictive fields
CN116009558A (zh) 一种结合运动学约束的移动机器人路径规划方法
Zhang et al. Intelligent path planning by an improved RRT algorithm with dual grid map
Rashid et al. Path planning and obstacle avoidance based on shortest distance algorithm
Korayem et al. Dynamic optimal payload path planning of mobile manipulators among moving obstacles
Pérez-Morales et al. Information-Theoretic Sensor-Based Predictive Control for Autonomous Vehicle Navigation: A Proof of Concept
Jiang et al. Globally perceived obstacle avoidance for robots based on virtual twin and deep reinforcement learning
Munoz et al. Smooth trajectory planning method for mobile robots

Legal Events

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

Ref document number: 19885406

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19885406

Country of ref document: EP

Kind code of ref document: A1