Collision avoidance method, mobile device, and storage medium

Through multi-sensor data fusion and closed solution calculation, the device can efficiently detect and avoid collisions of small, transparent and opaque objects, solving the problems of insensitive detection and slow computing speed in the prior art, and achieving faster and more accurate obstacle avoidance response.

JP7661499B2Active Publication Date: 2025-04-14UBKANG (QINGDAO) TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023539382
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-12-25
Filing Date
2021-11-01
Publication Date
2025-04-14
Estimated Expiration
2041-11-01

AI Technical Summary

Technical Problem

The prior art is not sensitive enough to detect and avoid collisions of small, transparent and opaque objects, and the distance calculation speed is slow, affecting the machine's obstacle avoidance and braking reaction.

Method used

Through the fusion of multiple sensor data, the computer device can obtain multiple data points, calculate the distance between the device and these data points using a closed solution, and calculate the maximum allowable speed of the device according to the shortest distance and the current speed, thereby controlling the device movement.

Benefits of technology

The detection sensitivity and accuracy of various obstacles are improved, the obstacle avoidance reaction time is reduced, and the calculation efficiency is optimized through closed solution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007661499000117
    Figure 0007661499000117
  • Figure 0007661499000118
    Figure 0007661499000118
  • Figure 0007661499000119
    Figure 0007661499000119
Patent Text Reader

Abstract

A collision avoidance method, a mobile device, and a storage medium applied to a collision avoidance technology field. The method is used for a mobile device having a plurality of sensors, and fuses sensor data received from the plurality of sensors to obtain a plurality of data points corresponding to the object, calculates a closed-form solution of a distance between the mobile device and each data point, calculates a maximum allowable speed of the mobile device based on a shortest distance between the mobile device and the plurality of data points and a current speed of the mobile device, and controls the mobile device to move at the maximum allowable speed, thereby avoiding the mobile device from colliding with a collision object.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to collision avoidance technology, and more particularly to a collision avoidance method, a mobile device, and a storage medium. [Background technology]

[0002] Robots can operate autonomously or semi-autonomously to perform tasks such as autonomous navigation and self-driving. There are various robots in our daily lives, such as housekeeping robots, cooking robots, and early childhood education robots. Safety in the absence of supervision is an important issue in the design of these robots.

[0003] Collision avoidance is one of the most important means for ensuring the safety of use. In particular, in the case of mobile robots that move autonomously on the ground, such as humanoid robots, cleaning robots, and self-driving cars, collisions can be caused by obstacles that inevitably exist on the ground (e.g., garbage, stones, vehicles, people, etc.), which can further affect the movement of the mobile robot on the ground.

[0004] Conventional collision avoidance technologies include a robot control method that uses a distance sensor to detect the distance to an obstacle, determines a dangerous area based on the distance, and determines a safe speed at which the robot will not collide with the obstacle when moving within the dangerous area. However, the above control method has the disadvantage that it is not sensitive to detecting small objects, transparent objects, and opaque objects, and the speed of distance calculation is slow, which has a significant impact on the robot's avoidable collisions and braking. Summary of the Invention

[0005] The present invention provides a collision avoidance method, a mobile device and a storage medium that solve problems existing in the prior art, such as insensitivity to detection of small objects, transparent objects and opaque objects in combination with various sensor data.

[0006] According to an embodiment of the present invention, a collision avoidance method is provided for avoiding a collision between a mobile device and an object. the mobile device has a plurality of sensors; The method comprises: fusing sensor data received from a plurality of sensors to obtain a plurality of data points corresponding to the object; calculating a closed form solution for the distance between the mobile device and each data point; calculating a maximum allowable speed of the mobile device based on a minimum distance between the mobile device and a plurality of data points and a current speed of the mobile device; controlling the mobile device to move in accordance with the maximum allowable speed; Includes.

[0007] Moreover, calculating a closed form solution for the distance between the mobile device and each data point comprises: calculating a turning radius of the mobile device by dividing the linear velocity of the mobile device by the angular velocity of the mobile device; obtaining a collision point for each data point of the mobile device based on the turning radius; Calculating an angle of the collision point and the corresponding data point with respect to a center of rotation based on the rotation radius, and calculating a distance between the collision point and the corresponding data point by multiplying the angle by a distance between the center of rotation and the corresponding data; Includes.

[0008] Further, calculating angles of the collision points and the corresponding data points relative to the center of rotation based on the radius of rotation includes: Calculating the shortest distance a between the center of rotation and the circular footprint of the mobile device by the following formula: where r is the radius of rotation of the mobile device and n is the radius of the circular footprint; calculating the maximum distance c between the center of rotation and the circular footprint of the mobile device according to the formula: Calculating the distance h between the rotation center and the corresponding data point according to the following formula: JPEG0007661499000003.jpg10170, p x is the x-coordinate of the corresponding data point, and p y is the y-coordinate of the corresponding data point, When h ≧ a and h ≦ c, the coordinates of the collision point (q x ,q y ) and where v is the linear velocity of the mobile device; The coordinates (k x ,k y ) and JPEG0007661499000005.jpg8170In formula, q x is the x-coordinate of the collision point, and q y is the y coordinate of the collision point, calculating an angle θ of the collision point and the corresponding data point relative to the center of rotation according to the following formula: JPEG0007661499000006.jpg18170, k x is the x-coordinate of the midpoint, and k y is the y coordinate of the midpoint, Including, calculating a distance between the collision point and the corresponding data point by multiplying the angle by a distance between the center of rotation and the corresponding data point; Calculating the distance l between the collision point and the corresponding data point by the formula: Contains JPEG0007661499000007.jpg6170.

[0009] Further, calculating angles of the collision points and the corresponding data points relative to the center of rotation based on the radius of rotation includes: The coordinates (k x ,k y ) and JPEG0007661499000008.jpg8170, px is the x-coordinate of the corresponding data point, and q x is the x-coordinate of the collision point, and p y is the y coordinate of the corresponding data point, and q y is the y coordinate of the collision point, calculating an angle θ of the collision point and the corresponding data point relative to the center of rotation according to the following formula: JPEG0007661499000009.jpg17170, k x is the x-coordinate of the midpoint, and k y is the y coordinate of the midpoint, r is the turning radius of the mobile device, Including, calculating a distance between the collision point and the corresponding data point by multiplying the angle by a distance between the center of rotation and the corresponding data point; calculating the distance h between the center of rotation and the corresponding data point according to the formula: Calculating the distance l between the collision point and the corresponding data point by: Contains JPEG0007661499000011.jpg6170. Further, obtaining the collision points corresponding to each data point of the mobile device based on the turning radius includes: If the linear velocity is not zero, calculating the distance a between said center of rotation and the closest side of the rectangular footprint of said mobile device according to the formula: JPEG0007661499000012.jpg7170, where n is half the width of the rectangular footprint; calculating the shortest distances b between the center of rotation and the corners of the rectangular footprint of the mobile device according to the following formula: JPEG0007661499000013.jpg8170, where m is half the length of the rectangular footprint; calculating the maximum distance c between the center of rotation and the corners of the rectangular footprint of the mobile device according to the formula: When h ≥ a and h < b, the coordinates (q x , q y ) of the collision point are calculated by the following formula, When h ≥ b and h ≤ c, the coordinates (q x , q y ) of the collision point are calculated by the following formula, JPEG0007661499000016.jpg11170where v is the linear velocity of the mobile device, When the linear velocity is 0, p x ≥ m and -n ≤ p y ≤ n, the coordinates (q x , q y ) of the collision point are calculated by the following formula, JPEG0007661499000017.jpg11170where ω is the angular velocity of the mobile device, p x ≤ -m and -n ≤ p y ≤ n, the coordinates (q x , q y ) of the collision point are calculated by the following formula, JPEG0007661499000018.jpg10170 -m ≤ p x ≤ m and p y ≥ n, the coordinates (q x , q y ) of the collision point are calculated by the following formula, JPEG0007661499000019.jpg10170 -m ≤ p x ≤ m and p y ≤ -n, the coordinates (q x , q y ) of the collision point are calculated, JPEG0007661499000020.jpg11170including.

[0010] Furthermore, calculating the closed-form solution of the distance between the mobile device and each data point is determining a motion state of the mobile device based on a linear velocity and an angular velocity of the mobile device; calculating a closed form solution for a distance between the mobile device and each data point based on the motion state; Includes.

[0011] Further, one of the plurality of sensors is a depth camera, and fusing the sensor data received from the plurality of sensors to obtain the plurality of data points corresponding to the object includes: Segmenting the sensor data received from the depth camera to obtain segmented sensor data corresponding to the object; estimating a velocity of the object based on the segmented sensor data and predicting a trajectory of the object based on the velocity; fusing the segmented sensor data with the sensor data of another of the plurality of sensors to obtain the plurality of data points corresponding to the object; adding the closest point of the predicted trajectory to the plurality of data points; Includes.

[0012] Further, calculating the maximum allowable speed of the mobile device based on the shortest distance between the mobile device and the plurality of data points and the current speed of the mobile device includes: obtaining the minimum distance l between the mobile device and the plurality of data points; JPEG0007661499000021.jpg12170, v c is the current linear velocity of the mobile device, and d=d max -d min and d max is the maximum valid range, and d min is the minimum valid range, JPEG0007661499000022.jpg13170In formula, ω c is the current angular velocity of the mobile device, and φ=φ max -φ min and φ max is the maximum valid range, and φ minis the minimum valid range, Includes.

[0013] According to an embodiment of the present invention, there is further provided a mobile device including a plurality of sensors, one or more processors, and one or more memories having one or more computer programs stored therein, the one or more processors executing the one or more computer programs to implement the collision avoidance method.

[0014] According to an embodiment of the present invention, there is further provided a storage medium having stored thereon one or more computer programs, the one or more computer programs being executed to implement the collision avoidance method.

[0015] As can be seen from the above embodiments of the present invention, the collision avoidance method, mobile device, and storage medium provided in the present invention solve problems existing in the prior art, such as insensitivity to detection of small objects, transparent objects, and opaque objects, by combining with various sensor data to improve the detection sensitivity and accuracy of the mobile device for various obstacles, and reduce the response time of the mobile device to avoid collisions by using a closed-form solution in the process of calculating the collision distance. [Brief description of the drawings]

[0016] In order to more clearly describe the technical solutions in the embodiments of the present invention, the following briefly describes the drawings used to describe the embodiments or the prior art. In the following drawings, similar symbols refer to corresponding parts in these drawings. It can be understood that the following drawings are only illustrative of the present invention. Based on these drawings, those skilled in the art can obtain other drawings without creative efforts. [Figure 1A] 1 is a perspective view of a mobile device according to some embodiments of the present invention. [Figure 1B] FIG. 1B is a schematic block diagram of the mobile device of FIG. 1A. [Diagram 2] FIG. 1B is a schematic block diagram of implementing collision avoidance in the mobile device of FIG. 1A. [Diagram 3] 1 is a schematic diagram of sensors disposed on a mobile device in accordance with some embodiments of the present invention; [Figure 4] FIG. 3 is a schematic block diagram of calculating a collision distance in the collision avoidance mechanism of FIG. 2; [Diagram 5] 1B is a schematic block diagram of the motion states of the mobile device of FIG. 1A; [Figure 6A] FIG. 1B is a schematic diagram of the movement of the mobile device having the circular footprint of FIG. 1A. [Figure 6B] 1B is a schematic diagram of calculation of collision points as the mobile device with the circular footprint of FIG. 1A moves; [Figure 6C] 1B is a schematic diagram of the calculation of the midpoint between the collision point and the corresponding data point as the mobile device with the circular footprint of FIG. 1A moves; [Figure 7A] FIG. 4 is a schematic diagram of the movement of the mobile device having the rectangular footprint of FIG. 3; [Figure 7B] 4 is a schematic diagram showing how collision points are calculated when the mobile device having the rectangular footprint of FIG. 3 moves; FIG. [Figure 8] FIG. 3 is a schematic diagram showing the effect of a calculation function of the maximum allowable linear velocity in the collision avoidance mechanism of FIG. 2. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0017] In order to make the objectives, features and advantages of the present invention clearer and easier to understand, the following clearly and completely describes the technical means of the embodiments of the present invention with reference to the drawings. It is obvious that the following embodiments are only some of the embodiments of the present invention, and are not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative efforts are all included in the protection scope of the present invention.

[0018] It is to be understood that the terms "comprise", "include", "have" and variations thereof, as used in the present specification and the appended claims, indicate the presence of stated features, wholes, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.

[0019] It should be further understood that the terminology used in the present specification is for the purpose of describing particular embodiments only, and is not intended to limit the scope of the present invention. As used in the present specification and the appended claims, the singular forms "a," "an," and "said" are intended to include the plural forms unless the context clearly dictates otherwise.

[0020] It is to be further understood that the term "and / or" as used in the present specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated items.

[0021] The terms "first", "second", and "third" in the present invention are for descriptive purposes only and should not be construed as indicating or implying a relative importance or quantity of the technical features being referred to. Thus, features qualified by "first", "second", and "third" may explicitly or implicitly include at least one technical feature. In the present description, "plurality" means at least two, e.g., two, three, etc., unless otherwise expressly defined.

[0022] The term "one embodiment" or "some embodiments" in the specification of the present invention means that one or more embodiments of the present invention may include a particular feature, structure, or characteristic related to the contents described in the embodiment. Therefore, the terms "in one embodiment," "in some embodiments," "in other some embodiments," "in other some embodiments," and the like appearing in different parts of the specification, unless otherwise specified, do not mean that the described embodiment is referred to in all other embodiments, but rather that the described embodiment is referred to in one or more, but not all, other embodiments.

[0023] The present invention relates to collision avoidance mechanisms used in mobile devices. As used herein, the term "collision avoidance" refers to preventing collisions or reducing the severity of collisions. "Mobile device" refers to a device such as a vehicle or a mobile robot that has the ability to move around in its environment. "Navigation" refers to the process of monitoring and controlling the movement of a mobile device from one location to another. "Sensor" refers to an object that detects events or changes in the environment and transmits relevant information to equipment, modules, devices or subsystems (e.g., ambient light sensors and image sensors) of other electronic devices (e.g., processors). The term "fusion" of sensors refers to the process of integrating multiple sensors to provide more consistent, accurate and useful information than can be provided by any single sensor.

[0024] FIG 1A is a perspective view of a mobile device 100 in some embodiments of the present invention. FIG 1B is a schematic block diagram illustrating the mobile device 100 of FIG 1A. The mobile device 100 may be a mobile robot, for example a wheeled robot, and may include a processing unit 110, a storage unit 120, and a control unit 130 that communicate over one or more communication buses or signal lines L. It is noted that the mobile device 100 is only one example of a mobile device, and may have more or fewer components (e.g., units, sub-units, and modules) than those described above or below, may combine two or more components, or may have a different component arrangement or configuration.

[0025] The processing unit 110 executes various (groups of) instructions stored in the storage unit 120. These instructions may be in the form of software programs to perform the functions of the mobile device 100 and process related data. The processing unit 110 may include one or more processors (e.g., CPUs). The storage unit 120 may include one or more memories (e.g., high-speed random access memory (RAM) and non-transitory memory), one or more storage controllers, and one or more non-transitory computer-readable storage media (e.g., solid-state drives (SSDs)). The control unit 130 may include various controllers (e.g., camera controller, display controller, and physical button controller) and peripheral device interfaces for outputting input of the mobile device 100 to peripheral devices, such as external ports (e.g., USB), wireless communication circuits (e.g., RF communication circuits), audio circuits (e.g., speaker circuits), sensors (e.g., RGB-D cameras, laser radars, and accelerometers), and are connected to the processing unit 110 and the storage unit 120.

[0026] The storage unit 120 may include a navigation module 121. The navigation module 121 may be stored in one or more memories (and one or more non-volatile computer-readable storage media). The navigation module 121 may include instructions I to implement navigation of the mobile device 100. n and a collision avoidance sub-module 1211. The collision avoidance sub-module 1211 outputs a command I to realize collision avoidance of the mobile device 100. c The instruction may be a software module having the following command: c Command I for implementing navigation and collision avoidance for the mobile device 100 n may be part of Directive I cThe collision avoidance sub-module 1211 may be a separate sub-module from the processing unit 110 or may be another sub-module of the navigation module 121. The collision avoidance sub-module 1211 may have data (e.g., input / output data and temporary data related to collision avoidance of the mobile device 100) that may be stored in one or more memories and accessed by the processing unit 110. In another embodiment, the navigation module 121 may be a navigation unit that communicates with the processing unit 110, the storage unit 120, and the control unit 130 over one or more communication buses or signal lines L, and sends commands I. n and one or more memories (e.g., high-speed random access memory (RAM) and non-transitory memory) for storing the collision avoidance submodule 1211, and the stored instructions I n and I c The mobile device 100 may include one or more processors (eg, MPU or MCU) for executing the above to provide navigation and collision avoidance for the mobile device 100.

[0027] The mobile device 100 may further include sensors S (not shown) for detecting the environment in which it is located and realizing its navigation. The sensors S communicate with the control unit 130 by one or more communication buses or signal lines, which may be the same as or at least partially different from the one or more communication buses or signal lines L. In another embodiment, if the navigation module 121 is the navigation unit, the sensors S may communicate with the navigation unit by one or more communication buses or signal lines, which may be the same as or at least partially different from the one or more communication buses or signal lines L.

[0028] The mobile device 100 may include a camera group 131, a communication subunit 132, and an actuation subunit 133. The camera group 131, the communication subunit 132, and the actuation subunit 133 communicate with the control unit 130 by one or more communication buses or signal lines, which may be the same as or at least partially different from the one or more communication buses or signal lines L.

[0029] The camera group 131 is for taking still or video images of the environment in which the mobile device 100 is located, and may include one or more cameras (e.g., a normal camera and an infrared camera). The communication subunit 132 is connected to a communication interface of the mobile device 100 (e.g., a network interface 1321 and an I / O interface 1322 (e.g., a physical button) through which the mobile device 100 communicates with other devices (e.g., a remote control or a smartphone) via a network (e.g., a wireless network). The actuation subunit 133 is connected to a member / device for realizing the movement of the mobile device 100, for example, by an actuation wheel W or a motor of a joint J.

[0030] The communication subunit 132 may include a controller used for the communication interface of the mobile device 100. The actuation subunit 133 may include a controller of the members / devices for realizing the movement of the mobile device 100. In other embodiments, the communication subunit 132 and / or the actuation subunit 133 are merely abstract members that represent logical relationships between the members of the mobile device 100.

[0031] 1A and 1B may be implemented in hardware, software, or a combination of hardware and software. In some embodiments, two or more of the processing unit 110, the storage unit 120, the control unit 130, the navigation module 121, and other units / subunits / modules may be implemented on a single chip or circuit. In other embodiments, at least some of them may be implemented on a separate chip or circuit.

[0032] 2 is a schematic block diagram of a collision avoidance implementation in the mobile device 100 of FIG. 1A. In some embodiments, the mobile device 100 generates command(s) I corresponding to the collision avoidance method. c The collision avoidance sub-module 1211 is stored in one or more memories of the navigation module 121, and the command I c By executing the above, a collision avoidance method for the mobile device 100 is realized, and the mobile device 100 is prevented from colliding with a collision object C (FIGS. 6B and 7B), such as a person, a vehicle, trash, or other obstacle.

[0033] According to the collision avoidance method, the processing unit 110 fuses the sensor data received from the sensor S to obtain a data point P corresponding to the object C (block 210). In some embodiments, the sensor S may include an RGB-D camera S1, a laser radar (LiDAR) S2, a sonar S3, and an infrared range finder (IR) S4. A fusion algorithm, such as a Kalman filter, can be applied to fuse the received sensor data, which is advantageous, for example, for reducing uncertainties caused by noise data, fusing data with different speeds, and combining data of the same object. For example, when the mobile device 100 detects that a person (i.e., object C) is standing in front of it, the laser radar S2 detects the person's feet at a data transmission rate of 40 Hertz (Hz), and the RGB-D camera S1 detects the person's body at a data transmission rate of 15 Hz, and then the Kalman filter fuses the sensor data of the laser radar S2 and the RGB-D camera S1 at a data transmission rate of 40 Hz to output a data point P (e.g., a group of two-dimensional (2D) points).

[0034] In some embodiments, to facilitate detection of a moving object C, e.g., a moving person, the sensor data received from the RGB-D camera (or other depth camera) S1 is subjected to, e.g., generating a (rectangular) bounding box that fits the shape of the object C and projecting said box onto a 2D plane parallel to the ground plane to obtain segmented sensor data (where said data is discretized into 2D points) corresponding to the object C before being fused (block 211). The segmented sensor data is then fused with sensor data received from other sensors to obtain data points P corresponding to the object C (block 210).

[0035] Processing unit 110 further calculates a closed-form solution (i.e., an "analytical solution") of the distance between mobile device 100 and each data point P, i.e., the distance between mobile device 100 and each data point P (i.e., the "collision distance") (block 220). In some embodiments, the distance includes a distance l between collision point Q and the corresponding data point P, and an angle θ of collision point Q and the corresponding data point P relative to a center of rotation O (FIGS. 6B and 7B), where distance l and angle θ are described by an equation and jointly form a closed-form solution of the distance between mobile device 100 and each data point P.

[0036] The processing unit 110 further calculates a maximum allowable speed for the mobile device 100 based on the shortest of the obtained distances between the mobile device 100 and all the data points and the current speed of the mobile device 100 (block 230). In some embodiments, the maximum allowable speed is: JPEG0007661499000023.jpg5170Current speed is the current linear velocity v c and current angular velocity ω c Includes

[0037] The processing unit 110 further controls the mobile device 10 to travel at the maximum allowable speed. JPEG0007661499000024.jpg62170

[0038] FIG. 3 is a schematic diagram of sensors arranged on a mobile device M in some embodiments of the present invention. In some embodiments, the mobile device M (and the mobile device 100 in FIG. 1) has multiple sensors, i.e., one RGB-D camera S1, one laser radar S2, five sonars S3, and six infrared range finders S4 mounted on the front of the mobile device M, which makes it easier to detect an object C, for example, as the mobile device M moves forward. The RGB-D camera S1 may be advantageous for detecting small objects with rich features and sharp edges (e.g., a mobile phone or water stains on a carpet), and floating objects whose top is larger than the bottom. For example, for a desk with four legs, the RGB-D camera S1 can identify the surface of the desk, while the laser radar S2 can only detect the four legs of the desk and cannot identify the surface of the desk. The sonar S3 may be advantageous for detecting transparent objects (e.g., glass or acrylic), deep colored objects (e.g., black objects), and reflective obstacles (e.g., mirrors). The infrared range finder S4 may be advantageous in detecting small obstacles with a height of more than 5 cm. In other embodiments, the number of the sensors in the sensor S can be changed according to actual needs. The sensor S may include only some of the above types of sensors (e.g., the RGB-D camera S1, the laser radar S2, and the sonar S3), or may include other types of sensors (e.g., radar).

[0039] In some embodiments, the RGB-D camera S1 is attached to the center of the front and directed toward the front of the mobile device M so as to capture a depth image within a range R1 in front of the mobile device M (FIG. 1A). The depth image may be a three-dimensional (3D) image, which is advantageous for detecting an object C with a relatively small size. The laser radar S2 is attached to the lower part of the front and directed toward the front of the mobile device M so as to collect laser radar data (FIG. 1A). The laser radar data may be a two-dimensional array within a range R2 in front, diagonally forward, side, and diagonally rear of the mobile device M, which is advantageous for detecting an opaque hypochromatic object C within a wider range. The five sonars S3 are attached to the center and lower part of the front and have a certain interval between them (FIG. 1A). The sonar data collected by each sonar S3 may be one 2D point within the range R3, which allows the five sonars S3 to jointly collect sonar data within the range R3 in front, diagonally forward, and side of the mobile device M, which is advantageous for detecting a transparent object C. Six infrared range finders S4 are mounted on the bottom of the front side in a line with a certain interval (Fig. 1A). Each infrared range finder S4 collects distance data, which may be one 2D point within a range R4 in front of the mobile device M, which is advantageous for detecting an object C that is opaque, light-colored and small in height.

[0040] In addition to the five sonars S3 and six infrared range finders S4 mounted on the front of the mobile device M, there are five sonars S3 and six infrared range finders S4 mounted on the rear of the mobile device M, which can detect an object C, for example, when the mobile device M moves backward. In other embodiments, the type, arrangement and number of sensors S in the mobile device M for detecting the environment in which the mobile device M is located and realizing its navigation can be changed according to actual needs. For example, a camera group 131 mounted on the top surface of the front may be used as one of the sensors S to capture images / videos to detect a relatively distant object C, and six or more sonars S3 are mounted on the front to shorten the interval between them, thereby shortening the gap in the R3 range of two adjacent sonars S3, and improving the detection effect.

[0041] Fig. 4 is a schematic block diagram of calculating the collision distance in the collision avoidance mechanism of Fig. 2. To calculate the collision distance (block 220 of Fig. 2), in some embodiments, the processing unit 110 calculates the rotation radius r of the mobile device 100 (i.e., r=v / ω) by dividing the linear velocity v of the mobile device 100 by the angular velocity ω of the mobile device 100 (block 221), obtains the collision point Q corresponding to each data point P of the mobile device 100 based on the rotation radius r (block 222), i.e., obtains the collision point Q corresponding to all data points P, calculates the angle θ of the collision point Q and the corresponding data point P with respect to the rotation center O (Fig. 6B) (O=(0,r)) based on the rotation radius r, and calculates the distance l (i.e., l=θh) between the collision point Q and the corresponding data point P by multiplying the angle θ by the distance h between the rotation center O and the corresponding data point P (block 223), i.e., obtains the angle θ and the distance l corresponding to all data points P. In some embodiments, the linear velocity v can be obtained, for example, by fusing data received from an accelerometer of the mobile device 100, the current velocity as viewed from an odometer of the wheel W, and the results of a simultaneous localization and mapping (SLAM) (based on laser radar). The angular velocity ω can be obtained, for example, by fusing data received from an inertial measurement unit (IMU) of the mobile device 100 and the current velocity as viewed from an odometer of the wheel W.

[0042] FIG. 5 is a schematic block diagram of the motion states of the mobile device 100 of FIG. 1A. The mobile device 100 has five states, corresponding to different linear velocities v and angular velocities ω of the mobile device 100. In some embodiments, when calculating the collision distance (block 220 of FIG. 2), the processing unit 110 first determines the motion state of the mobile device 100 corresponding to the current motion of the mobile device 100 (e.g., stop, rotate, move forward / backward) based on the linear velocity v and angular velocity ω of the mobile device 100, and then determines a method (depending on the motion state of the mobile device 100; FIG. 6A and FIG. 7A) for obtaining the collision point Q (block 222 of FIG. 4) and calculating the relative angle θ and distance l (block 223 of FIG. 4) based on the determined motion state for the calculation of the collision distance (block 220 of FIG. 4). If the linear velocity v and the angular velocity ω are not both 0, it is determined that the mobile device 100 is in motion state I, i.e., circular motion. If the linear velocity v is zero and the angular velocity ω is not zero, the mobile device 100 is determined to be in state II, i.e., rotating in place. If the linear velocity v is greater than zero and the angular velocity ω is zero, the mobile device 100 is determined to be in state III, i.e., moving forward. If the linear velocity v is less than zero and the angular velocity ω is zero, the mobile device 100 is determined to be in state IV, i.e., moving backward. If both the linear velocity v and the angular velocity ω are zero, the mobile device 100 is determined to be in state V, i.e., stationary.

[0043] Collision Distance Calculation: Application to Mobile Devices with Circular Footprints The calculation of the collision distance depends on the "footprint" of the mobile device. The footprint may be the outline of the mobile base (or chassis) of the mobile device. For example, a mobile device 100 having a circular mobile base (or chassis, FIG. 1A) has a circular footprint 101 (FIG. 6A), and a mobile device M having a rectangular mobile base (or chassis, FIG. 3) has a rectangular footprint M1 (FIG. 3). The footprint of the mobile device can be determined in the following manner: the outline of the mobile base (or chassis) of the mobile device shown in the design drawing of the mobile device is taken as the footprint, or the outline of the mobile base (or chassis) is determined by analyzing a top view photo of the mobile base (or chassis) of the mobile device, and the determined outline is taken as the footprint. In some embodiments, for safety, the footprint can be defined as an actual outline that is (slightly) larger than the mobile base (or chassis) of the mobile device, for example, depending on the size, weight, and / or maximum speed. For example, the greater the size, weight and / or maximum speed of the mobile device, the larger the defined footprint.

[0044] FIG. 6A is a schematic diagram of the movement of the mobile device 100 having the circular footprint 101 of FIG. 1A (and another mobile device having an elliptical footprint). In state I, the mobile device 100 moves in a circular motion as shown in part (a) of FIG. 6A, and collides only with data points P in region 1), so that data points P outside region 1) are ignored. FIG. 6B is a schematic diagram of calculating a collision point Q when the mobile device 100 having the circular footprint 101 of FIG. 1A (and the mobile device having the elliptical footprint described above) moves. To obtain the collision point Q of the mobile device 100 having the circular footprint 101 (or the mobile device having the elliptical footprint described above) in state I (block 222 of FIG. 4), in some embodiments, the processing unit 110 calculates the shortest distance a between the rotation center O and the circular footprint 101 of the mobile device 100 by the following formula: JPEG0007661499000025.jpg6170R is the turning radius of the mobile device 100 and n is the radius of the circular footprint 100.

[0045] The processing unit 110 further calculates the maximum distance c between the center of rotation O and the circular footprint 101 of the mobile device 100 according to the following formula: JPEG0007661499000026.jpg6170 The processing unit 110 further calculates the distance h between the rotation center O and the corresponding data point P according to the following formula: JPEG0007661499000027.jpg9170, where p x is the x-coordinate of the corresponding data point P, and p y is the y-coordinate of the corresponding data point P. The processing unit 110 further comprises: In the case of JPEG0007661499000028.jpg6170 (i.e., for data point P in region 1 of part (a) of FIG. 6A), the coordinates of collision point Q (q x ,q y ) to calculate JPEG0007661499000029.jpg12170 where v is the linear velocity of the mobile device 100.

[0046] 6C is a schematic diagram of calculating a midpoint K between a collision point Q and a corresponding data point P as the mobile device 100 with the circular footprint 101 of FIG. 1A (and mobile devices with an elliptical footprint as described above) moves. To calculate the relative angle θ and distance l (block 223 of FIG. 4) of the mobile device 100 with the circular footprint 101 (or mobile devices with an elliptical footprint as described above), in some embodiments, the processing unit 110 calculates the coordinates (k x ,k y ) can be calculated. JPEG0007661499000030.jpg8170, where q x is the x-coordinate of the collision point Q, and q y is the y coordinate of the collision point Q.

[0047] The processing unit 110 further calculates the angle θ of the collision point Q and the corresponding data point P with respect to the center of rotation O according to the following equation: JPEG0007661499000031.jpg17170 where k x is the x-coordinate of the midpoint K, and k yis the y coordinate of the midpoint K.

[0048] The processing unit 110 further calculates the distance l between the collision point Q and the corresponding data point P according to the following formula: l=θh In state II, the mobile device 100 does not need to avoid collisions (all data points P may be ignored) since it is rotating in place and no collisions will occur. In state III, the mobile device 100 moves forward as shown in part (b) of FIG. 6A and collides only with data points P in region 1), so data points P outside region 1) are ignored. In the case of JPEG0007661499000032.jpg10170 (i.e., for data point P in area 1 of part (b) of FIG. 6A), the coordinates of collision point Q (q x ,q y ) can be calculated. JPEG0007661499000033.jpg8170 Processing unit 110 may further set the angle θ of collision point Q and corresponding data point P relative to the center of rotation O to ∞.

[0049] The processing unit 110 may further calculate the distance l between the collision point Q and the corresponding data point P according to the following formula: In state IV, the mobile device 100 moves backwards as shown in part (c) of FIG. 6A and collides with data points P only in region 1), so data points P outside region 1) are ignored. The processing unit 110: In the case of JPEG0007661499000035.jpg9170 (i.e., for data point P in area 1 of part (c) of FIG. 6A), the coordinates of collision point Q (q x ,q y ) to calculate JPEG0007661499000036.jpg9170 Processing unit 110 may further set the angle θ of collision point Q and corresponding data point P relative to the center of rotation O to ∞.

[0050] The processing unit 110 may further calculate the distance l between the collision point Q and the corresponding data point P according to the following formula: In state V, the mobile device 100 is stationary and no collision avoidance is required (all data points P may be ignored) since no collisions can occur.

[0051] Collision Distance Calculation: Application to Mobile Devices with Rectangular Footprints 7A and 3 are schematic diagrams of the movement of a mobile device M having a rectangular footprint M1 (and other mobile devices having other polygonal footprints such as a square, trapezoid, and pentagon). In state I, the mobile device M moves in a circular motion as shown in part (a) of FIG. 7A, and collides only with data points P in regions 1) and 2), so that data points P outside regions 1) and 2) are ignored. FIG. 7B is a schematic diagram of calculating a collision point Q when a mobile device M having a rectangular footprint M1 of FIG. 3 (and mobile devices having other polygonal footprints as described above) moves. To obtain a collision point Q of a mobile device M having a rectangular footprint M1 (or a mobile device having other polygonal footprints as described above) in state I (block 222 of FIG. 4), in some embodiments, the processing unit 110 can calculate a distance a between the rotation center O and the nearest side of the rectangular footprint M1 of the mobile device M by the following formula: JPEG0007661499000038.jpg6170 where n is half the width of the rectangular footprint M1.

[0052] The processing unit 110 may further calculate the shortest distance b between the center of rotation O and the corners of the rectangular footprint M1 of the mobile device M according to the following formula: JPEG0007661499000039.jpg8170 where m is half the length of the rectangular footprint M1. The processing unit 110 may further calculate the maximum distance c between the center of rotation O and the multiple corners of the rectangular footprint M1 of the mobile device M according to the following formula: The JPEG0007661499000040.jpg8170 processing unit 110 further In the case of JPEG0007661499000041.jpg5170 (i.e., for data point P in region 1 of part (a) of FIG. 7A), the coordinates of collision point Q (q x ,q y ) can be calculated. The JPEG0007661499000042.jpg10170 processing unit 110 further In the case of JPEG0007661499000043.jpg6170 (i.e., for data point P in region 2 in part (a) of FIG. 7A), the coordinates of collision point Q (q x ,q y ) can be calculated. JPEG0007661499000044.jpg9170Here, v is the linear velocity of the moving device M.

[0053] In state II, the mobile device M rotates in place as shown in part (b) of FIG. 7A and collides only with data points P in regions 1), 2), 3), and 4), and therefore ignores data points P outside regions 1), 2), 3), and 4). To obtain collision points Q (block 222 of FIG. 4) of the mobile device M having a rectangular footprint M1 (or a mobile device having other polygonal footprints as described above) in state II, in some embodiments, the processing unit 110 performs the following steps: In the case of JPEG0007661499000045.jpg6170 (for data point P in area 1 of part (b) of FIG. 7A), the coordinates of collision point Q (q x ,q y ) can be calculated. JPEG0007661499000046.jpg11170Here, ω is the angular velocity of the moving device M.

[0054] The processing unit 110 further comprises: In the case of JPEG0007661499000047.jpg7170 (i.e., for data point P in region 2 in part (b) of FIG. 7A), the coordinates of collision point Q (q x ,q y ) can be calculated. The JPEG0007661499000048.jpg9170 processing unit 110 further In the case of JPEG0007661499000049.jpg6170 (i.e., for data point P in region 3 of part (b) of FIG. 7A), the coordinates of collision point Q (q x ,q y ) can be calculated. The JPEG0007661499000050.jpg9170 processing unit 110 further In the case of JPEG0007661499000051.jpg6170 (i.e., for data point P in area 4 in part (b) of FIG. 7A), the coordinates of collision point Q (q x ,q y ) can be calculated. JPEG0007661499000052.jpg10170 In states I and II, rectangular footprints M l To calculate the relative angle θ and distance l (block 223 of FIG. 4 ) for a mobile device M having a polygonal footprint (or a mobile device having any of the other polygonal footprints discussed above), in some embodiments, processing unit 110 calculates the coordinates (k x ,k y ) can be calculated. JPEG0007661499000053.jpg8170, where p x is the x-coordinate of the corresponding data point P, and q x is the x-coordinate of the collision point Q, and p y is the y coordinate of the corresponding data point P, and q y is the y coordinate of the collision point Q.

[0055] The processing unit 110 can further calculate the angle θ of the collision point Q and the corresponding data point P with respect to the center of rotation O according to the following formula: JPEG0007661499000054.jpg18170k x is the x-coordinate of the midpoint K, and k y is the y coordinate of the midpoint K, and r is the turning radius of the mobile device M. The processing unit 110 may further calculate the distance l between the collision point Q and the corresponding data point P according to the following formula: In state III, the mobile device M moves forward as shown in part (c) of FIG. 7A and collides with only data points P in region 1), so data points P outside region 1) are ignored. The processing unit 110 further: In the case of JPEG0007661499000056.jpg7170 (i.e., for data point P in area 1 of part (c) of FIG. 7A), the coordinates of collision point Q (q x ,q y ) can be calculated. JPEG0007661499000057.jpg7170 Processing unit 110 may further set the angle θ of collision point Q and corresponding data point P relative to the center of rotation O to ∞.

[0056] The processing unit 110 can further calculate the distance l between the collision point Q and the corresponding data point P according to the following formula: In state IV, the mobile device M moves backward as shown in part (d) of FIG. 7A and collides with data points P only in region 1), so data points P outside region 1) are ignored. The processing unit 110: In the case of JPEG0007661499000059.jpg7170 (i.e., for data point P in area 1 of part (d) of FIG. 7A), the coordinates of collision point Q (q x ,q y ) can be calculated. JPEG0007661499000060.jpg7170 Processing unit 110 may further set the angle θ of collision point Q and corresponding data point P relative to the center of rotation O to ∞.

[0057] The processing unit 110 may further calculate the distance l between the collision point Q and the corresponding data point P according to the following formula: JPEG0007661499000061.jpg6170 Note that all calculated distances l and angles θ are expressed as equations, not numerical values, so that each distance l and its corresponding angle θ jointly form a closed-form solution of the distance between the mobile device 100 and each data point P. In some embodiments, to prevent a collision with a moving object C, such as a moving person, after dividing the sensor data to obtain divided sensor data corresponding to the object C (block 211 in FIG. 2), the processing unit 110 can estimate the speed of the object C based on the divided sensor data and predict the trajectory of the object C based on the speed. Before calculating the collision distance (block 220 in FIG. 2), the processing unit 110 can add the closest point in the predicted trajectory to the multiple data points. This allows the closest point in the predicted trajectory of the object C to be considered when calculating the collision distance (block 220 in FIG. 2).

[0058] To calculate the maximum allowable speed (block 230 of FIG. 2), in some embodiments, the processing unit 110 obtains the shortest distance l between the mobile device 100 and a data point P; JPEG0007661499000062.jpg12170, where v c is the current linear velocity of the mobile device 100, and d=d max -d min and d max is the maximum valid range (e.g. d max = 1.2m), and d min is the minimum valid range (e.g., d min = 0.2 m). Only data points P within the valid range d are considered. Figure 8 shows the above equation for the collision avoidance mechanism of Figure 2. JPEG0007661499000063.jpg7170JPEG0007661499000064.jpg33170

[0059] JPEG0007661499000065.jpg12170Here, ω c is the current angular velocity of the mobile device 100, and φ=φ max -φ min and φ max is the maximum valid range (e.g., φ max =0.5rad), φ min is the minimum valid range (e.g., φ min = 0 rad). Only data points P within the valid range φ are considered.

[0060] JPEG0007661499000066.jpg10170 There is no collision with small objects C (e.g., jackets, towels, bags) and floating objects C (e.g., desks and chairs) with a surface height of 0.6 m-0.8 m.

[0061] The advantages of the collision avoidance method in FIG. 2 are as follows. First, it can work in cooperation with various sensors, and can improve the detection sensitivity and accuracy of the mobile device 100 for various obstacles including small, transparent, floating, moving and stationary obstacles by combining various sensor data. Second, in the process of calculating the collision distance, a closed-form solution (i.e., an analytical solution) is used instead of a more complicated numerical solution, thereby reducing the response time of the mobile device 100 to collision avoidance and saving computational resources. Third, the current speed of the mobile device 100 is used as one of the factors for determining the maximum allowable speed, thereby ensuring stable movement of the mobile device 100 and realizing collision avoidance of the mobile device 100. Fourth, the fusion of sensor data can reduce the uncertainty of detection and achieve high system robustness. Fifth, it can be realized with a simple structure, and is easy to implement and maintain.

[0062] The collision avoidance method in FIG. 2 can be implemented on mobile devices in many fields, for example, indoors or outdoors, or in different scenes (e.g., hospitals, factories, warehouses, shopping malls, streets). In some embodiments, the mobile device can be any type of ground vehicle, for example, a unicycle / car type robot, or an omnidirectional mobile robot. The method gives the mobile device the ability to avoid collisions with obstacles such as people, cars, animals, ground protrusions, walls, and furniture.

[0063] As can be understood by those skilled in the art, all or part of the methods in the above embodiments (e.g., collision avoidance in FIG. 2) are implemented by related hardware through one or more computer programs. Also, one or more programs can be stored in a non-volatile computer-readable storage medium. When one or more programs are executed, all or part of the corresponding methods in the above embodiments are executed. Any reference to storage, memory, database, or other medium may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, solid-state drive (SSD), etc. Volatile memory may include random access memory (RAM), external cache memory, etc.

[0064] The processing unit 110 (and the processor) may include a central processing unit (CPU) or other general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate, transistor logic devices, and discrete hardware components. The general-purpose processor may be a microprocessor or any general processor. The storage unit 120 (and the memory) may include an internal storage unit, such as a hard disk and an internal memory. The storage unit 120 may further include an external storage device, such as a plug-in hardware, a smart media card (SMC), a secure digital (SD) card, and a flash card.

[0065] The exemplary units / modules and methods / steps described in the embodiments can be realized by software, hardware, or a combination of software and hardware. Whether these functions are realized by software or hardware depends on the specific application and design of the technical means. The collision avoidance method and the mobile device can also be realized in other ways. For example, the division of the units / modules is merely a logical functional division, and other division ways may be adopted in actual realization. That is, multiple units / modules may be combined or incorporated into another system, or some features may be ignored or not executed. Furthermore, the above-mentioned mutual coupling / connection may be a direct coupling / connection or communication connection, or an indirect coupling / connection or communication connection via some interfaces / devices, and may be in an electrical, mechanical, or other form.

[0066] The above examples are merely for explaining the technical means of the present invention, and do not limit the technical means of the present invention. Although the present invention has been described in detail through the above examples, the technical means in each of the above examples can still be modified, or some of the technical features can be replaced with equivalents. Through these modifications or replacements, the essence of the corresponding technical means does not deviate from the idea and scope of the technical means of each of the embodiments of the present invention, and all should be included in the protection scope of the present invention.

Claims

1. 1. A collision avoidance method for avoiding a collision between a mobile device and an object, comprising: the mobile device has a plurality of sensors; The method comprises: fusing sensor data received from a plurality of sensors to obtain a plurality of data points corresponding to the object; calculating a closed form solution for distances between the mobile device and each data point based on the footprint of the mobile device, where the distances include distances between collision points and corresponding data points and angles between the collision points and corresponding data points relative to a center of rotation, the closed form solution being formed based on the distances and angles between the collision points and corresponding data points; calculating a maximum allowable speed of the mobile device based on a minimum distance between the mobile device and a plurality of data points and a current speed of the mobile device; controlling the mobile device to move in accordance with the maximum allowable speed; A method comprising:

2. Calculating a closed form solution for the distance between the mobile device and each data point comprises: Calculating a turning radius of the mobile device by dividing the linear velocity of the mobile device by the angular velocity of the mobile device; obtaining a collision point for each data point of the mobile device based on the turning radius; Calculating an angle of the collision point and the corresponding data point with respect to the center of rotation based on the rotation radius, and calculating a distance between the collision point and the corresponding data point by multiplying the angle by a distance between the center of rotation and the corresponding data point; The method of claim 1 , comprising:

3. Calculating angles of the collision points and the corresponding data points relative to the center of rotation based on the radius of rotation includes: Calculating the shortest distance a between said center of rotation and the circular footprint of said mobile device according to the following formula: where r is the radius of rotation of the mobile device, n is the radius of the circular footprint, calculating the maximum distance c between the center of rotation and the circular footprint of the mobile device according to the formula: calculating the distance h between the center of rotation and the corresponding data point according to the formula: In the formula, p x is the x-coordinate of the corresponding data point, and p y is the y-coordinate of the corresponding data point, When h ≧ a and h ≦ c, the coordinates of the collision point (q x , q y ) and where v is the linear velocity of the mobile device; The coordinates of the midpoint between the collision point and the corresponding data point (k x , k y ) and In the formula, q x is the x-coordinate of the collision point, and q y is the y coordinate of the collision point, calculating an angle θ of the collision point and the corresponding data point relative to the center of rotation according to the following formula: In the formula, k x is the x-coordinate of the midpoint, and k y is the y coordinate of the midpoint, Including, calculating a distance between the collision point and the corresponding data point by multiplying the angle by a distance between the center of rotation and the corresponding data point; calculating the distance l between said collision point and said corresponding data point by the formula: The method of claim 2 , comprising:

4. Calculating angles of the collision points and the corresponding data points relative to the center of rotation based on the radius of rotation includes: The coordinates of the midpoint between the collision point and the corresponding data point (k x , k y ) and In the formula, p x is the x-coordinate of the corresponding data point, and q x is the x-coordinate of the collision point, and p y is the y coordinate of the corresponding data point, and q y is the y coordinate of the collision point, calculating an angle θ of the collision point and the corresponding data point relative to the center of rotation according to the following formula: In the formula, k x is the x-coordinate of the midpoint, and k y is the y coordinate of the midpoint, r is the turning radius of the mobile device, Including, calculating a distance between the collision point and the corresponding data point by multiplying the angle by a distance between the center of rotation and the corresponding data point; calculating the distance h between the center of rotation and the corresponding data point according to the formula: calculating the distance l between said collision point and said corresponding data point by: The method of claim 2 , comprising:

5. Obtaining the collision points corresponding to each data point of the mobile device based on the turning radius includes: If the linear velocity is not zero, calculating the distance a between said center of rotation and the closest side of the rectangular footprint of said mobile device according to the formula: where n is half the width of the rectangular footprint; Calculating the shortest distance b between the center of rotation and the corners of the rectangular footprint of the mobile device according to the following formula: where m is half the length of the rectangular footprint; calculating the maximum distance c between the center of rotation and the corners of the rectangular footprint of the mobile device according to the formula: When h ≧ a and h < b, the coordinates (q x , q y ) and When h ≧ b and h ≦ c, the coordinates of the collision point (q x , q y ) and where v is the linear velocity of the mobile device; When the linear velocity is 0, p x ≧m and −n≦p y If n, the coordinates (q x , q y ) and where ω is the angular velocity of the mobile device; p x ≦-m and −n≦p y If n, the coordinates (q x , q y ) and -m≦p x ≦m and p y If n, the coordinates (q x , q y ) and -m≦p x ≦m and p y If ≦−n, the coordinates (q x , q y ) and The method of claim 4 , comprising:

6. Calculating a closed form solution for the distance between the mobile device and each data point comprises: determining a motion state of the mobile device based on a linear velocity and an angular velocity of the mobile device; calculating a closed form solution for a distance between the mobile device and each data point based on the motion state; The method of claim 1 , comprising:

7. One of the plurality of sensors is a depth camera, and fusing the sensor data received from the plurality of sensors to obtain the plurality of data points corresponding to the object includes: Segmenting the sensor data received from the depth camera to obtain segmented sensor data corresponding to the object; estimating a velocity of the object based on the segmented sensor data and predicting a trajectory of the object based on the velocity; fusing the segmented sensor data with the sensor data of another of the plurality of sensors to obtain the plurality of data points corresponding to the object; adding the closest point of the predicted trajectory to the plurality of data points; The method of claim 1 , comprising:

8. A plurality of sensors; one or more processors; one or more memories having one or more computer programs stored therein; A mobile device comprising: The one or more computer programs fusing the sensor data received from the plurality of sensors to obtain a plurality of data points corresponding to the object; calculating a closed form solution for a distance between the mobile device and each data point based on the footprint of the mobile device, where the distance includes a distance between a collision point and a corresponding data point and an angle between the collision point and the corresponding data point with respect to a center of rotation, the closed form solution being formed based on the distance and the angle between the collision point and the corresponding data point; calculating a maximum allowable speed for the mobile device based on a minimum distance between the mobile device and a plurality of data points and a current speed of the mobile device; a plurality of instructions for controlling the mobile device to move in accordance with the maximum allowable speed;

9. Calculating a closed form solution for the distance between the mobile device and each data point comprises: Calculating a turning radius of the mobile device by dividing the linear velocity of the mobile device by the angular velocity of the mobile device; obtaining a collision point for each data point of the mobile device based on the turning radius; Calculating an angle of the collision point and the corresponding data point with respect to the center of rotation based on the rotation radius, and calculating a distance between the collision point and the corresponding data point by multiplying the angle by a distance between the center of rotation and the corresponding data point; The mobile device of claim 8 , comprising:

10. Calculating angles of the collision points and the corresponding data points relative to the center of rotation based on the radius of rotation includes: Calculating the shortest distance a between said center of rotation and the circular footprint of said mobile device according to the following formula: where r is the radius of rotation of the mobile device, n is the radius of the circular footprint, calculating the maximum distance c between the center of rotation and the circular footprint of the mobile device according to the formula: calculating the distance h between the center of rotation and the corresponding data point according to the formula: In the formula, p x is the x-coordinate of the corresponding data point, and p y is the y-coordinate of the corresponding data point, When h ≧ a and h ≦ c, the coordinates of the collision point (q x , q y ) and where v is the linear velocity of the mobile device; The coordinates of the midpoint between the collision point and the corresponding data point (k x , k y ) and In the formula, q x is the x-coordinate of the collision point, and q y is the y coordinate of the collision point, calculating an angle θ of the collision point and the corresponding data point relative to the center of rotation according to the following formula: In the formula, k x is the x-coordinate of the midpoint, and k y is the y coordinate of the midpoint, Including, calculating a distance between the collision point and the corresponding data point by multiplying the angle by a distance between the center of rotation and the corresponding data point; calculating the distance l between said collision point and said corresponding data point by the formula:

10. The mobile device of claim 9, comprising:

11. Calculating angles of the collision points and the corresponding data points relative to the center of rotation based on the radius of rotation includes: The coordinates of the midpoint between the collision point and the corresponding data point (k x , k y ) and In the formula, p x is the x-coordinate of the corresponding data point, and q x is the x-coordinate of the collision point, and p y is the y coordinate of the corresponding data point, and q y is the y coordinate of the collision point, calculating an angle θ of the collision point and the corresponding data point relative to the center of rotation according to the following formula: In the formula, k x is the x-coordinate of the midpoint, and k y is the y coordinate of the midpoint, r is the turning radius of the mobile device, Including, calculating a distance between the collision point and the corresponding data point by multiplying the angle by a distance between the center of rotation and the corresponding data point; calculating the distance h between the center of rotation and the corresponding data point according to the formula: calculating the distance l between said collision point and said corresponding data point by:

10. The mobile device of claim 9, comprising:

12. Obtaining the collision points corresponding to each data point of the mobile device based on the turning radius includes: If the linear velocity is not zero, calculating the distance a between said center of rotation and the closest side of the rectangular footprint of said mobile device according to the formula: where n is half the width of the rectangular footprint; Calculating the shortest distance b between the center of rotation and the corners of the rectangular footprint of the mobile device according to the following formula: where m is half the length of the rectangular footprint; calculating the maximum distance c between the center of rotation and the corners of the rectangular footprint of the mobile device according to the formula: When h ≧ a and h < b, the coordinates (q x , q y ) and When h ≧ b and h ≦ c, the coordinates of the collision point (q x , q y ) and where v is the linear velocity of the mobile device; When the linear velocity is 0, p x ≧m and −n≦p y If n, the coordinates (q x , q y ) and where ω is the angular velocity of the mobile device; p x ≦-m and −n≦p y If n, the coordinates (q x , q y ) and -m≦p x ≦m and p y If n, the coordinates (q x , q y ) and -m≦p x ≦m and p y If ≦−n, the coordinates (q x , q y ) and The mobile device of claim 11 , comprising:

13. Calculating a closed form solution for the distance between the mobile device and each data point comprises: determining a motion state of the mobile device based on a linear velocity and an angular velocity of the mobile device; calculating a closed form solution for a distance between the mobile device and each data point based on the motion state; The mobile device of claim 8 , comprising:

14. One of the plurality of sensors is a depth camera, and fusing the sensor data received from the plurality of sensors to obtain the plurality of data points corresponding to the object includes: Segmenting the sensor data received from the depth camera to obtain segmented sensor data corresponding to the object; estimating a velocity of the object based on the segmented sensor data and predicting a trajectory of the object based on the velocity; fusing the segmented sensor data with the sensor data of another of the plurality of sensors to obtain the plurality of data points corresponding to the object; adding the closest point of the predicted trajectory to the plurality of data points; The mobile device of claim 8 , comprising:

15. A computer-readable recording medium having one or more computer programs recorded thereon, The one or more computer programs include a plurality of instructions that, when executed by a mobile device having a plurality of sensors, cause the mobile device to: fusing the sensor data received from the plurality of sensors to obtain a plurality of data points corresponding to the object; calculating a closed form solution for a distance between the mobile device and each data point based on the footprint of the mobile device, where the distance includes a distance between a collision point and a corresponding data point and an angle between the collision point and the corresponding data point with respect to a center of rotation, the closed form solution being formed based on the distance and the angle between the collision point and the corresponding data point; calculating a maximum allowable speed for the mobile device based on a minimum distance between the mobile device and a plurality of data points and a current speed of the mobile device; A recording medium for controlling the mobile device to move in accordance with the maximum allowable speed.

16. Calculating a closed form solution for the distance between the mobile device and each data point comprises: Calculating a turning radius of the mobile device by dividing the linear velocity of the mobile device by the angular velocity of the mobile device; obtaining a collision point for each data point of the mobile device based on the turning radius; Calculating an angle of the collision point and the corresponding data point with respect to the center of rotation based on the rotation radius, and calculating a distance between the collision point and the corresponding data point by multiplying the angle by a distance between the center of rotation and the corresponding data point; The recording medium according to claim 15 .

17. Calculating angles of the collision points and the corresponding data points relative to the center of rotation based on the radius of rotation includes: Calculating the shortest distance a between said center of rotation and the circular footprint of said mobile device according to the following formula: where r is the radius of rotation of the mobile device, n is the radius of the circular footprint, calculating the maximum distance c between the center of rotation and the circular footprint of the mobile device according to the formula: calculating the distance h between the center of rotation and the corresponding data point according to the formula: In the formula, p x is the x-coordinate of the corresponding data point, and p y is the y-coordinate of the corresponding data point, When h ≧ a and h ≦ c, the coordinates of the collision point (q x , q y ) and where v is the linear velocity of the mobile device; The coordinates of the midpoint between the collision point and the corresponding data point (k x , k y ) and In the formula, q x is the x-coordinate of the collision point, and q y is the y coordinate of the collision point, calculating an angle θ of the collision point and the corresponding data point relative to the center of rotation according to the following formula: In the formula, k x is the x-coordinate of the midpoint, and k y is the y coordinate of the midpoint, Including, calculating a distance between the collision point and the corresponding data point by multiplying the angle by a distance between the center of rotation and the corresponding data point; calculating the distance l between said collision point and said corresponding data point by the formula: The recording medium according to claim 16 ,

18. Calculating angles of the collision points and the corresponding data points relative to the center of rotation based on the radius of rotation includes: The coordinates of the midpoint between the collision point and the corresponding data point (k x , k y ) and In the formula, p x is the x-coordinate of the corresponding data point, and q x is the x-coordinate of the collision point, and p y is the y coordinate of the corresponding data point, and q y is the y coordinate of the collision point, calculating an angle θ of the collision point and the corresponding data point relative to the center of rotation according to the following formula: In the formula, k x is the x-coordinate of the midpoint, and k y is the y coordinate of the midpoint, r is the turning radius of the mobile device, Including, calculating a distance between the collision point and the corresponding data point by multiplying the angle by a distance between the center of rotation and the corresponding data point; calculating the distance h between the center of rotation and the corresponding data point according to the formula: calculating the distance l between said collision point and said corresponding data point by: The recording medium according to claim 16 ,

Citation Information

Patent Citations

  • Boarding type mobile robot

    JP2015166891A

  • Robot and method of controlling the same

    JP2018120482A

  • Obstacle detection system

    JP2019197428A

  • System and method for controlling vehicle motion

    JP2020504872A

  • Autonomous mobile robot and method for controlling the autonomous mobile robot

    JP2020514858A