WO2018113382A1 - 可移动装置的控制方法及系统 - Google Patents

可移动装置的控制方法及系统 Download PDF

Info

Publication number
WO2018113382A1
WO2018113382A1 PCT/CN2017/104768 CN2017104768W WO2018113382A1 WO 2018113382 A1 WO2018113382 A1 WO 2018113382A1 CN 2017104768 W CN2017104768 W CN 2017104768W WO 2018113382 A1 WO2018113382 A1 WO 2018113382A1
Authority
WO
WIPO (PCT)
Prior art keywords
movable device
center
speed
determining
wheel speed
Prior art date
Application number
PCT/CN2017/104768
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/472,094 priority Critical patent/US11300973B2/en
Publication of WO2018113382A1 publication Critical patent/WO2018113382A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory

Definitions

  • the present invention relates to the field of computers, and in particular, to a method and system for controlling a mobile device.
  • the handling robot does not have a human-like sensory organ.
  • accurate navigation control of the handling robot is required to avoid accidents such as collisions.
  • the magnetic strip can be used for continuous navigation to keep the handling robot from deviating from the established orbit.
  • the position where the magnetic strip is arranged defines the path of the handling robot.
  • One aspect of the present invention provides a control method of a movable device for controlling movement of the movable device between a first position and a second position, comprising: determining a position of a center of the movable device, The distance from the center to the left and right wheels of the movable device is equal; determining the walking path of the movable device according to the position of the center of the movable device, the position of the first position and the second position; Determining a difference between a left wheel speed and a right wheel speed of the movable device and the center speed, the travel path, a center speed of the movable device, and geometric data of the movable device, the center Speed is a motion speed of a center of the movable device; determining a left wheel speed and a right wheel speed of the movable device according to a difference between the left wheel speed and the right wheel speed and the center speed; The left wheel speed and the right wheel speed control the movement of the movable device.
  • Another aspect of the present invention provides a control system for a movable device for controlling movement of the movable device between a first position and a second position, comprising: a processor; and a memory stored in an executable An instruction, when executed by the processor, causing the processor to perform: determining a position of a center of the movable device, the distance from the center to the left and right wheels of the movable device being equal; according to a center of the movable device a position of the first position and the second position, determining a walking path of the movable device; according to the walking path, a center speed of the movable device, and geometric data of the movable device Determining a difference between a left wheel speed and a right wheel speed of the movable device and the center speed, the center speed being a motion speed of a center of the movable device; according to the left wheel speed and the right wheel speed Determining a left wheel speed and a right wheel speed of the movable device with a difference between the center
  • a control system for a mobile device for controlling the movable device at Movement between a position and a second position comprising: a center determination module determining a position of a center of the movable device, the distance from the center to the left and right wheels of the movable device being equal; a path determination module, according to which a position of the center of the mobile device, a position of the first position and the second position, determining a walking path of the movable device; a speed difference determining module according to the walking path, a center of the movable device a velocity and a geometric data of the movable device determining a difference between a left wheel speed and a right wheel speed of the movable device and the center speed, the center speed being a motion speed of a center of the movable device a left and right wheel speed determining module determining a left wheel speed and a right wheel speed of the movable device according to a difference between the left wheel speed and the right wheel speed and the center speed;
  • Another aspect of the present invention provides a computer readable storage medium having stored thereon instructions for performing a method of determining a position of a center of a movable device, a distance from the center to a left wheel and a right wheel of the movable device Equivalent; determining a walking path of the movable device according to a position of a center of the movable device, a position of the first position, and the second position; according to the walking path, a center of the movable device a velocity and a geometric data of the movable device determining a difference between a left wheel speed and a right wheel speed of the movable device and the center speed, the center speed being a motion speed of a center of the movable device Determining a left wheel speed and a right wheel speed of the movable device according to a difference between the left wheel speed and the right wheel speed and the center speed; and moving the movable wheel according to the left wheel speed and the right wheel speed The motion of the device is controlled.
  • Fig. 1 schematically shows a schematic diagram of the principle of walking of a movable device according to an embodiment of the present invention.
  • FIG. 2 schematically shows a flow chart of a control method of a mobile device according to an embodiment of the present invention.
  • FIG. 3 schematically shows a block diagram of a control system of a mobile device in accordance with an embodiment of the present invention.
  • FIG. 4 is a block diagram schematically showing a control system of a mobile device in accordance with another embodiment of the present invention.
  • the techniques of this disclosure may be implemented in the form of hardware and/or software (including firmware, microcode, etc.). Additionally, the techniques of the present disclosure may take the form of a computer program product on a computer readable medium storing instructions for use by an instruction execution system.
  • a computer readable medium can be any medium that can contain, store, communicate, propagate or transport the instructions.
  • a computer readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium.
  • the computer readable medium include: a magnetic storage device such as a magnetic tape or a hard disk (HDD); an optical storage device such as a compact disk (CD-ROM); a memory such as a random access memory (RAM) or a flash memory; and/or a wired /Wireless communication link.
  • a magnetic storage device such as a magnetic tape or a hard disk (HDD)
  • an optical storage device such as a compact disk (CD-ROM)
  • a memory such as a random access memory (RAM) or a flash memory
  • RAM random access memory
  • Fig. 1 schematically shows a schematic diagram of the principle of walking of a movable device according to an embodiment of the present invention.
  • the mobile device may be a robot or an autonomous vehicle.
  • the robot can be, for example, a handling robot used in a warehouse.
  • point O and point Q represent a known first position and a second position, respectively, and point P represents the current position of the center of the movable device.
  • the movable device may be a robot or an autonomous vehicle, but is not limited thereto.
  • the movable device may comprise at least a left and a right wheel, the center of the movable device being a point of equal distance to the left and right wheels.
  • the center of the mobile device can be located on the mobile device or outside the mobile device.
  • the center of the mobile device can be a point on the motion plane (eg, the ground) of the movable device that is below the movable device.
  • the center of the movable device may be the midpoint of the connection of the left and right wheeled locations of the movable device. According to the method described below, a travel path from point P to point Q is calculated for controlling the center of the movable device to move from point P to point Q.
  • the center of the movable device, the point O, and the line of points Q are parallel to the plane of motion of the movable device.
  • the center of the movable device, the point O, and the point Q are points on the moving plane (for example, the ground) of the movable device.
  • the point O is used as the origin of the coordinate system, and the line between the point O and the point Q is taken as the horizontal axis (x-axis); the axis passing through the origin and perpendicular to the horizontal axis is taken as the vertical axis (y-axis),
  • the curve represents the calculated walking path of the movable device.
  • the offset of the point P relative to the point O is first determined to determine the position of the point P from the point O where the position is known.
  • it can be arranged at point O by an image acquisition unit (for example, a camera) on the movable device.
  • different pictures such as different two-dimensional code pictures, may be arranged at different locations. The picture can be designed such that when the position of the point P is different with respect to the point O, the obtained image is also different. In this way, the offset can be determined from different images.
  • various offset states may be traversed in advance to form a mapping table between the offset and the image, and then the offset corresponding to the acquired image may be determined according to the lookup of the mapping table.
  • an image obtained when the relative position of the point P and the point O is known may be acquired first, for example, an image when the point P coincides with the point O as a reference image, and an image acquired later in real time is compared with the reference image, and then according to the movable device.
  • the geometry data is used to calculate the current offset.
  • a curve can be fitted between the point P and the point Q as the walking path of the movable device.
  • the walking path is a walking path of a center point of the movable device. Then, the left wheel speed and the right wheel speed of the movable device are controlled according to the walking path, the moving speed of the center of the movable device, and the geometric data of the movable device, thereby controlling the movement of the movable device.
  • FIG. 2 schematically shows a flow chart of a control method of a mobile device according to an embodiment of the present invention.
  • the movable device may be a robot or an autonomous vehicle, and the robot of the embodiment uses the transport robot, but is not limited thereto. According to this embodiment, the movement of the movable device between the first position and the second position is controlled.
  • step S200 The method begins in step S200.
  • the position of the center of the transport robot is determined, which is a point at which the distances to the left and right wheels of the transport robot are equal.
  • the center of the handling robot may be any one of the following: located on the handling robot; outside the handling robot; on the moving plane of the handling robot (eg, the ground); or the midpoint of the connecting left and right wheeling locations of the robot .
  • the center of the transport robot is the midpoint of the connection of the left and right wheel contact points of the transport robot.
  • the position of the center point thereof can be determined by scanning a two-dimensional code picture arranged on the ground by a camera provided on the handling robot.
  • a camera provided on the handling robot.
  • an array of two-dimensional code pictures can be arranged on the ground, each two-dimensional code picture being different from each other and its position being known.
  • the camera scans a two-dimensional code picture at a point O, for example, at the first position, it can be known that it is located near the point O by recognizing the two-dimensional code.
  • the offset of the current position point P of the center of the handling robot relative to the point O can be obtained using the image of the scanned two-dimensional code picture according to the method described above with reference to FIG.
  • step S202 the traveling path of the transport robot is determined. Referring to Figure 1, it is assumed that the handling robot is to move from point P to a known second position point Q.
  • the interpolation algorithm may be a cubic Hermite interpolation algorithm, as shown in the following formula (1):
  • H3 (x) is the walking path of the center of the handling robot.
  • interpolation algorithms may also be used to perform the above curve fitting, such as Lagrange interpolation algorithm, Newton interpolation algorithm or piecewise interpolation algorithm.
  • step S203 a difference between the left wheel speed and the right wheel speed of the handling robot and the center speed of the vehicle body is determined.
  • the travel path of the center of the transport robot is calculated above.
  • the difference between the left wheel speed and the right wheel speed of the transport robot and the center speed of the vehicle body needs to be calculated accordingly, and the left wheel speed and the right wheel speed of the transport robot are determined, and This controls the movement of the left and right wheels.
  • the traveling path determined in step S202 can be divided into a plurality of arcs, and the radius of rotation cycleR0 when the center of the handling robot passes through each arc is calculated.
  • the radius of rotation cycleR0 the center speed of the body of the handling robot fCurVel And the left and right wheel spacing of the handling robot, the vehicleRadius, can determine the difference fDiffVel between the left wheel speed and the right wheel speed of the body of the handling robot body passing through each arc, and the center speed of the vehicle body, as shown in the following formula ( 2) shown:
  • the abscissa xNew of the center of the transport robot can be calculated every time period t according to the following formula (3).
  • fCurVel is the speed of the center of the handling robot during this time period t
  • xOld is the last calculated abscissa.
  • xOld x.
  • fCurVel is used to approximate the speed of the center of the transport robot in the x-axis direction. It can be understood that t can be a fixed value set in advance, but the present invention is not limited thereto.
  • the difference fDiffVel between the left wheel speed and the right wheel speed of the center of the transport robot body passing through the arc and the center speed of the vehicle body can be determined.
  • step S204 the left wheel speed VL and the right wheel speed VR of the transport robot are determined according to the transport robot body center speed fCurVel and the difference fDiffVel, as shown in the following formula (5):
  • V L fCurVel+fDiffVel
  • V R fCurVel-fDiffVel (5)
  • step S205 the movement of the handling robot can be controlled according to the above-mentioned left wheel speed and right wheel speed, that is, the blind walking can be performed correctly without the guidance of navigation information between the known first position and the second position.
  • the method ends at step S206.
  • an array of two-dimensional code pictures can be arranged on the ground.
  • a sequence of two-dimensional code pictures to be passed by the mobile device can be determined.
  • the movable device can be controlled to move through the two-dimensional code sequence to realize navigation of the movable device.
  • FIG. 3 schematically illustrates a block diagram of a control system 300 of a mobile device in accordance with an embodiment of the present invention.
  • the movable device may be a robot or an autonomous vehicle, and the robot of the embodiment uses the transport robot, but is not limited thereto.
  • control system 300 controls the movement of the movable device between the first position and the second position.
  • the system 300 includes a center determination module 310, a path determination module 320, a speed difference determination module 330, a left and right wheel speed determination module 340, and a motion control module 350.
  • the center determination module 310 determines the position of the center of the handling robot, which is the point at which the distances to the left and right wheels of the handling robot are equal.
  • the center of the handling robot may be any one of the following: located on the handling robot; outside the handling robot; on the moving plane of the handling robot (eg, the ground); or the midpoint of the connecting left and right wheeling locations of the robot .
  • the center of the transport robot is the midpoint of the connection of the left and right wheel contact points of the transport robot.
  • the position of the center point thereof can be determined by scanning a two-dimensional code picture arranged on the ground by a camera provided on the handling robot.
  • a camera provided on the handling robot.
  • an array of two-dimensional code pictures can be arranged on the ground, each two-dimensional code picture being different from each other and its position being known.
  • the camera scans a two-dimensional code picture at a point O, for example, at the first position, it can be known that it is located near the point O by recognizing the two-dimensional code.
  • the offset of the current position point P of the center of the handling robot relative to the point O can be obtained using the image of the scanned two-dimensional code picture according to the method described above with reference to FIG.
  • the path determination module 320 determines the walking path of the handling robot. Referring to Figure 1, it is assumed that the handling robot is to move from point P to a known second position point Q.
  • the module may include a coordinate system module 321, a coordinate determination module 322, and a fitting module 323.
  • the coordinate system module 321 establishes a coordinate system based on the point O and the point Q. Specifically, the coordinate system module 321 takes the point O as the coordinate system origin, and the line between the point O and the point Q as the horizontal axis (x-axis); the axis passing through the origin and perpendicular to the horizontal axis as the vertical axis (y-axis) , establish a coordinate system.
  • the coordinate determination module 322 determines the coordinates of the point P and the point Q in the above coordinate system. Specifically, the coordinate determination module 322 determines the coordinates ( ⁇ x, ⁇ y) of the point P in the coordinate system according to the offset of the point P determined by the center determining module 310 with respect to the point O, and the connection between the point O and the point P and y.
  • the fitting module 323 performs an curve fitting between the position of the point P and the position of the point Q by using an interpolation algorithm, and the obtained curve is the above-mentioned walking path. Specifically, the fitting module 323 can perform curve fitting between the point P and the point Q according to the point P and the point Q coordinate obtained by the coordinate determining module 322, and the obtained curve is the walking path.
  • the interpolation algorithm may be a cubic Hermite interpolation algorithm, as shown in the above formula (1), and the calculated H3(x) is the walking path of the center of the handling robot.
  • interpolation algorithms may also be used to perform the above curve fitting, such as Lagrange interpolation algorithm, Newton interpolation algorithm or piecewise interpolation algorithm.
  • the speed difference determination module 330 determines a difference between the left wheel speed and the right wheel speed of the handling robot and the body center speed.
  • the travel path of the center of the transport robot is calculated above.
  • the difference between the left and right wheel speeds of the transport robot and the center speed of the vehicle body needs to be calculated accordingly, and the motion of the left and right wheels is controlled accordingly.
  • the speed difference determination module 330 may include a rotation radius determination module 331 and a difference meter Calculation module 332.
  • the rotation radius determination module 331 determines the radius of rotation of the arc of the center of the transport robot through the travel path. Specifically, the rotation radius determination module 331 can divide the travel path determined by the path determination module 320 into a plurality of arcs, and calculate a rotation radius cycleR0 when the center of the transfer robot passes each arc.
  • the abscissa xNew of the center of the transport robot can be calculated every time period t according to the above formula (3).
  • fCurVel is the speed of the center of the handling robot during this time period t
  • xOld is the last calculated abscissa.
  • xOld x.
  • the calculation of xNew is an iterative process with x as the initial value
  • each calculation of xOld is the xNew calculated last time.
  • fCurVel is used to approximate the speed of the center of the transport robot in the x-axis direction. It can be understood that t can be a fixed value set in advance, but the present invention is not limited thereto.
  • the radius of rotation cycleR0 through which the center of the transport robot passes through the arc in the time period t is calculated according to the above formula (4).
  • the difference calculation module 332 determines the left wheel speed and the right wheel speed of the center of the transport robot when passing the arc according to the center speed of the transport robot, the radius of rotation of the arc, and the left and right wheel pitch of the transport robot, and the center of the vehicle body.
  • the difference between speeds Specifically, according to the rotation radius cycleR0, the body center speed fCurVel of the transport robot, and the left and right wheel pitch vehicleRadius of the transport robot, it is possible to determine the left wheel speed and the right wheel speed of the center of the transport robot body passing each arc.
  • the difference fDiffVel between the center speeds of the vehicle bodies is as shown in the above formula (2).
  • the left and right wheel speed determining module 340 determines the left wheel speed and the right wheel speed of the transport robot based on the difference between the left wheel speed and the right wheel speed and the vehicle body center speed, as shown in the above formula (5).
  • the motion control module 350 can control the motion of the transport robot according to the difference fDiffVel between the left wheel speed and the right wheel speed and the speed of the center of the vehicle body, that is, the known first position and the second position can be realized. Do not walk blindly without guidance of navigation information.
  • Any of the plurality of modules of the wheel speed determination module 340 and the motion control module 350 may be implemented in one module, or any one of the modules may be split into a plurality of modules. Alternatively, at least some of the functionality of one or more of the modules may be combined with at least some of the functionality of the other modules and implemented in one module.
  • the central determination module 310, the path determination module 320, the coordinate system module 321, the coordinate determination module 322, the fitting module 323, the speed difference determination module 330, the rotation radius determination module 331, and the difference calculation module 332 , the left and right wheel speed is indeed
  • At least one of the fixed module 340 and the motion control module 350 can be implemented at least in part as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a package System, application specific integrated circuit (ASIC), or hardware or firmware in any other reasonable manner for integrating or encapsulating the circuit, or in a suitable combination of software, hardware, and firmware implementations.
  • FPGA field programmable gate array
  • PLA programmable logic array
  • ASIC application specific integrated circuit
  • the module 340 and the motion control module 350 can be implemented at least in part as a computer program module that, when executed by the computer, can perform the functions of the corresponding module.
  • FIG. 4 schematically illustrates a block diagram of a control system 400 of a mobile device in accordance with another embodiment of the present invention.
  • the control system 400 of the mobile device includes a processor 410, such as a general purpose microprocessor, an instruction set processor, and/or a related chipset and/or a special purpose microprocessor (eg, an application specific integrated circuit (ASIC)). ,and many more.
  • processor 410 may also include an onboard memory for caching purposes.
  • Processor 410 may be a single processing unit or a plurality of processing units for performing different actions of the method flow in accordance with an embodiment of the present invention described with reference to FIG. 2.
  • the control system 400 of the removable device can also include at least one readable storage medium 420 in the form of a non-volatile or volatile memory, such as any medium that can contain, store, communicate, propagate, or transport the instructions.
  • a readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium.
  • Specific examples of the readable storage medium include: a magnetic storage device such as a magnetic tape or a hard disk (HDD); an optical storage device such as a compact disk (CD-ROM); a memory such as a random access memory (RAM) or a flash memory; and/or a wired /Wireless communication link.
  • the readable storage medium 420 includes a computer program 421 that includes code/computer readable instructions that, when executed by the processor 410, cause the processor 410 to perform, for example, the method flow described above in connection with FIG. 2 and any variations thereof. .
  • Computer program 421 can be configured to have computer program code, for example, including a computer program module.
  • the code in computer program 421 may include one or more program modules, including, for example, 421A, module 421B, ... module 421F. It should be noted that the division manner and number of modules are not fixed, and those skilled in the art may use suitable program modules or program module combinations according to actual conditions. When these program module combinations are executed by the processor 410, the processor 410 may be The method flow, such as described above in connection with FIG. 2, and any variations thereof are performed.
  • the control system 400 of the mobile device may further include an input unit 430 for receiving signals from other entities, and an output unit 440 for providing signals to other entities.
  • the input unit 430 and the output unit 440 may be arranged as a single entity or as separate entities.
  • the input unit 430 can receive an image of a two-dimensional code picture transmitted by, for example, an image acquisition unit, and the output unit 440 can transmit a power control signal to the power control system of the movable device.
  • the power control signal may be based on the difference between the left and right wheel speeds and the center speed of the mobile device to the left The signal of the wheel and the right wheel for control. In this way, the movement of the movable device can be controlled.
  • the determination module 331, the difference calculation module 332, the left and right wheel speed determination module 340, and the motion control module 350 can be implemented as the computer program modules described with reference to FIG. 4, which, when executed by the processor 410, can implement the corresponding operations described above.

Landscapes

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

Abstract

一种可移动装置的控制方法,用于控制可移动装置在第一位置和第二位置之间的运动,包括:确定可移动装置的中心的位置(S201),中心到可移动装置的左轮和右轮的距离相等;根据可移动装置的中心的位置、第一位置和第二位置的位置,确定可移动装置的行走路径(S202);根据行走路径、可移动装置的中心速度和可移动装置的几何数据,确定可移动装置的左轮速度和右轮速度与中心速度之间的差值(S203),中心速度是可移动装置的中心的运动速度;以及根据差值确定可移动装置的左轮速度和右轮速度(S204);根据左轮速度和右轮速度之间的差值对可移动装置的运动进行控制(S205)。

Description

可移动装置的控制方法及系统 技术领域
本发明涉及计算机领域,尤其涉及一种可移动装置的控制方法及系统。
背景技术
搬运机器人并没有类似人类的感知器官,在布满货架的仓库中,需要对搬运机器人进行精确的导航控制,以免发生碰撞等事故。在搬运机器人的导航控制中,传统可以采用磁条进行连续导航,保持搬运机器人不偏离既定轨道运行。磁条所布置的位置限定了搬运机器人运行的路径,该方式虽然简单易行,但是一旦改变仓库布局,同时期望更改路径时工程会十分浩大,使得应用范围十分受限。
发明内容
本发明的一个方面提供了一种可移动装置的控制方法,用于控制所述可移动装置在第一位置和第二位置之间的运动,包括:确定可移动装置的中心的位置,所述中心到可移动装置的左轮和右轮的距离相等;根据所述可移动装置的中心的位置、所述第一位置和所述第二位置的位置,确定所述可移动装置的行走路径;根据所述行走路径、所述可移动装置的中心速度和所述可移动装置的几何数据,确定所述可移动装置的左轮速度和右轮速度与所述中心速度之间的差值,所述中心速度是所述可移动装置的中心的运动速度;根据所述左轮速度和右轮速度与所述中心速度之间的差值,确定所述可移动装置的左轮速度和右轮速度;以及根据所述左轮速度和右轮速度对所述可移动装置的运动进行控制。
本发明的另一个方面提供了一种可移动装置的控制系统,用于控制所述可移动装置在第一位置和第二位置之间的运动,包括:处理器;以及存储器,存储有可执行指令,所述指令在被处理器执行时,使得处理器执行:确定可移动装置的中心的位置,所述中心到可移动装置的左轮和右轮的距离相等;根据所述可移动装置的中心的位置、所述第一位置和所述第二位置的位置,确定所述可移动装置的行走路径;根据所述行走路径、所述可移动装置的中心速度和所述可移动装置的几何数据,确定所述可移动装置的左轮速度和右轮速度与所述中心速度之间的差值,所述中心速度是所述可移动装置的中心的运动速度;根据所述左轮速度和右轮速度与所述中心速度之间的差值,确定所述可移动装置的左轮速度和右轮速度;以及根据所述左轮速度和右轮速度对所述可移动装置的运动进行控制。
本发明的另一个方面提供了一种可移动装置的控制系统,用于控制所述可移动装置在第 一位置和第二位置之间的运动,包括:中心确定模块,确定可移动装置的中心的位置,所述中心到可移动装置的左轮和右轮的距离相等;路径确定模块,根据所述可移动装置的中心的位置、所述第一位置和所述第二位置的位置,确定所述可移动装置的行走路径;速度差值确定模块,根据所述行走路径、所述可移动装置的中心速度和所述可移动装置的几何数据,确定所述可移动装置的左轮速度和右轮速度与所述中心速度之间的差值,所述中心速度是所述可移动装置的中心的运动速度;左右轮速度确定模块,根据所述左轮速度和右轮速度与所述中心速度之间的差值,确定所述可移动装置的左轮速度和右轮速度;以及运动控制模块,根据所述左轮速度和右轮速度对所述可移动装置的运动进行控制。
本发明的另一个方面提供了一种计算机可读存储介质,其上存储有用于执行以下方法的指令:确定可移动装置的中心的位置,所述中心到可移动装置的左轮和右轮的距离相等;根据所述可移动装置的中心的位置、所述第一位置和所述第二位置的位置,确定所述可移动装置的行走路径;根据所述行走路径、所述可移动装置的中心速度和所述可移动装置的几何数据,确定所述可移动装置的左轮速度和右轮速度与所述中心速度之间的差值,所述中心速度是所述可移动装置的中心的运动速度;根据所述左轮速度和右轮速度与所述中心速度之间的差值,确定所述可移动装置的左轮速度和右轮速度;以及根据所述左轮速度和右轮速度对所述可移动装置的运动进行控制。
附图说明
图1示意性示出根据本发明实施例的可移动装置行走的原理示意图。
图2示意性示出了根据本发明实施例的可移动装置的控制方法的流程图。
图3示意性示出了根据本发明实施例的可移动装置的控制系统的框图。
图4示意性示出了根据本发明另一实施例的可移动装置的控制系统的框图。
具体实施方式
根据结合附图对本发明示例性实施例的以下详细描述,本发明的其它方面、优势和突出特征对于本领域技术人员将变得显而易见。
在本发明中,术语“包括”和“含有”及其派生词意为包括而非限制;术语“或”是包含性的,意为和/或。
在本说明书中,下述用于描述本发明原理的各种实施例知识说明,不应该以任何方式解释为限制发明的范围。参照附图的下述描述用于帮助全面理解由权利要求及其等同物限定的本发明的示例性实施例。下述描述包括多种具体细节来帮助理解,但这些细节应认为仅仅是 示例性的。因此,本领域普通技术人员应认识到,在不背离本发明的范围和精神的情况下,可以对本文中描述的实施例进行多种改变和修改。此外,为了清楚和简洁起见,省略了公知功能和结构的描述。此外,贯穿附图,相同附图标记用于相似功能和操作。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
图1示意性示出根据本发明实施例的可移动装置行走的原理示意图。根据本发明的实施例,可移动装置可以是机器人或自动驾驶车辆。机器人例如可以是仓库中使用的搬运机器人。
如图1所示,点O和点Q分别表示已知的第一位置和第二位置,点P表示可移动装置的中心的当前位置。可移动装置可以是机器人或自动驾驶车辆,但不限于此。根据本发明的实施例,可移动装置可以包括至少左轮和右轮,可移动装置的中心是到左轮和右轮的距离相等的点。可移动装置的中心可以位于可移动装置上,也可以位于可移动装置之外。例如,根据本发明的实施例,可移动装置的中心可以是可移动装置的运动平面(例如,地面)上位于可移动装置下方的点。根据本发明的实施例,可移动装置的中心可以是可移动装置的左右轮触地点的连线中点。根据下面描述的方法,计算一条从点P到点Q的行走路径,用于控制可移动装置的中心从点P运动到点Q。
根据本发明的实施例,可移动装置的中心、点O、和点Q的连线平行于可移动装置的运动平面。下面,为了说明方便,假设可移动装置的中心、点O、和点Q都是可移动装置的运动平面(例如,地面)上的点。
如图1所示,以点O作为坐标系原点,点O和点Q之间的连线作为横轴(x轴);以经过原点并垂直于横轴的轴线作为纵轴(y轴),曲线表示计算得到的可移动装置的行走路径。
根据本发明的实施例,首先确定点P相对于点O的偏移,以根据位置已知的点O确定点P的位置。例如,可以通过可移动装置上的图像获取单元(例如,摄像头)获取在点O处布置 的图片的图像,根据该图像确定点P相对于点O的偏移。根据本发明的实施例,可以在不同位置处布置不同的图片,例如不同的二维码图片。该图片可以设计为使得当点P相对于点O的位置不同时,获得的图像也是不同的。这样,就可以根据不同的图像来确定所述偏移。例如,可以事先遍历各种偏移状态,形成偏移与图像之间的映射表,然后根据查找该映射表来确定与获取的图像所对应的偏移。或者,也可以先获取点P与点O相对位置已知时的图像,例如点P与点O重合时的图像作为基准图像,将后来实时获取的图像与该基准图像比较,再根据可移动装置的几何数据来计算当前的偏移。根据本发明的实施例,P相对于点O的偏移可以以图1所示坐标系中的坐标(Δx,Δy)来表示,点O与点P的连线与y轴的夹角ΔA=arctan(Δx/Δy)。
在确定点P的位置之后,可以在点P和点Q之间拟合出一条曲线作为可移动装置的行走路径。该行走路径是可移动装置的中心点的行走路径。然后,根据该行走路径、可移动装置的中心的运动速度和可移动装置的几何数据,来对可移动装置的左轮速度和右轮速度进行控制,从而控制可移动装置的运动。
图2示意性示出了根据本发明实施例的可移动装置的控制方法的流程图。如上所述,所述可移动装置可以是机器人或自动驾驶车辆,本实施例的机器人使用搬运机器人,但不限于此。根据本实施例,控制可移动装置在第一位置和第二位置之间的运动。
该方法开始于步骤S200。
在步骤S201,确定搬运机器人的中心的位置,所述中心是到搬运机器人的左轮和右轮的距离相等的点。例如,搬运机器人的中心可以是以下任意之一:位于搬运机器人上;位于搬运机器人之外;位于搬运机器人的运动平面(例如,地面)上;或者搬运机器人的左右轮触地点的连线中点。下面,为了描述方便,假设搬运机器人的中心是搬运机器人的左右轮触地点的连线中点。
根据本发明的实施例,可以通过设置在搬运机器人上的摄像头扫描地面上布置的二维码图片,来确定其中心点的位置。例如,可以在地面上布置二维码图片的阵列,每个二维码图片互不相同并且其位置是已知的。这样,当摄像头扫描到例如第一位置的点O处的二维码图片时,就可以通过识别该二维码而知道其正位于点O附近。进一步地,可以根据上面参考图1描述的方法,使用扫描得到的二维码图片的图像得到搬运机器人的中心的当前位置点P相对于点O的偏移。
在步骤S202,确定搬运机器人的行走路径。参考图1所示,假设搬运机器人要从点P运动到已知的第二位置点Q。
以点O作为坐标系原点,点O和点Q之间的连线作为横轴(x轴);以经过原点并垂直 于横轴的轴线作为纵轴(y轴),建立坐标系。然后,可以根据步骤S201确定的点P相对于点O的偏移,确定点P在该坐标系中的坐标(Δx,Δy),点O与点P的连线与y轴的夹角ΔA=arctan(Δx/Δy)。已知点Q与点O之间的距离为s,因此,点Q的坐标是(s,0)。在本实施例中,s=1400,因此点Q的坐标是(1400,0),如图1所示。
然后,可以在点P与点Q之间进行曲线拟合,所得到的曲线即为所述行走路径。所述插值算法可以是三次Hermite插值算法,具体如以下公式(1)所示:
Figure PCTCN2017104768-appb-000001
其中,H3(x)就是搬运机器人的中心的行走路径。
根据本发明的实施例,也可以采用其他插值算法进行上述曲线拟合,例如Lagrange插值算法、Newton插值算法或分段插值算法等。
在步骤S203:确定所述搬运机器人的左轮速度和右轮速度与所述车体中心速度之间的差值。
上面计算得到了搬运机器人的中心的行走路径。要使搬运机器人沿着该行走路径运动,需要相应地计算搬运机器人的左轮速度和右轮速度与所述车体中心速度之间的差值,确定搬运机器人的左轮速度和右轮速度,并据此控制左右轮的运动。
根据本发明的实施例,可以把在步骤S202确定的行走路径分成多段圆弧,计算搬运机器人的中心经过每段圆弧时的旋转半径cycleR0,根据旋转半径cycleR0、搬运机器人的车体中心速度fCurVel、以及搬运机器人的左右轮间距vehicleRadius,就可以确定搬运机器人车体中心在经过每段圆弧时的左轮速度和右轮速度与所述车体中心速度之间的差值fDiffVel,如以下公式(2)所示:
fDiffVel=fCurVel×vehicleRadius÷cycleR0  (2)
根据本发明的实施例,可以每隔时间段t根据以下公式(3)计算搬运机器人的中心的横坐标xNew。
xNew=fCurVel×t+xOld  (3)
式中,fCurVel为搬运机器人的中心在该时间段t期间的速度,xOld为上一次计算得到的横坐标。当搬运机器人的中心位于P点时,xOld=x。可以看出,xNew的计算是一个以x为初始值的迭代过程,每次计算的xOld都是上一次计算得到的xNew。这里,使用fCurVel来近似搬运机器人的中心沿x轴方向的速度。可以理解的是,t可以是预先设置的固定的值,但本发明并不限于此。
把上述xOld和xNew的值带入公式(1)得到对应的H3(xOld)和H3(xNew)的值,分别作 为yOld和yNew。还可以得到H3(x)在xOld和xNew的导数值hyOld和hyNew。
接下来,根据以下公式(4)计算得到搬运机器人的中心在时间段t内经过圆弧的旋转半径cycleR0:
Figure PCTCN2017104768-appb-000002
然后,就可以根据公式(2)确定搬运机器人车体中心在经过这段圆弧时的左轮速度和右轮速度与所述车体中心速度之间的差值fDiffVel。
在步骤S204,根据搬运机器人车体中心速度fCurVel和上述差值fDiffVel,确定搬运机器人的左轮速度VL和右轮速度VR,具体如以下公式(5)所示:
VL=fCurVel+fDiffVel
VR=fCurVel-fDiffVel  (5)
在步骤S205,根据上述左轮速度和右轮速度就可以对搬运机器人的运动进行控制,即可实现在已知的第一位置和第二位置之间没有导航信息指导的情况下正确地盲走。
该方法在步骤S206结束。
根据本发明的实施例,可以在地面布置二维码图片的阵列。通过预先设计路线,可以确定可移动装置要经过的二维码图片序列。然后,根据上述方法控制可移动装置运动通过该二维码序列,即可实现可移动装置的导航。当要改变路线时,只需要相应地改变二维码序列即可,而无需重新对地面进行硬件铺设,显著降低了系统的运行和维护成本,并且极大方便了操作使用。
图3示意性示出了根据本发明实施例的可移动装置的控制系统300的框图。如上所述,所述可移动装置可以是机器人或自动驾驶车辆,本实施例的机器人使用搬运机器人,但不限于此。根据本实施例,控制系统300控制可移动装置在第一位置和第二位置之间的运动。
该系统300包括中心确定模块310、路径确定模块320、速度差值确定模块330、左右轮速度确定模块340和运动控制模块350。
中心确定模块310确定搬运机器人的中心的位置,所述中心是到搬运机器人的左轮和右轮的距离相等的点。例如,搬运机器人的中心可以是以下任意之一:位于搬运机器人上;位于搬运机器人之外;位于搬运机器人的运动平面(例如,地面)上;或者搬运机器人的左右轮触地点的连线中点。下面,为了描述方便,假设搬运机器人的中心是搬运机器人的左右轮触地点的连线中点。
根据本发明的实施例,可以通过设置在搬运机器人上的摄像头扫描地面上布置的二维码图片,来确定其中心点的位置。例如,可以在地面上布置二维码图片的阵列,每个二维码图片互不相同并且其位置是已知的。这样,当摄像头扫描到例如第一位置的点O处的二维码图片时,就可以通过识别该二维码而知道其正位于点O附近。进一步地,可以根据上面参考图1描述的方法,使用扫描得到的二维码图片的图像得到搬运机器人的中心的当前位置点P相对于点O的偏移。
路径确定模块320确定搬运机器人的行走路径。参考图1所示,假设搬运机器人要从点P运动到已知的第二位置点Q。
根据本发明的实施例,该模块可以包括坐标系模块321、坐标确定模块322和拟合模块323。
坐标系模块321根据点O和点Q建立坐标系。具体地,坐标系模块321以点O作为坐标系原点,点O和点Q之间的连线作为横轴(x轴);以经过原点并垂直于横轴的轴线作为纵轴(y轴),建立坐标系。
坐标确定模块322确定点P和点Q在上述坐标系中的坐标。具体地,坐标确定模块322根据中心确定模块310确定的点P相对于点O的偏移,确定点P在该坐标系中的坐标(Δx,Δy),点O与点P的连线与y轴的夹角ΔA=arctan(Δx/Δy)。已知点Q与点O之间的距离为s,因此,点Q的坐标是(s,0)。在本实施例中,s=1400,因此点Q的坐标是(1400,0),如图1所示。
拟合模块323采用插值算法在上述点P的位置和点Q的位置之间进行曲线拟合,所得到的曲线即为上述行走路径。具体地,拟合模块323根据坐标确定模块322得到的点P和点Q坐标可以在点P与点Q之间进行曲线拟合,所得到的曲线即为所述行走路径。所述插值算法可以是三次Hermite插值算法,具体如上述公式(1)所示,计算得到的H3(x)就是搬运机器人的中心的行走路径。
根据本发明的实施例,也可以采用其他插值算法进行上述曲线拟合,例如Lagrange插值算法、Newton插值算法或分段插值算法等。
速度差值确定模块330确定所述搬运机器人的左轮速度和右轮速度与所述车体中心速度之间的差值。
上面计算得到了搬运机器人的中心的行走路径。要使搬运机器人沿着该行走路径运动,需要相应地计算搬运机器人的左轮速度和右轮速度与所述车体中心速度之间的差值,并据此控制左右轮的运动。
根据本发明的实施例,速度差值确定模块330可以包括旋转半径确定模块331和差值计 算模块332。
旋转半径确定模块331确定搬运机器人的中心经过上述行走路径的弧线的旋转半径。具体地,旋转半径确定模块331把在路径确定模块320确定的行走路径可以分成多段圆弧,计算搬运机器人的中心经过每段圆弧时的旋转半径cycleR0。
根据本发明的实施例,可以每隔时间段t根据上述公式(3)计算搬运机器人的中心的横坐标xNew。式中,fCurVel为搬运机器人的中心在该时间段t期间的速度,xOld为上一次计算得到的横坐标。当搬运机器人的中心位于P点时,xOld=x。可以看出,xNew的计算是一个以x为初始值的迭代过程,每次计算的xOld都是上一次计算得到的xNew。这里,使用fCurVel来近似搬运机器人的中心沿x轴方向的速度。可以理解的是,t可以是预先设置的固定的值,但本发明并不限于此。
把上述xOld和xNew的值带入公式(1)得到对应的H3(xOld)H3(xNew)的值,分别作为yOld和yNew。还可以得到H3(x)在xOld和xNew的导数值hyOld和hyNew。
接下来,根据上述公式(4)计算得到搬运机器人的中心在时间段t内经过圆弧的旋转半径cycleR0。
差值计算模块332根据上述搬运机器人的中心速度、弧线的旋转半径、以及搬运机器人的左右轮间距,确定搬运机器人的中心在经过弧线时的左轮速度和右轮速度与所述车体中心速度之间的差值。具体地,是根据旋转半径cycleR0、搬运机器人的车体中心速度fCurVel、以及搬运机器人的左右轮间距vehicleRadius,就可以确定搬运机器人车体中心在经过每段圆弧时的左轮速度和右轮速度与所述车体中心速度之间的差值fDiffVel,如上述公式(2)所示。
左右轮速度确定模块340根据上述左轮速度和右轮速度与所述车体中心速度之间的差值,确定所述搬运机器人的左轮速度和右轮速度,如上述公式(5)所示。
运动控制模块350根据上述左轮速度和右轮速度与所述车体中心的速度之间的差值fDiffVel就可以对搬运机器人的运动进行控制,即可实现在已知第一位置和第二位置之间没有导航信息指导的情况下正确地盲走。
可以理解的是,中心确定模块310、路径确定模块320、坐标系模块321、坐标确定模块322、拟合模块323、速度差值确定模块330、旋转半径确定模块331、差值计算模块332、左右轮速度确定模块340以及运动控制模块350中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,中心确定模块310、路径确定模块320、坐标系模块321、坐标确定模块322、拟合模块323、速度差值确定模块330、旋转半径确定模块331、差值计算模块332、左右轮速度确 定模块340以及运动控制模块350中的至少一项可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以以用于对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,中心确定模块310、路径确定模块320、坐标系模块321、坐标确定模块322、拟合模块323、速度差值确定模块330、旋转半径确定模块331、差值计算模块332、左右轮速度确定模块340以及运动控制模块350中的至少一项可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
图4示意性示出了根据本发明另一个实施例的可移动装置的控制系统400的框图。如图所示,可移动装置的控制系统400包括处理器410,例如通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器410还可以包括用于缓存用途的板载存储器。处理器410可以是用于执行参考图2描述的根据本发明实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
可移动装置的控制系统400还可以包括具有非易失性或易失性存储器形式的至少一个可读存储介质420,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
可读存储介质420包括计算机程序421,该计算机程序421包括代码/计算机可读指令,其在由处理器410执行时使得处理器410可以执行例如上面结合图2所描述的方法流程及其任何变形。
计算机程序421可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序421中的代码可以包括一个或多个程序模块,例如包括421A、模块421B、……模块421F。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器410执行时,使得处理器410可以执行例如上面结合图2所描述的方法流程及其任何变形。
根据本发明的实施例,可移动装置的控制系统400还可以包括用于从其他实体接收信号的输入单元430、以及用于向其他实体提供信号的输出单元440。输入单元430和输出单元440可以被布置为单一实体或者是分离的实体。输入单元430可以接收例如图像获取单元发送的二维码图片的图像,输出单元440可以将动力控制信号发送到可移动装置的动力控制系统。动力控制信号可以是基于左轮和右轮速度与所述移动装置的中心速度之间的差值来对左 轮和右轮进行控制的信号。这样,就可以对所述可移动装置的运动进行控制。
结合图3和图4所示,根据本发明的实施例,中心确定模块310、路径确定模块320、坐标系模块321、坐标确定模块322、拟合模块323、速度差值确定模块330、旋转半径确定模块331、差值计算模块332、左右轮速度确定模块340以及运动控制模块350可以实现为参考图4描述的计算机程序模块,其在被处理器410执行时,可以实现上面描述的相应操作。
尽管已经参照本发明的特定示例性实施例示出并描述了本发明,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本发明的精神和范围的情况下,可以对本发明进行形式和细节上的多种改变。因此,本发明的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (23)

  1. 一种可移动装置的控制方法,用于控制所述可移动装置在第一位置和第二位置之间的运动,包括:
    确定可移动装置的中心的位置,所述中心到可移动装置的左轮和右轮的距离相等;
    根据所述可移动装置的中心的位置、所述第一位置和所述第二位置的位置,确定所述可移动装置的行走路径;
    根据所述行走路径、所述可移动装置的中心速度和所述可移动装置的几何数据,确定所述可移动装置的左轮速度和右轮速度与所述中心速度之间的差值,所述中心速度是所述可移动装置的中心的运动速度;以及
    根据所述左轮速度和右轮速度与所述中心速度之间的差值,确定所述可移动装置的左轮速度和右轮速度;以及
    根据所述左轮速度和右轮速度对所述可移动装置的运动进行控制。
  2. 根据权利要求1所述的方法,其中,确定可移动装置的中心的位置包括:
    根据通过所述可移动装置上的图像获取单元获取的所述第一位置处布置的图片的图像,确定所述可移动装置的中心相对于所述第一位置的位置。
  3. 根据权利要求2所述的方法,其中,所述图片包括二维码,不同位置处的二维码是不同的。
  4. 根据权利要求1所述的方法,其中:
    所述可移动装置的中心的位置、所述第一位置和所述第二位置的连线平行于所述可移动装置的运动平面;以及
    根据所述可移动装置的中心的位置、所述第一位置和所述第二位置,确定所述可移动装置的行走路径包括:
    根据所述第一位置和所述第二位置建立坐标系;
    确定所述中心的位置和所述第二位置在所述坐标系中的坐标;以及
    采用插值算法在所述中心的位置和所述第二位置之间进行曲线拟合,所得到的曲线即为所述行走路径。
  5. 根据权利要求4所述的方法,其中,根据所述第一位置和所述第二位置建立坐标系包括:
    以所述第一位置为坐标系原点;
    以所述第一位置和所述第二位置之间的连线作为横轴;以及
    以经过所述原点并垂直于所述横轴的轴线作为纵轴。
  6. 根据权利要求4所述的方法,其中,所述插值算法包括以下中的任意一种:三次Hermite插值算法、Lagrange插值算法、Newton插值算法或分段插值算法。
  7. 根据权利要求1所述的方法,其中,根据所述行走路径、所述可移动装置的中心速度和所述可移动装置的几何数据确定所述可移动装置的左轮速度和右轮速度与所述中心速度之间的差值包括:
    确定可移动装置的中心经过所述行走路径的弧线的旋转半径;
    根据所述可移动装置的中心速度、所述弧线的旋转半径、以及所述可移动装置的左右轮间距,确定所述可移动装置的中心在经过所述弧线时的左轮速度和右轮速度与所述中心速度之间的差值。
  8. 根据权利要求7所述的方法,其中,确定所述弧线的旋转半径包括:
    确定所述弧线的两个端点的坐标和导数;以及
    根据所述弧线的两个端点的坐标和导数,确定所述弧线的旋转半径。
  9. 根据权利要求1所述的方法,其中,所述可移动装置包括机器人和自动驾驶车辆。
  10. 根据权利要求1所述的方法,其中,可移动装置的中心是以下任意之一:
    位于可移动装置上;
    位于可移动装置之外;
    位于可移动装置的运动平面上;或者
    可移动装置的左右轮触地点的连线中点。
  11. 一种可移动装置的控制系统,用于控制所述可移动装置在第一位置和第二位置之间的运动,包括:
    中心确定模块,确定可移动装置的中心的位置,所述中心到可移动装置的左轮和右轮的距离相等;
    路径确定模块,根据所述可移动装置的中心的位置、所述第一位置和所述第二位置的位置,确定所述可移动装置的行走路径;
    速度差值确定模块,根据所述行走路径、所述可移动装置的中心速度和所述可移动装置的几何数据,确定所述可移动装置的左轮速度和右轮速度与所述中心速度之间的差值,所述中心速度是所述可移动装置的中心的运动速度;以及
    左右轮速度确定模块,根据所述左轮速度和右轮速度与所述中心速度之间的差值,确定所述可移动装置的左轮速度和右轮速度;以及
    运动控制模块,根据所述左轮速度和右轮速度对所述可移动装置的运动进行控制。
  12. 根据权利要求11所述的系统,其中,确定可移动装置的中心的位置包括:
    根据通过所述可移动装置上的图像获取单元获取的所述第一位置处布置的图片的图像,确定所述可移动装置的中心相对于所述第一位置的位置。
  13. 根据权利要求12所述的系统,其中,所述图片包括二维码,不同位置处的二维码是不同的。
  14. 根据权利要求11所述的系统,其中:
    所述可移动装置的中心的位置、所述第一位置和所述第二位置的连线平行于所述可移动装置的运动平面;以及
    路径确定模块包括:
    坐标系模块,根据所述第一位置和所述第二位置建立坐标系;
    坐标确定模块,确定所述中心的位置和所述第二位置在所述坐标系中的坐标;以及
    拟合模块,采用插值算法在所述中心的位置和所述第二位置之间进行曲线拟合,所得到的曲线即为所述行走路径。
  15. 根据权利要求14所述的系统,其中,根据所述第一位置和所述第二位置建立坐标系包括:
    以所述第一位置为坐标系原点;
    以所述第一位置和所述第二位置之间的连线作为横轴;以及
    以经过所述原点并垂直于所述横轴的轴线作为纵轴。
  16. 根据权利要求14所述的系统,其中,所述插值算法包括以下中的任意一种:三次Hermite插值算法、Lagrange插值算法、Newton插值算法或分段插值算法。
  17. 根据权利要求11所述的系统,其中,速度差值确定模块包括:
    旋转半径确定模块,确定可移动装置的中心经过所述行走路径的弧线的旋转半径;
    差值计算模块,根据所述可移动装置的中心速度、所述弧线的旋转半径、以及所述可移动装置的左右轮间距,确定所述可移动装置的中心在经过所述弧线时的左轮速度和右轮速度与所述中心速度之间的差值。
  18. 根据权利要求17所述的系统,其中,确定所述弧线的旋转半径包括:
    确定所述弧线的两个端点的坐标和导数;以及
    根据所述弧线的两个端点的坐标和导数,确定所述弧线的旋转半径。
  19. 根据权利要求11所述的系统,其中,所述可移动装置包括机器人或自动驾驶车辆。
  20. 根据权利要求11所述的系统,其中,可移动装置的中心是以下任意之一:
    位于可移动装置上;
    位于可移动装置之外;
    位于可移动装置的运动平面上;或者
    可移动装置的左右轮触地点的连线中点。
  21. 一种可移动装置的控制系统,用于控制所述可移动装置在第一位置和第二位置之间的运动,包括:
    处理器;以及
    存储器,存储有可执行指令,所述指令在被处理器执行时,使得处理器执行根据权利要求1~10中任一项所述的方法。
  22. 一种可移动装置,包括根据权利要求11~21中任意一项所述的控制系统。
  23. 一种计算机可读存储介质,其上存储有用于执行根据权利要求1~10中任意一项所述的方法的指令。
PCT/CN2017/104768 2016-12-22 2017-09-30 可移动装置的控制方法及系统 WO2018113382A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/472,094 US11300973B2 (en) 2016-12-22 2017-09-30 Control method and system of movable device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201611204337.X 2016-12-22
CN201611204337.XA CN106896811B (zh) 2016-12-22 2016-12-22 可移动装置的控制方法及系统

Publications (1)

Publication Number Publication Date
WO2018113382A1 true WO2018113382A1 (zh) 2018-06-28

Family

ID=59198989

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/104768 WO2018113382A1 (zh) 2016-12-22 2017-09-30 可移动装置的控制方法及系统

Country Status (3)

Country Link
US (1) US11300973B2 (zh)
CN (1) CN106896811B (zh)
WO (1) WO2018113382A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111521181A (zh) * 2019-02-01 2020-08-11 北京京东尚科信息技术有限公司 一种行驶偏差的确定方法和装置
TWI716127B (zh) * 2019-10-01 2021-01-11 東元電機股份有限公司 機器人及其路徑插值規劃命令產生系統

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106896811B (zh) 2016-12-22 2018-11-09 北京京东尚科信息技术有限公司 可移动装置的控制方法及系统
CN107797094A (zh) * 2017-11-10 2018-03-13 南阳师范学院 一种基于rfid的移动机器人位姿估计方法
CN110231041B (zh) * 2018-03-06 2021-05-25 北京京东尚科信息技术有限公司 一种车道切换的导航方法和装置
CN111470243A (zh) * 2020-03-30 2020-07-31 无锡顺达智能自动化工程股份有限公司 仓储机器人曲线行走的算法及实施方法
CN112286204A (zh) * 2020-11-11 2021-01-29 珠海格力智能装备有限公司 自动导引装置的控制方法及装置、处理器、电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102854878A (zh) * 2012-09-14 2013-01-02 苏州工业园区永动工业设备有限公司 红外光电导向agv装置及其控制方法
US9126338B2 (en) * 2012-08-16 2015-09-08 Hanwha Techwin Co., Ltd. Robot system and method for driving the same
CN105479460A (zh) * 2016-01-11 2016-04-13 清华大学 一种非时间参考的差速驱动机器人路线跟踪控制方法
CN105892493A (zh) * 2016-03-31 2016-08-24 纳恩博(北京)科技有限公司 一种信息处理方法和移动装置
CN105957182A (zh) * 2016-04-21 2016-09-21 深圳市元征科技股份有限公司 一种修正指示车辆行驶的直线方向的方法及装置
CN106896811A (zh) * 2016-12-22 2017-06-27 北京京东尚科信息技术有限公司 可移动装置的控制方法及系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3032698B2 (ja) * 1995-04-14 2000-04-17 松下電工株式会社 パワーアシスト付運搬車
US5947225A (en) * 1995-04-14 1999-09-07 Minolta Co., Ltd. Automatic vehicle
JP3804462B2 (ja) * 2001-03-19 2006-08-02 株式会社ダイフク 移動棚設備
JP4614649B2 (ja) * 2002-11-12 2011-01-19 金剛株式会社 移動棚の制御方法
WO2006118080A1 (ja) * 2005-04-28 2006-11-09 Equos Research Co., Ltd. 制御装置及び車両
GB0517200D0 (en) * 2005-08-22 2005-09-28 Torotrak Dev Ltd Driving and steering of motor vehicles
JP4534944B2 (ja) * 2005-10-07 2010-09-01 トヨタ自動車株式会社 乗り物
US7668663B2 (en) * 2005-12-20 2010-02-23 Roche Molecular Systems, Inc. Levenberg-Marquardt outlier spike removal method
JP5359516B2 (ja) * 2008-07-29 2013-12-04 日産自動車株式会社 車両運転支援装置及び車両運転支援方法
JP2010225139A (ja) * 2009-02-27 2010-10-07 Toshiba Corp 移動機器
WO2010109543A1 (ja) * 2009-03-27 2010-09-30 株式会社ダイフク 移動棚設備
JP5417390B2 (ja) * 2011-07-29 2014-02-12 新日本工機株式会社 数値制御装置
EP2685219A1 (en) * 2012-07-09 2014-01-15 ST-Ericsson SA Radiofrequency signal setting reaching a condition of jamming or clipping
CN102738871B (zh) * 2012-07-20 2014-09-10 腾讯科技(深圳)有限公司 对移动设备进行充电处理的方法及系统
JP5917472B2 (ja) * 2013-11-08 2016-05-18 本田技研工業株式会社 運転支援装置
JP6263970B2 (ja) 2013-11-11 2018-01-24 村田機械株式会社 自律走行台車、及び、予定走行経路データのデータ構造
DE102014220313A1 (de) * 2014-10-07 2016-04-07 Carl Zeiss Industrielle Messtechnik Gmbh Erfassung von geometrischen Abweichungen einer Bewegungsführung bei einemKoordinatenmessgerät oder einer Werkzeugmaschine
US9465390B2 (en) * 2014-11-11 2016-10-11 Google Inc. Position-controlled robotic fleet with visual handshakes
US10638661B2 (en) * 2016-03-31 2020-05-05 Kanzaki Kokyukoki Mfg. Co., Ltd. Riding type vehicle
JP6637836B2 (ja) * 2016-05-12 2020-01-29 株式会社ダイヘン 送電装置、受電装置、および、非接触充電システム
US9880561B2 (en) * 2016-06-09 2018-01-30 X Development Llc Sensor trajectory planning for a vehicle
JP6704061B2 (ja) * 2016-10-18 2020-06-03 株式会社日立製作所 移動装置、および、移動装置管理システム
US10507977B2 (en) * 2017-05-02 2019-12-17 Fast Global Solutions, Inc. Locking roller assemblies for roller conveyors

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9126338B2 (en) * 2012-08-16 2015-09-08 Hanwha Techwin Co., Ltd. Robot system and method for driving the same
CN102854878A (zh) * 2012-09-14 2013-01-02 苏州工业园区永动工业设备有限公司 红外光电导向agv装置及其控制方法
CN105479460A (zh) * 2016-01-11 2016-04-13 清华大学 一种非时间参考的差速驱动机器人路线跟踪控制方法
CN105892493A (zh) * 2016-03-31 2016-08-24 纳恩博(北京)科技有限公司 一种信息处理方法和移动装置
CN105957182A (zh) * 2016-04-21 2016-09-21 深圳市元征科技股份有限公司 一种修正指示车辆行驶的直线方向的方法及装置
CN106896811A (zh) * 2016-12-22 2017-06-27 北京京东尚科信息技术有限公司 可移动装置的控制方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111521181A (zh) * 2019-02-01 2020-08-11 北京京东尚科信息技术有限公司 一种行驶偏差的确定方法和装置
TWI716127B (zh) * 2019-10-01 2021-01-11 東元電機股份有限公司 機器人及其路徑插值規劃命令產生系統

Also Published As

Publication number Publication date
CN106896811B (zh) 2018-11-09
US20200097020A1 (en) 2020-03-26
CN106896811A (zh) 2017-06-27
US11300973B2 (en) 2022-04-12

Similar Documents

Publication Publication Date Title
WO2018113382A1 (zh) 可移动装置的控制方法及系统
JP6827627B2 (ja) ビークル環境マップを生成および更新するための方法およびシステム
US9274526B2 (en) Autonomous vehicle and method of estimating self position of autonomous vehicle
US8213706B2 (en) Method and system for real-time visual odometry
JP2019529209A (ja) 車両を駐車するシステム、方法及び非一時的コンピューター可読記憶媒体
US10591915B2 (en) Motion controller for real-time continuous curvature path planning
CN110874100A (zh) 用于使用视觉稀疏地图进行自主导航的系统和方法
US11846949B2 (en) Systems and methods for calibration of a pose of a sensor relative to a materials handling vehicle
WO2019161517A1 (zh) 基于云端的轨迹地图生成方法、装置、设备及应用程序
Seo et al. A tight coupling of vision-lidar measurements for an effective odometry
US11841708B2 (en) System and method for adjusting a planned trajectory of an autonomous vehicle
US20220214696A1 (en) Simultaneous Localization and Mapping
US11548387B2 (en) Information processing device, information processing method, computer program product, and moving object
TW201741626A (zh) 導航系統及導航方法
Hug et al. Continuous-time stereo-inertial odometry
Hoang et al. Combining edge and one-point ransac algorithm to estimate visual odometry
WO2023279918A1 (zh) 双舵轮式自主移动设备的运动控制方法和系统及程序产品
Roggeman et al. Embedded vision-based localization and model predictive control for autonomous exploration
US10628917B2 (en) Information processing apparatus, information processing method, and computer program product
Rajamohan et al. Image based Localization under large perspective difference between Sfm and SLAM using split sim (3) optimization
WO2022227632A1 (zh) 基于图像的轨迹规划方法和运动控制方法以及使用该些方法的移动机器
JP6589578B2 (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
JP7501643B2 (ja) 移動体制御システム、制御装置、及び、移動体制御方法
US11314256B2 (en) Mechanical transmission control method and system for use with intelligent wheelchair
Takasaki et al. An autonomous driving system utilizing image processing accelerated by FPGA

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: 17882483

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: 17882483

Country of ref document: EP

Kind code of ref document: A1