Robot, system and method for detecting collision risks
The collision risk detection system for robots addresses the challenge of integrating autonomous robots into complex environments by using real-time environmental modeling and proactive speed adjustments to prevent collisions with obstacles, enhancing safety and legal acceptance.
Patent Information
- Application Number
- FR2024005287
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-23
- Publication Date
- 2025-11-28
AI Technical Summary
The integration of autonomous robots into complex environments poses challenges due to the risk of collisions with both fixed and moving obstacles, which can lead to accidents and compromise safety and legal acceptance.
A collision risk detection system for robots, comprising environmental perception, safety, and control modules, that models the environment in 2D or 3D, identifies obstacles, defines collision and precautionary zones, and adjusts movement speed or direction to prevent collisions through real-time risk assessment.
Enhances the safety of robots by reducing collision risks through real-time obstacle detection and proactive speed adjustments, ensuring smooth operation and minimizing accidents.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Robot, system and method for detecting collision risks. Technical field
[0001] The invention relates to a system and a method for detecting risks of collision of a robot and in particular a logistics robot. Previous technique
[0002] Many mobile robots are known, most of which are designed to follow a person, move around completely autonomously, or be remotely operated by surveillance and security operators.
[0003] Most often, these robots include one or more electric motors, powered by batteries, enabling them to perform these movements. Generally, the linear speed (accelerator, brake) and angular speed (steering wheel) commands are given either by the monitoring and safety operator or by high-level algorithms.
[0004] The progressive integration of autonomous robots into complex environments such as urban settings or industrial sites raises issues of collisions with fixed obstacles, for example, street furniture, but also with moving obstacles such as pedestrians, cyclists, scooters, motor vehicles, etc. More broadly, the interaction of a robot with such an environment raises questions regarding obstacle detection, recognition, and collision prevention. First and foremost, the successful integration of these robots into our daily environments is a key challenge for the development of these technologies. To this end, it is essential to ensure the safety of users of these environments as well as the integrity of the autonomous robot during its operations.Indeed, underlying this, the successful integration of these robots also conditions their acceptability to society, both from a legal point of view, particularly with regard to insurance companies, and from the point of view of individual morals.
[0005] Thus, in the event of a failure of the robot's safety system, for any reason whatsoever, dangerous situations may arise and create accidents in which material and human damage may be significant.
[0006] The invention aims to overcome all or part of these drawbacks. Description of the invention
[0007] The invention aims to provide a technical solution to reduce the risk of collision between an autonomous robot and obstacles that move freely in the same environment as the robot.
[0008] To this end, an embodiment of the invention relates to a collision risk detection system for a robot, in particular a logistics robot, which includes means of movement comprising, in particular, wheels, a steering wheel, braking means, and a motor configured to drive the wheels in rotation in a direction of movement, the detection system comprising: - an environmental perception module configured, on the one hand, to detect obstacles in the environment around the robot, such as street furniture, a hole, a pedestrian, a cyclist, a scooter, a vehicle, etc., and on the other hand, to model, at each instant t, the position of the obstacles by position coordinates (X, Y) in a 2D or 3D digital model constructed in relation to the robot, - a safety module that is configured to define, at each instant t, at least one collision zone extending 360° around the robot, the collision zone being defined in the 2D or 3D digital model, - a robot control module that is configured to regulate the robot's movement speed at any given time t by determining a speed, braking, or stopping command for the robot, - a computing unit configured to evaluate, at each instant t, the risk of collision between the robot and perceived obstacles, said risk being evaluated by comparing the position (X, Y) of the perceived obstacles in the robot's environment at least with respect to the collision zone, when the perceived obstacles are in the collision zone, the computing unit is configured to transmit, at each instant t, to the control module a command to modify one or more robot movement instructions such as linear speed, angular speed, braking, or stopping the robot.
[0009] The detection system as claimed allows for the real-time modeling of the robot's environment and the identification of obstacles in its immediate surroundings. The robot and the obstacles can be positioned on an occupancy grid constructed relative to the robot. On the one hand, the system delimits a virtual wall, claimed to be the collision zone surrounding the robot; on the other hand, the system evaluates the risk of collision based on this virtual wall and not on the robot itself. By performing the collision risk assessment in real time and remotely from the robot, it is then possible to modify the speed command based on the risk assessment before a collision can occur.
[0010] [Security Module]
[0011] In some embodiments, the safety module can be configured to define a precautionary zone extending 360° around the collision zone in the digital model. The precautionary zone is an extension of the collision zone, and the computing unit is configured to determine the (X, Y) position of obstacles relative to the precautionary zone. When obstacles are detected within the precautionary zone, the computing unit is configured to transmit a braking command or a speed reduction command to the control module. The precautionary zone provides a virtual shield that allows the robot's speed to be reduced before the obstacle reaches the collision zone. The robot's behavior then becomes smoother, emergency braking is limited, and it can be anticipated by the detection system.
[0012] In some embodiments, the collision zone and the precaution zone can be offset towards the front of the robot or in the direction of robot movement, so that their surface area is larger in the robot's direction of travel. This allows the system's vigilance to be concentrated in the direction of robot movement.
[0013] In embodiments, the collision zone and the precaution zone can be defined, in the digital model, by a ground footprint that extends around the ground footprint of the robot.
[0014] In embodiments, the dimensions of the collision zone and the safety zone can be defined, at a given time t, at least with respect to the robot's speed and mass at time t, the robot's mass potentially including a payload. The dimensions of the collision zone and the safety zone can define, respectively, the robot's stopping distance and braking distance. Therefore, adjusting the dimensions of these zones according to the movement parameters (speed), as well as the robot's intrinsic braking capabilities and its mass at each time t, ensures the system's reliability regardless of the robot's operating conditions in terms of movement, load, or environmental constraints.
[0015] In some embodiments, the safety module can be configured to deform the collision zone and the precaution zone when the robot moves along a curved path. The curved path can be determined at least according to an angular velocity of the robot; said zones are then deformed, transiently, according to the curved path of the robot. Since the future path that the robot will follow is known to the system, the shape of the collision zone and the precaution zone can be adjusted, in real time and transiently, in order to refine the assessment of the collision risk according to the actual path taken by the robot and not only in relation to the position of the obstacles relative to the robot. This is described in more detail below.
[0016] [Perception Module]
[0017] In some embodiments, the perception module may include odometry devices configured to determine, at each instant t, the robot's position, linear velocity, and angular velocity. In particular, the odometry devices may include: - an inertial measurement unit integrated into the robot that is configured to measure linear accelerations and angular velocities of the robot, and - linear speed sensors and angular speed sensors of the robot.
[0018] In embodiments, the perception module may include sensors for perceiving the environment around the robot, said sensors being configured to collect, at each instant t, data from the environment and obstacles that are in the 2D or 3D digital model of the environment around the robot.
[0019] In embodiments, the perception module may include: - one or more volumetric sensors configured to model in 2D or 3D the environment surrounding the robot and to measure the distances between detected obstacles and the robot in the digital model, - one or more cameras that are configured to capture color images in the visible spectrum, and - a first automaton which is configured to recognize the obstacle(s) within the images and correlate these images with the obstacles detected in the digital model in order to determine a relative position of the obstacles with respect to the robot.
[0020] The coupling between volumetric data and visual data makes it possible to recognize obstacles, in particular using visual data, and then to estimate the actual distance between the obstacle(s) and the robot.
[0021] In some embodiments, the perception module may include a recognition automaton configured to classify obstacles by visual recognition and estimate their position using data from the perception sensors, the position of an obstacle being defined by position coordinates (X, Y) in the 2D or 3D digital model. The automaton can thus be configured to correlate the obstacle's classification with its position (X, Y). This can be useful for determining whether the obstacle is fixed or moving at any given time t.
[0022] [Moving Obstacle Tracking Module]
[0023] In embodiments, the collision risk detection system may include an obstacle tracking module that is configured to determine if a The obstacle is fixed or moving; in particular, the tracking module compares the 2D or 3D digital model at time t with digital models from times tn preceding time t. When the position of an obstacle changes, independently of the robot's movement, between at least two successively modeled digital models, the obstacle is considered moving. Detecting moving obstacles strengthens the robustness of the detection system by treating fixed and moving obstacles separately.
[0024] In embodiments, the tracking module may include a buffer that stores, at least temporarily, the digital models modeled at times tn that precede the digital model modeled at time t.
[0025] In some embodiments, the tracking model can be configured to predict the displacement of each moving obstacle according to a time projection t+n. The tracking model calculates, over several time steps, probable (X, Y)t+n positions of each moving obstacle in this time projection. In particular, the tracking module can be configured to construct a predictive vector of the trajectory of the moving obstacle at times t+n, the trajectory at times t+n being estimated based on the previous positions of the moving obstacle in the numerical models constructed at time t and at times tn preceding time t.In particular, the predictive vector can be defined notably by a sequence of a determined number of successive positions separated from each other by a determined distance in said numerical model, each position being defined by probable coordinates (X, Y)t+n of the obstacle which are estimated in the next instant t+n.
[0026] In order to construct the predictive vector, the tracking module can also take into account the nature of the moving obstacle to estimate its displacement, for example, a cyclist or a pedestrian. Indeed, determining the nature of the moving obstacle allows for a better estimation of its speed of movement and consequently for the construction of a more precise predictive vector of the displacement.
[0027] [Risk assessment]
[0028] In embodiments, the collision risk detection system may include at least four parameters for assessing collision risk: a linear speed of the robot, an angular speed of the robot, and the (X, Y) coordinates of the position of an obstacle relative to at least the collision zone. The position of the obstacle relative to the safety zone may also be used to assess collision risk. Where appropriate, the probable (X, Y)t+n positions of moving obstacles according to time projections may also be taken into account to assess collision risk.
[0029] Preferably, the detection system may include two additional collision risk assessment parameters: the robot's payload and a distance of A safety distance of predetermined dimensions allows the robot to stop if an obstacle, classified as a human, is within or equal to that distance. Payload integration allows, in the case of a logistics robot, for the braking distance to be recalculated based on changes in the payload during its movement, for example, during a delivery cycle. The addition of the safety distance aims to avoid startling passersby by stopping the robot at a predetermined distance. Furthermore, the dimensions of the safety distance can be larger than the collision and / or precautionary zone so that the robot is stopped at a reasonable distance from humans. For example, the safety distance can be between 70 cm and 200 cm or between 80 cm and 150 cm.The dimensions of the safety distance can be configured by the operator or the robot manufacturer according to the environment in which the robot is to operate.
[0030] [Digital model of the environment]
[0031] In some embodiments, the 2D or 3D digital model can be offset forward or in the direction of the robot's movement. This makes it possible to focus the detection system's vigilance in the direction of the robot's movement. Furthermore, the 2D or 3D digital model can be divided into surface units with defined dimensions. For example, the 2D or 3D digital model can be divided into square surface units with sides of 5 cm. In addition, the 2D or 3D digital model can have a floor area ranging from 150 m² to 300 m²; in particular, the dimensions of the 2D or 3D digital model can be 200 m².
[0032] [Calculation unit]
[0033] In some embodiments, the computing unit can be integrated into the robot. Advantageously, integrating the computing unit into the robot's electronics makes it possible to overcome a loss of wireless connection if the computing unit were located remotely. This therefore reduces the risk of collision and also saves time in assessing the risk of collision and transmitting speed reduction instructions to the robot's movement means.
[0034] [Method for detecting collision risks]
[0035] In embodiments, the invention also relates to a method for detecting the risk of collision of a robot, in particular a logistics robot, which includes means of movement comprising, in particular, wheels, a steering wheel, braking means, and a motor configured to drive the wheels in rotation in a direction of movement, the method comprising at each instant t: - The perception of the environment around the robot and the obstacles found in this environment such as street furniture, a hole, a pedestrian, a cyclist, a scooter, a vehicle, etc. - Modeling the environment around the robot: this modeling is carried out by determining the position of obstacles using position coordinates (X, Y) in a 2D or 3D digital model of the environment constructed in relation to the robot. - the definition of a collision zone extending around the robot, the collision zone being defined in the digital model and corresponding to a perimeter projected at 360° around the robot, - the assessment of collision risks, at least based on the position of perceived obstacles relative to the collision zone, the linear speed and angular speed of the robot, - the regulation of the robot's movement speed by determining a linear speed setpoint, angular speed setpoint, braking or stopping of the robot based on the assessment of collision risks; when an obstacle is detected on the robot's trajectory, a braking command or a reduction of the speed setpoint is transmitted to the means of movement; and when an obstacle is detected in the collision zone, an immediate stop command is transmitted to the robot's means of movement.
[0036] The detection system can be specifically designed to implement the detection method of the invention. Moreover, the method incorporates the characteristics of the system as claimed; consequently, the detection method and system offer the same advantages.
[0037] [Virtual wall and shield]
[0038] In some embodiments, the detection method may include establishing a safety zone in the digital model. This safety zone is an extension of the collision zone, extending 360° around the collision zone. When an obstacle is detected in the safety zone, a braking command or a reduction in the robot's speed is transmitted to the robot's movement means. The safety zone increases the robustness of the detection method by preventing collisions by slowing the robot down when an obstacle is detected in the robot's path at a distance, usually greater than 1 meter, and also by making it easier to stop the robot when the obstacle enters the collision zone.
[0039] In some embodiments, the collision zone and the precaution zone are offset towards the front of the robot or in the direction of robot movement, so that their surface area is larger in the robot's direction of movement. The resources of the process are thus oriented in the direction of movement of the robot where the risk of collision is greater.
[0040] In embodiments, the collision zone and the precaution zone can be defined respectively by a ground footprint extending around the robot's footprint. In particular, the ground footprint of the collision zone and the ground footprint of the precaution zone are larger than the robot's footprint. The ground footprint of the precaution zone and the collision zone can respectively have the same geometric shape as the robot's footprint. However, it is possible to use different shapes for the collision and precaution zones, for example, to more specifically protect a particular part of the robot (cargo, sensors, etc.). It should be noted that the dimensions of the collision zone and the precaution zone can be defined, at each instant t, at least with respect to the robot's speed and mass at instant t, the robot's mass potentially including a payload.
[0041] In some embodiments, the detection method may include deforming the collision zone and the safety zone when the robot moves along a curved trajectory. The curved trajectory can be determined at least according to the robot's angular velocity; these zones are then deformed according to the robot's curved trajectory. This makes it possible to take into account, in regulating the robot's movement speed, an obstacle that is not located on the robot's longitudinal axis but is situated near or on the robot's curved trajectory. The robot's trajectory can be defined according to the robot's position, linear velocity, and angular velocity, but also according to the robot's route, which is available in the robot's electronics, for example, in a navigation system. The navigation system can be a geolocation-based navigation algorithm.
[0042] [Moving obstacles]
[0043] In embodiments, the detection method may include the detection of moving obstacles in the robot's environment, the position of the obstacles being tracked over time through different digital models that are successively modeled at each instant t. When the position (X, Y) of one or more obstacles changes, independently of the robot's movement, in at least two successive digital models, the obstacle is then classified as a moving obstacle. In particular, the detection of moving obstacles may include the modeling of a trajectory vector of the obstacles, the modeling of said vector being recalculated at each instant t. Preferably, the modeling of said vector is defined by a sequence of a determined number of successive (X, Y)tn positions recorded of the obstacle at instants tn. If these (X, Y)tn positions change over time independently of the robot's movement, the obstacle is classified as a moving obstacle. It is therefore possible to assess and anticipate the movements of moving obstacles in order to predict a risk of collision.
[0044] In some embodiments, the detection method may include, at each instant t, the prediction of the probable evolution of the position (X, Y)t+n of the detected moving obstacle(s) at time steps projected at instants t+n. In particular, the detection method may track the probable evolution of the position (X, Y)t+n of one or more moving obstacles, using, for example, a function such as a Kalman filter. The evolution of the position (X, Y)t+n can thus be predicted in time steps of a determined duration. Preferably, the duration of a time step is less than 500 ms. The probable evolution of the position can thus be predicted over a future period whose duration may be between 1 and 5 seconds. When the time step has a duration of 100 ms, the value of n can be between 100 ms and 5000 ms and the value of n is incremented by steps of 100 ms.
[0045] This time projection allows the prediction of the probable position (X, Y)t+n in the time intervals t+n following time t, and thus the prediction of a collision risk. When several moving obstacles are detected, the prediction of the position (X, Y)t+n of all moving obstacles is performed at each projected time step. The method thus analyzes several situations simultaneously. The method can be parameterized to select, at each time step where the collision risk is evaluated, the most pessimistic movement command, for example, the largest speed reduction, or even stopping the robot. The calculation of the position evolution can be repeated at a frequency between 10 and 30 Hz.
[0046] In some embodiments, predicting the evolution of the position (X, Y)t+n may involve constructing a predictive vector of the probable trajectory of the moving obstacle(s) at times t+n. This predictive vector is constructed based on the recorded positions (X, Y)tn of the moving obstacle(s) at times tn preceding time t, during which the predictive vector is constructed in the numerical models built at time t and at the preceding times tn. A Kalman filter-type function is used to construct such a predictive vector. The predictive vector can be modeled in the 2D or 3D numerical model for comparison with the known trajectory of the robot. The risk of collision can thus be assessed in real time and dynamically.
[0047] In some embodiments, the prediction of the evolution of the position (X, Y)t+n in the next few moments can take into account the classification of perceived moving obstacles such as: pedestrian, scooter, animals, cyclist, motor vehicle, truck, another robot, etc. The classification ultimately corresponds to the nature of the moving obstacle; it is additional information that can be correlated with the A predictive trajectory vector is used to more accurately assess the movement of a moving obstacle. Depending on the nature of the obstacle, movement parameters such as speed or mode of movement may vary.
[0048] [Perception]
[0049] In some embodiments, perception may include: - the capture of color images of the environment surrounding the robot, the images being recorded by color cameras in the visible spectrum, - the detection of the obstacle(s) in the environment surrounding the robot within said color images, the detection of the obstacle(s) being carried out by determining the nature of the objects in the robot's environment by visual recognition in the color images, - the capture of volumetric images of the environment surrounding the robot, - the measurement of distances, in the recorded volumetric images, between the objects detected in the environment around the robot and the robot itself, and - the correlation between color images and volumetric images of the environment in order to produce a 2D or 3D digital model of the environment surrounding the robot, in which the nature of the obstacles and their relative position with respect to the robot are defined.
[0050] In embodiments, the detection method may include measurements of the robot's movement which are carried out by measuring the linear speed and angular speed of the robot; these measurements may be carried out by an inertial measurement unit integrated into the robot and / or by tracking the robot's geolocation.
[0051] In some embodiments, perception may include measuring the payload carried by the robot. This can be useful for defining, in real time, the braking distance of a logistics robot whose payload mass changes during deliveries or collections of goods.
[0052] [Environmental modeling]
[0053] In embodiments, the detection method may include modeling the 2D or 3D digital model, which is carried out by correlating environmental perception data. In particular, the 2D or 3D digital model may be divided into surface units of determined dimensions, with the robot and obstacles occupying a determined number of surface units in the 2D or 3D digital model. The number of surface units allocated to the robot and / or obstacles depends on their volume; in particular, during environmental perception, the volume of the obstacles is estimated.
[0054] [Collision risk assessment]
[0055] In some embodiments, the collision risk assessment can use the following parameters which are defined at time t: - the (X, Y)t position of the perceived obstacles, relative, at least, to the collision zone in the numerical model, - the linear speed of the robot, - the angular speed of the robot, - the mass of the robot, and - a safety distance including the dimensions greater than the limits of the collision zone, the safety distance is a distance projected beyond the robot at 360° around the robot, the safety distance is set to cause the robot to stop as soon as a human is detected at a distance less than or equal to the safety distance.
[0056] Since the position of obstacles is considered as two parameters through the two position coordinates (X, Y), the method therefore has six parameters for evaluating the risk of collision and transmitting instructions to regulate the robot's movement. The position (X, Y)t of the obstacles can also be evaluated with respect to the precautionary zone. If necessary, the position (X, Y)t of the obstacles can be evaluated with respect to the precautionary and collision zones deformed according to the robot's trajectory. Note that in the event of the detection of one or more moving obstacles, the projected position at each time step of these obstacles can be compared to one or both of the protection zones (collision and precautionary) of the method.
[0057] The safety distance is defined to avoid frightening humans and incorporates the characteristics as described in the detection system.
[0058] Furthermore, the mass of the robot may also include its payload, particularly when the robot is a logistics robot and operates delivery or collection routes for goods.
[0059] [Regulation of the robot's movement speed]
[0060] In some embodiments, the robot's speed control can be defined according to collision risk assessment rules. These assessment rules are defined along two distinct axes: a longitudinal axis extending in the direction of the robot's movement and a transverse axis extending orthogonally to the direction of movement. The speed, braking distance, and stopping distance requirements along the transverse axis are smaller than the speed, braking distance, and stopping distance requirements along the longitudinal axis. This allows the process capabilities to be concentrated in the direction of the robot's movement where the collision risks are greatest. In particular, the braking distance can correspond to the distance between the outer limit of the safety zone and the outer limit of the collision zone, while the stopping distance can... This corresponds to the distance between the outer edge of the collision zone and the robot. Furthermore, the braking and stopping distances can be recalculated in real time based on several parameters, such as the robot's mass (which may include a payload), its speed, and its braking capabilities. These distances can also be determined based on the robot's movement mode; for example, a robot following a master robot will have shorter braking and stopping distances than a robot moving autonomously.
[0061] [Logistics Robot]
[0062] In some embodiments, the invention also relates to a robot comprising a collision risk detection system as claimed. The logistics robot is thus configured to implement the collision risk detection method as claimed. Brief description of the drawings
[0063] Other features and advantages of the invention will become apparent from the following description. This description is purely illustrative and should be read in conjunction with the accompanying drawings, in which:
[0064] [Fig.1] is a schematic representation of a synoptic diagram of a collision risk detection system for a conforming robot of an embodiment of the invention.
[0065] [Fig.2] is a representation of a digital model constructed according to a two-dimensional (2D) frame of reference of the environment perceived around the robot conforming to an embodiment of the invention, the environment of the robot comprising several obstacles.
[0066] [Fig.3] is a representation of the digital model of [Fig.2], the perceived environment including in this example a moving object.
[0067] [Fig.4] is a representation of the robot footprint in a conforming digital model of Figures 2 and 3, the digital model comprising a virtual construction of a collision zone surrounding the robot footprint and a precaution zone which itself surrounds the collision zone.
[0068] [Fig.5] is a schematic representation, conforming to an embodiment of the invention, of the footprint of the robot surrounded by the collision zone which itself is surrounded by the precaution zone in accordance with [Fig.4].
[0069] [Fig.6] is a schematic representation, conforming to an embodiment of the invention, of the evolution of the collision zone and the precaution zone when the trajectory of the robot passes from a straight axis of movement to a curved axis of movement.
[0070] [Fig.7] is a schematic representation of a situation map, conforming to an embodiment of the invention, the mapping integrating the position (X, Y) of an obstacle, the linear speed VI and the angular speed Va of the robot, the payload Cu of the robot and the stop distance Ls in case of detection of a human obstacle.
[0071] [Fig.8] is a schematic representation, according to a logic diagram, of a collision detection method which conforms to an embodiment of the invention.
[0072] [Fig.9] is a schematic representation, according to a flowchart, of the step of perception of [Fig.8] which conforms to an embodiment of the invention.
[0073] [Fig. 10] is a schematic representation, of a conforming example of an embodiment, of the operation of the collision detection method when several obstacles are detected in the environment of the robot. Description of the implementation methods
[0074] With reference to Figures 1 to 7, one embodiment of the invention relates to a collision detection system 10 for a robot 100, in particular a logistics robot. The robot 100 comprises movement means 101 including, in particular, wheels, a steering wheel, braking means, and a motor configured to drive the wheels in rotation in a direction of movement. The movement means 101 are symbolized in [Fig. 1] by a thumbnail representing a wheel. In practice, the movement means 101 allow the robot 100 to move forward or backward, as well as to turn right or left. The movement means 101 can also allow the robot 101 to move laterally; this lateral movement can be described as crab-like movement.
[0075] [Perception Module]
[0076] As illustrated in [Fig. 1], the detection system 10 includes an environmental perception module 20. The environmental perception module 20 may include several sensors of different technologies to determine the nature of the environment in various ways and then correlate the data of different types to identify the nature and position of the obstacle. The perception module 20 is further configured to recognize objects or obstacles in order to model the environment surrounding the robot according to a digital model 30. In this example, the digital model 30 may be two-dimensional, as illustrated in Figures 2 and 3.
[0077] According to one embodiment, the perception module 20 may include one or more volumetric sensors 21, 23. The volumetric sensors 21, 23 are configured to model the environment surrounding the robot 100 in 2D or 3D, but also to detect objects around the robot 100. The volumetric sensors 21, 23 are also configured to measure the distances between these detected objects and the robot 100.
[0078] According to one embodiment, the volumetric sensors may include a laser remote sensing sensor 21, for example of the LIDAR type, which is configured to collect 2D or 3D images comprising point clouds. The LIDAR is also known as a 2D or 3D scanner. The position of each point is determined based on the time of flight measured between the emission and reception of the laser beam, the intensity of each point varying according to the reflective capacity of the point on which the beam was reflected. The laser remote sensing sensors 21 make it possible to measure, using a laser, the distance between the robot 100 and the objects surrounding it.
[0079] A remote sensing sensor 21 can include a horizontal field of view of at least 120 degrees with a preference of 270 degrees in front of the robot 100 or even 360 degrees around the robot 100. To obtain two-dimensional or 2D images, a single laser beam is diffused, whereas the diffusion of several multidirectional beams is necessary to obtain three-dimensional or 3D images.
[0080] According to one embodiment, the perception module 20 may include one or more cameras 22, 23 which are configured to capture images in the visible or invisible domain and to send a video stream.
[0081] According to a particular embodiment, the perception module 20 may include four RGB type cameras 22 which are arranged on the robot 100 so as to provide 360-degree images around the robot 1.
[0082] According to an embodiment illustrated in [Fig. 1], the volumetric sensors may include one or more color depth cameras that also provide information about the image depth. Dual-focal stereoscopic color cameras or active 3D cameras, also known as TOF cameras, provide depth data for the recorded images. The acronym TOF stands for Time of Flight. The field of view of active 3D or stereoscopic cameras is limited to approximately 100°. Thus, several depth cameras can be distributed on the robot to cover a wider field.
[0083] Note that active 3D or TOF cameras return very dense point clouds in front of them. In this case, the obstacle clouds can be extracted in the same way as for correlating LiDAR data with RGB camera data.
[0084] As illustrated in [Fig. 1], the perception module 20 may include one or more ultrasonic sensors 24. For example, it is possible to equip the robot 100 with Several ultrasonic sensors 24 are used to analyze the environment around the robot 100 in a 360° radius. Thus, for a cube-shaped or quadrangular robot 100, each vertical face of the robot 100 can include one ultrasonic sensor 24. Preferably, each vertical face of the robot 100 can include two ultrasonic sensors 24. The ultrasonic sensors 24 are arranged on the robot 100 in the same plane relative to the robot 100's chassis.
[0085] In an embodiment illustrated in [Fig. 1], the perception module 20 includes odometry elements 25 configured to determine the position and movement parameters of the robot 100. The odometry elements 25 may include an inertial measurement unit 26 integrated into the robot 100, which is configured to measure linear accelerations and angular velocities of the robot. In addition, the odometry elements 25 may include linear velocity sensors and angular velocity sensors of the robot 100. The latter may consist of encoders 27 arranged on each wheel to measure their rotational speeds and on the steering motor to estimate the steering angles of each wheel.
[0086] As illustrated in [Fig. 1], the perception module 20 can also include an automaton 28 which is configured to process the data captured by the perception module 20 and construct the digital model 30 of the environment around the robot 100. In one embodiment, the automaton 28 can be an algorithm or an aggregation of algorithms. Visual recognition algorithms are known to those skilled in the art; for example, a convolutional neural network, also known by the abbreviations "CNN" and "ConvNet," can be used. Using such an algorithm, the automaton 28 can classify the objects in the images produced by the cameras 22, 23 in order to classify the objects that are located at a given time t around the robot 100. For example, the objects around the robot 100 can be classified into the category of pedestrian, cyclist, scooter, car, or obstacle such as street furniture (fire hydrant, curb, bench, etc.).), but also holes.
[0087] In the example of [Fig. 1], the perception module 20 may include a weight sensor 29. The weight sensor 29 makes it possible to measure the payload of the robot 100, particularly when it is a logistics robot 100 whose function is to transport loads. Naturally, in this case, the weight sensor 29 is located under the platform of the transport compartment of the robot 100.
[0088] [Digital model of the environment around the robot]
[0089] In order to construct the digital model 30, the automaton 28 is configured to correlate the volumetric data from the remote sensing sensors 21, the depth cameras 23 and the ultrasonic sensors 24 with the images produced by the RGB cameras 22. For example, the point clouds provided by the LIDAR (remote sensing) These allow for the precise positioning of recognized objects in the space around the robot 100. The automaton 28 thus calibrates the volumetric data with the visual data produced by the perception module 20, for example, the images produced by the RGB camera(s) 22. The coupling between the volumetric and visual data makes it possible to recognize obstacles 31, particularly using the visual data, and then to estimate the actual distance between the obstacle(s) 31 and the robot 100. In the example illustrated in Figures 2 to 4, the digital model 30 is two-dimensional; however, as described previously, the various sensors and the automaton can also be used to model a three-dimensional digital model.
[0090] The automaton 28 can then construct a digital model 30 by determining the footprint of the robot 100 and the position of the obstacles 31 relative to the robot 100. As can be seen in [Fig. 2], the position of the obstacles 31 can be determined according to (X, Y) coordinates in a coordinate system whose origin can correspond to the footprint of the robot 100. The footprint of the robot 100 can be specified by the manufacturer or operator; it is represented in Figures 2 to 6 by a gray rectangle. However, the footprint of the robot 100 can take any other geometric shape, which may or may not be correlated to the actual shape of the robot.
[0091] As can be seen in Figures 2 to 4, the digital model 30 can be divided into square surface units. This is schematically represented by a grid 32 visible in these figures. For example, the surface units can have dimensions between 3 and 10 cm on each side. The digital model 30 essentially constitutes an occupancy grid around the robot 100, with obstacles being reprojected onto it through their footprint on the ground according to a two-dimensional plane which can, for example, be defined by the X, Y coordinate system of [Fig. 2].
[0092] In the example shown in Figures 2 and 3, the digital model 30 is offset towards the front of the robot 100, that is, in the direction of movement of the robot 100. This allows for a view of the robot 100's environment in its direction of movement. Some robots 100 have neither a front nor a back and can move in either direction. In this case, the digital model 30 is offset in the direction of movement of the robot 100.
[0093] According to one embodiment, the dimensions of the digital model 30 can be limited, particularly with regard to its footprint. In particular, the digital model 30 can have footprints ranging from 150 m² to 300 m², and specifically, the dimensions of the 2D or 3D digital model can be 200 m². The automaton 28 is thus configured to construct a digital model 30 using only data that falls within the dimensional limits of the digital model 30. For example, the automaton 28 may only take into account that the data captured at a projected distance, on the one hand, of 15 m in front of robot 100 and 5 m behind robot 100, on the other hand, of 5 m on each side of robot 100.
[0094] [Moving Obstacle Tracking Module]
[0095] In the embodiment illustrated in [Fig. 1], the collision risk detection system 10 may include an obstacle tracking module 40 configured to determine whether an obstacle 31 is fixed or moving. The tracking module 40 may consist of an algorithm or a combination of algorithms. According to one embodiment, an obstacle is considered moving if its position differs between several successive constructions of the digital model 30 of the environment in which the robot 100 moves. To this end, the tracking module 40 compares the digital model 30 produced at time t with the digital models 30 constructed at previous times tn. The position at time t (X, Y)t of the obstacle 31 is also compared to the displacement of the robot 100 at time t. For this purpose, the tracking module 40 may take into account the data provided by the odometry devices: linear speed and angular speed of the robot 100.
[0096] When an obstacle 31 is considered by the system 10 to be moving, the tracking module 40 monitors the evolution of the position (X, Y)t of said obstacle 31 over time by comparing the position of the obstacle between two numerical models successively modeled at two successive times t. In doing so, the tracking module 40 may include a buffer memory that stores, at least temporarily, the numerical models previously constructed at tn that precede the numerical model constructed at time t.
[0097] As illustrated in [Fig. 3], the tracking module 40 can also be configured to model a predictive vector 41 of the trajectory of the moving obstacle 31 at times t+n. In [Fig. 3], the predictive vector 41 is defined by a sequence of successive probable positions that are separated from each other by a determined distance. In this example, each estimated position 42 at t+n of the moving obstacle is represented by a star. As illustrated in [Fig. 3], the predictive vector 41 can thus be drawn by passing through each probable position 42. In this figure, the moving obstacle is located to the right of the robot 100, and the tracking module 40 predicts a movement of said obstacle from right to left along a curved trajectory.
[0098] The tracking module 40 can also take into account the nature of the moving obstacle to estimate its displacement. Indeed, if the perception module 20 recognizes a cyclist, a pedestrian, or a scooter, it is known that the speed of movement of these moving obstacles is not the same, which can thus affect the distance between the estimated positions 42.
[0099] The tracking module 40 can use, as illustrated in [Fig. 8], a Kalman filter-type mathematical function to estimate the position (X, Y)t+n of the moving obstacle in the next n seconds. The value of n can be between 1 and 10 seconds, and preferably, the value of n is between 3 and 5 seconds. For this purpose, the Kalman filter uses the previous (X, Y)tn position data of the moving obstacle in the numerical models modeled at times t and tn, with n this time being between 1 and 10 seconds.
[0100] The tracking module 40 can also take into account the object's classification when running the Kalman filter. For example, the numerical values of the covariance matrix Q can differ depending on the nature of the moving obstacle. This is to take into account, in particular, the difference in speed or type of movement, for example, between a pedestrian and a car.
[0101] [Security Module]
[0102] As illustrated in [Fig. 1], the detection system 10 may include a safety module 50. The safety module 50 is configured to define at least one collision zone 51 extending 360° around the robot 100 in the digital model 30 as illustrated in [Fig. 4]. The collision zone 51 is a virtual area whose footprint, in the digital model 30, surrounds the footprint of the robot 100. In particular, as illustrated in Figures 4 and 5, the collision zone 51 may extend in the digital model 30 from the outer limits 102 of the footprint of the robot 100 to an outer perimeter 52 of the collision zone 51. The outer perimeter 52 is represented by dashed lines in [Fig. 5]. In this example, the collision zone 51 extends according to a geometric shape identical to the geometric shape of the ground footprint of robot 100, in this case, a rectangle.However, since the collision zone 51 contains the footprint of robot 100 in the digital model 30, the collision zone 51 can take a different shape from the footprint of robot 100. In particular, depending on the three-dimensional shape of robot 100 and its technical characteristics, it is possible to deform the collision zone 51 to more specifically protect an element of robot 100, such as, for example, a side window providing access to a storage compartment, or a compartment housing environmental sensors that can measure air quality. The collision zone 51 can also be offset towards the front of robot 100 or in the direction of robot 100's movement, as illustrated in Figures 4 to 6.
[0103] The collision zone 51 can be defined as a proximal area of the robot 100's footprint, in which the risk of collision is highest if an obstacle 31 happens to be located in this zone 51. Therefore, the system 10 can be configured to immediately stop the movement of robot 100 if an obstacle or part of an obstacle is detected in the collision zone 51. This is why the collision zone 51 can in some ways be considered as a virtual wall.
[0104] Advantageously, the dimensions of the collision zone 51 can be defined at some time t with respect to the robot's speed and mass at time t, the robot's mass potentially including a payload. The braking capacity of the robot 100 can also be taken into account to define the dimensions of the collision zone 51 at time t.
[0105] As illustrated in Figures 2 to 4, the safety module 50 can be configured to define a precautionary zone 53 extending 360° around the collision zone 51. The precautionary zone 53 can thus be considered an extension of the collision zone 51. The precautionary zone 53 can be a virtual zone extending around the collision zone 51 in the digital model 30. In particular, the precautionary zone 53 extends from the outer perimeter 52 of the collision zone 51 to a peripheral contour 54. In this example, the precautionary zone 53 is rectangular, like the collision zone 51 and the footprint of the robot 100. However, the precautionary zone 53 can take on all sorts of shapes. This is, for example, to protect technical features of the robot 100, as previously mentioned in the case of the collision zone 51.
[0106] In the precautionary zone 53, the risk of collision is considered moderate; therefore, if an obstacle is detected in the precautionary zone 53, as illustrated in [Fig. 4], the system will send a command to reduce the speed of the robot 100. The precautionary zone 53 can thus be considered a virtual shield that protects against collision by inducing a reduction in the speed of the robot 100 as soon as an obstacle 31 is detected in this zone. For example, when an obstacle crosses the peripheral contour 54, a command to initiate a speed reduction can be sent to the locomotion means 101 of the robot 100. When an obstacle is detected in the precautionary zone 53, a more significant speed reduction command can be sent to the locomotion means 101.The purpose of this speed reduction command is to reduce the speed so that the robot's speed is zero when the obstacle comes into contact with the outer perimeter 52 of the collision zone 51. In addition, when an obstacle is detected in contact with the outer perimeter 52 or in the collision zone 51, an immediate stop command for the robot 100 can be sent to the movement means 101.
[0107] In particular, as illustrated in [Fig. 5], the virtual construction of said zones 51, 53 is defined through different dimensions. In front of the robot 100, the distance Dcf is parallel to the RR axis and corresponds to the distance between the footprint of the robot 100 on the ground and the outer perimeter 52 of the collision zone 51. The distance De / delimits The length of collision zone 51 at the front of robot 100 is greater than the distance Dcb, which extends to the rear of the robot to define the length of collision zone 51 at the rear of robot 100. Thus, collision zone 51 is offset towards the front of robot 100. Finally, the dimensions of collision zone 51 are also defined by a lateral distance Del between the footprint of robot 100 and its outer perimeter. The lateral distance Del is of the same order of magnitude as the distance Dcb, which defines the rear portion of collision zone 51. However, the lateral distance Del is less than the distance De, which defines the front portion of collision zone 51.
[0108] Similarly, the precautionary zone 53 is defined at the front by a distance Dpf extending parallel to the RR axis of the robot 100 between the outer perimeter 52 of the collision zone 51 and a boundary of the precautionary zone defined by the peripheral contour 54. Also parallel to the RR axis, the distance Dpb extending at the rear of the robot delimits the precautionary zone 53 at the rear of the robot. The distance Dpb is of the same order of magnitude as the distance Dpi extending laterally from the footprint of the robot 100. In contrast, the distance Dpf is greater than the rear distance Dpb, which shifts the precautionary zone 53 towards the front of the robot.
[0109] Since the safety zone 53 corresponds to the robot's braking distance and the collision zone 51 to the robot's stopping distance, the distances defining zones 51 and 53 can be modified at a given time t with respect to parameters of the robot 100, such as the robot's speed or mass at time t, the robot's mass potentially including a payload. Thus, when the robot's speed increases, the distances defining zones 51 and 53 also increase. Conversely, when the robot's speed decreases, the distances defining zones 51 and 53 are reduced. The braking capacity of the robot 100 can also be taken into account to define the dimensions of the safety zone 53 at a given time t.
[0110] According to the embodiment illustrated in [Fig. 4], the safety module 50 may include a safety distance 55. This safety distance 55 can be defined so as to stop the robot 100 if a human is detected at a distance less than or equal to the safety distance 55. It is, in a way, a safety distance 55 for pedestrians, intended to avoid frightening them. The safety distance 55 is symbolized by an arrow that comes into contact with a bar. This safety distance 55 can be programmed by the operator or the manufacturer of the robot 100. The safety distance 55 can be decoupled from the precautionary zone 53 and the collision zone 51. The safety distance 55 is defined at 360° around the floor footprint of the robot 100, whether from a face of the floor footprint or from the corners of the floor footprint of the robot 100. In the [Fig.4], for reasons of readability of the drawing, only one safety distance 55 starting from an angle is shown, however, . a safety distance 55 can extend from each corner of the ground footprint and more broadly from all points of the robot's ground footprint 100.
[0111] As illustrated in [Fig. 4], the safety distance 55 can thus be greater than the distance between the footprint of the robot 100 and one of the limits of the collision zone 51. In addition, the safety distance 55 can also be greater than the distance between the robot 100 and the peripheral contour 54 of the precautionary zone 53. This is particularly the case in [Fig. 4] where the safety distance 55 exceeds the peripheral contour 54 laterally and behind the robot 100.
[0112] According to the embodiment illustrated in [Fig. 6], during its movements the robot 100 can adopt straight trajectories 103 but also curved movement trajectories 104. When approaching a curved trajectory 104, the safety module 50 deforms the collision zone 51 and the precautionary zone 53 according to the curvature of the trajectory. For this, the safety module 50 can use the data provided by the odometry devices 25, in particular, the data relating to the angular velocity of the robot 100. As illustrated in [Fig. 6], at a given time t, a first obstacle 31 is located in the precautionary zone 53, while this obstacle 31 is not located on the axis RR of the robot 100 as illustrated in [Fig. 6]. This first obstacle 31 is correctly detected by the safety module 50 because it occupies a position on the ground over which the deformed precautionary zone 53 extends. Conversely, a second obstacle 31 is represented in the [Fig.[6] It is located in the RR axis of robot 100 but neither in the deformed precaution zone 53 nor in the deformed collision zone 51 of robot 100. This second obstacle is therefore not taken into consideration by the safety module 50. According to this principle, any obstacle whose ground occupation is in the collision zone 51 or in the deformed precaution zone 53 will be detected and taken into consideration by the detection system 10 to adapt the movement of robot 100.
[0113] [Control module]
[0114] As illustrated in [Fig. 1], the detection system 10 may include a control module 60 for the robot 100. The control module 60 may be an algorithm or an aggregate of algorithms configured to regulate the movement of the robot 100 by determining movement commands such as linear speed, angular speed, braking, or stopping the robot. For this purpose, the control module 60 is connected, for example electronically, to the movement means 101 of the robot 100. This connection allows the control module 60 to send commands to change the movement commands.
[0115] The control module 60 may also include an external source 61 for regulating movement instructions. This external source 61 may take into account various criteria: the robot is in a turn, the weather at time t, crossing a speed-limited zone, a limitation related to a malfunction of a robot component (perception, movement, etc.).
[0116] The weather can be determined by data collected from the internet in correlation with the robot's geolocation; the latter also makes it possible to establish whether the area traversed has specific speed restrictions. Furthermore, the odometry components can also include an inertial measurement unit (IMU) that provides information on the robot's trajectory.
[0117] The control module 60 may also include collision warning devices 62. For this purpose, the control module 60 may be electronically connected, either wired or wirelessly, to warning devices 62 mounted on the robot 100. The warning devices 62 may include loudspeakers to produce an audible signal. The warning devices 62 may also include a screen or other visual warning devices such as headlights, flashing lights, etc.
[0118] [Unit of calculation]
[0119] In the example illustrated in [Fig. 1], the detection system 10 may include a computing unit 70. The computing unit 70 may be an algorithm or an agglomeration of algorithms which are configured to evaluate the risk of collision and transmit, according to the evaluated risk of collision, commands to adapt the movement parameters of the robot 100 such as linear speed, angular speed or braking or even the total stop of the robot 100.
[0120] To this end, the computing unit 70 can be connected directly or indirectly to the perception module 20. This connection can be electronic or digital if the computing unit 70 is connected to the perception module 20 via the latter's controller 28. The perception module 20 can thus communicate, at each instant t, the digital model 30 of the robot 100's environment. The odometry devices 25 or the perception module 20 can transmit to the computing unit 70 data relating to the robot 100's movement, such as linear speed, angular speed, braking, or even the robot 100's complete stop. As illustrated in [Fig. 1], the detection system 10 can include a geolocation transmitter / receiver 105 mounted on the robot 100. The geolocation transmitter / receiver 105 can be compatible with one or more geolocation systems such as SLAM, GNSS, GPS, etc.The transmitter / receiver 105 can be connected directly or indirectly to the control unit 70 so that the latter can have information relating to the geographical position and movement of the robot 100 (speed, direction of movement etc).
[0121] The computing unit 70 may also be connected directly or indirectly to the tracking module 40. This connection may be electronic or digital if the computing unit 70 and the tracking module 40 are two algorithms executed by the same interface. The The tracking module 40 can thus provide the computing unit with information at each time t on the position of the obstacles 31 in the digital model 30. Where appropriate, the tracking module 40 can also transmit to the computing unit 70 the presence of moving objects and estimates of their movement at t+n.
[0122] Similarly, the computing unit 70 can be connected directly or indirectly to the safety module 50. This connection can be electronic or digital if the computing unit 70 and the safety module 50 are two algorithms executed by the same interface. The safety module 50 can inform the computing unit 70 about the presence of obstacles 31 in the collision zone 51 and / or the precautionary zone 53 of the robot 100 according to the robot 100's movement trajectory and possibly the estimated movement trajectory of a moving obstacle.
[0123] The computing unit 70 can also be connected directly or indirectly to the control module 60 of the robot 100. This connection can be electronic or digital if the computing unit 70 and the control module 60 are two algorithms executed by the same interface. The computing unit 70 can thus communicate commands, including reducing the speed setpoint or stopping the robot, but also bypassing an obstacle if necessary.
[0124] The computing unit 70 is thus capable of evaluating, in real time, the risk of collision of the robot 100 with one or more obstacles 31. To do this, the environment of the robot 100 is scanned and modeled in real time; each module of the system thus performs calculations in real time. Therefore, the computing unit 70 and the modules to which it is associated are integrated directly into the memory of the robot 100 and executed locally. When moving in an urban environment, a break in the calculation chain for estimating the risk of collision due to a loss of internet connection cannot be tolerated. This type of problem would certainly lead to recurring accidents that we wish to avoid.
[0125] The detection system 10 can thus include at least three parameters so that the computing unit 70 can assess the risk of collision. First, as mentioned previously, the linear speed and angular speed of the robot 100. These parameters are provided to the computing unit, in particular, by the odometry devices 25 of the robot 100. It should be noted that the geolocation transmitter / receiver 105 can also transmit data relating to the linear speed and angular speed of the robot 100 to the computing unit 70. The computing unit 70 can use either source of information or combine both. However, it is preferable to use the data provided by the odometry devices 25 to limit the consumption of computing resources.
[0126] The calculation unit 70 thus compares the two parameters of linear and angular velocity with the position parameters of one or more obstacles 31 relative to at least on the surface of the collision zone 51. If the obstacle 31 is detected as moving, its estimated displacement in the next few moments at t+n is also taken into account to assess the risk of collision. If one or more obstacles are detected in the collision zone 51, the processing unit 70 instantly transmits a command to the control module 60 to stop the movement of the robot 100. The control module 60 then relays a stop command to the robot 100's movement means 101. In parallel, the control module 60 can transmit a command to activate the warning devices 62 to warn passersby of the immediate risk of collision.
[0127] When the tracking module 40 predicts a trajectory of one or more moving obstacles which tend, according to the movement parameters of the robot 100, in the next instant t+n to enter the collision zone 51. In such a situation, the computing unit 70 can also transmit a command to stop the movement of the robot 100.
[0128] The detection system 10 can compare the position or predicted movement of one or more obstacles 31 with the virtual surface occupied by the precautionary zone 53. When an obstacle is detected in the precautionary zone 53, the processing unit 70 is configured to transmit reductions in the movement command. For example, a reduction in the linear speed or angular speed command if the robot 100 is in or approaching a turn.
[0129] When the tracking module 40 predicts a trajectory of one or more moving obstacles tends, according to the displacement parameters of the robot 100, in the next instant t+n to enter the precaution zone 53. In such a situation, the computing unit 70 can also transmit a command to reduce the linear speed setpoint or the angular speed.
[0130] The computing unit 70 can advantageously combine the parameters of the two zones 51 and 53 to adjust the movement of the robot 100 more flexibly when an obstacle 31 is detected that does not present an immediate risk of collision. In the case of a moving obstacle whose estimated trajectory intersects the trajectory of the robot 100, a reduction in the speed command can allow the obstacle to cross the robot's trajectory without a collision occurring.
[0131] Finally, the computing unit 70 also takes into account the braking distance parameter of the robot 100. This parameter may depend on the mechanical braking capabilities known to the computing unit 70. However, the braking distance may also depend on other parameters such as the speed of the robot 100 at time t or the mass of the robot 100. When it comes to a robot In logistics, the mass of the robot can correspond to the mass of the robot when empty plus the mass of the payload it is carrying at each instant t.
[0132] When a human, such as a pedestrian, is detected in the environment of the robot 100 by the controller 28 of the perception module 20, the processing unit 70 can also compare the safety distance 55 with the position of the human relative to the robot in the digital model 30. If the distance to the human is less than or equal to the safety distance 55, the processing unit 70 transmits a stop command to the control module 60 of the robot 100, which will relay a stop command to the locomotion means 101 of the robot 100. In the embodiment illustrated in [Fig. 7], the processing unit 70 evaluates the risk of collision at each instant t as a function of six parameters that are determined by the different modules to which the processing unit 70 is connected.This is illustrated by a radar-type diagram that presents six parameters. First, the position (X, Y)t at time t of an obstacle 31 relative to robot 100 is defined by two parameters that correspond to the coordinates (X, Y) of the obstacle in the numerical model 30. The linear velocity Vlt and the angular velocity Vat at time t of robot 100 represent two other parameters allowing the risk of collision to be assessed. The payload Cut at time t is also taken into consideration, notably to define the braking and stopping distance of robot 100 as a function of its linear and angular velocities at time t. Finally, the last parameter corresponds to the safety distance 55, which is denoted here as Lst at time t when the obstacle 31 is identified as a human.
[0133] These six parameters can represent in a way a map of the robot's situation in the environment in which it evolves at a time t. According to one embodiment, the computing unit 70 can use these six parameters to evaluate the risk of collision with one or more obstacles in comparison with the robot's position, its trajectory, its braking capacity but also the collision zone 51 and the precaution zone 53.
[0134] The detection system 10 may include a memory 106, preferably physically integrated into the robot 100. The memory may store a database listing various predefined situations based on the aforementioned parameters and associating each situation with a command to reduce the robot's speed or stop it when the situation requires it. The computing unit 70 thus does not perform real-time calculations but compares the aforementioned parameters with the database to determine a speed reduction or stop command if a risk of collision is detected. This reduces computation time and thus allows for faster transmission of speed reduction or stop commands to the robot's movement means 101.
[0135] [Method for detecting collision risks]
[0136] In an embodiment illustrated in Figures 8 to 10, the invention also relates to a method 90 for detecting collision risks of a robot 100 as described above. In particular, the detection method 90 performs, in real time, a series of steps to scan the environment around the robot 100 and determine whether there is an imminent or probable collision risk at the current time or at a projected time t+n that would require modifying the robot 100's speed. The detection method 90 can be executed automatically by an algorithm or a combination of several algorithms. The various steps of the detection method 90 can advantageously be executed by a microprocessor interacting with a memory, both integrated into the electronic hardware of the robot 100.
[0137] [Perception]
[0138] In the embodiment illustrated in [Fig.8], the detection method 90 may include a stage of perceiving the environment around the robot 100. This stage consists of mapping the environment around the robot 100 in order to detect obstacles 31 that would be around the robot 100. The obstacles 31 can be of several kinds and correspond for example to street furniture, a hole, a pedestrian, a cyclist, a scooter, a vehicle etc.
[0139] As illustrated in [Fig. 9] and described previously in the description of the perception module 20, perception 91 may include the capture of color images 910 in the visible spectrum of the environment surrounding the robot 100. The color images may be recorded at 360° by color cameras mounted on the robot, for example, RGB cameras. Perception 91 may also include the detection 911 of the obstacle(s) in the environment surrounding the robot 100 within said color images recorded by the cameras. As described previously, this detection 911 of the obstacle(s) may be performed using visual recognition algorithms known to those skilled in the art. These algorithms make it possible to determine the nature of the objects surrounding the robot at a given time t.The perceived obstacles can then be classified according to various categories of obstacles such as street furniture, holes, pedestrians, cyclists, motor vehicles, trucks, robots, scooters, etc.
[0140] In parallel, perception 91 can include the capture of volumetric images 912 of the environment surrounding the robot 100. The volumetric images record point clouds whose distance to the sensor can be determined by time-of-flight measurements as described previously. Several technologies can be used simultaneously: LIDAR, ultrasound. Perception can thus measure 913 the distance between the robot 100 and the point clouds that correspond to the objects detected in the robot 100's environment. As illustrated in [Fig. 9], perception 91 can also understand the correlation 914 between color images and volumetric images of the environment in order to produce a 2D or 3D digital model of the environment surrounding the robot 100. In this digital model, the nature of the obstacles and their relative position with respect to the robot are defined according to visual recognition on the one hand, and the measurement 913 of distances on the other.
[0141] The perception 91 can also include measurements of the robot 100's movement parameters. In particular, the robot 100's linear speed and angular speed can be measured, for example, by odometry devices. However, tracking the robot 100's geolocation can also provide this type of data. Measuring the robot 100's movement parameters allows for forecasting the evolution of risks based on the robot's situation in its environment at a given time t. The perception 91 can also include a measurement of the payload mass carried by the robot 100. This data can influence the braking distance; therefore, it can also be taken into account.
[0142] [Environmental modeling]
[0143] As illustrated in [Fig.8], the detection method 90 can include modeling 92 of the environment around the robot 100. An example of two-dimensional modeling is shown in Figures 2 and 3. The modeling 92 can be carried out by determining the position of the obstacles by position coordinates (X, Y) in the 2D or 3D digital model of the environment constructed with respect to the robot, for example, during the correlation step 913.
[0144] Furthermore, as illustrated in Figures 2 and 3, the 2D or 3D digital model can be divided into surface units of predetermined dimensions. It should be noted that these surface units are commonly called pixels, referring to the digitization of images during digital acquisition (photography, scanning, etc.). It is thus possible to determine the location of the robot 100 and the obstacles 31 according to an occupancy grid, each element listed in this grid occupying a specific number of surface units in the 2D or 3D digital model. In particular, the number of surface units allocated to the robot 100 and / or the obstacles 31 can depend on their known volume for the robot and their estimated volume for the obstacles 31. The volumetric and color images recorded during the perception 91 of the environment can be used to estimate the volume of the identified obstacles 31.
[0145] [Virtual wall and shield]
[0146] In order to ensure the safety of the robot 100 and other users of the environment in which the robot 100 operates, the detection method 90 may include the definition 93 of a collision zone 51 extending around the robot 100. As described above, the collision zone 51 is defined in the 2D or 3D digital model of the robot 100; it is a virtual perimeter projected at 360° around the robot. 100, which is similar to a virtual wall. Indeed, the detection of an obstacle 31 in the collision zone 51 or at the edge of the outer perimeter 52 that delimits the collision zone 51, triggers an immediate stop command for the robot 100. The collision zone 51 of the detection method 90 reproduces the characteristics of the collision zone 51 defined in the detection system 10.
[0147] As illustrated in [Fig. 8], the detection method can also include the establishment 93 of a precautionary zone 53 in the 2D or 3D digital model. As explained previously and illustrated in Figures 4 and 5, the precautionary zone 53 extends 360° around the collision zone 51. Although the precautionary zone 53 is an extension of the collision zone 51, the detection method 90 is parameterized such that the detection of one or more obstacles in the precautionary zone 53 or in contact with the peripheral contour 54 triggers a braking command or a reduction in the robot 100's speed setting. This command is transmitted to the robot 100's movement means 101. The precautionary zone 53 thus constitutes a virtual shield that reduces the robot 100's speed to avoid a collision with a fixed or moving obstacle.The precautionary zone 53 also incorporates all the characteristics of the precautionary zone 53 described within the framework of the detection system 10. In particular, the dimensions of the collision zone 51 and the precautionary zone 53 can be recalculated in real time at each instant t as a function of at least the speed and mass of the robot 100 at time t. As explained previously, the mass of the robot can also include a payload which can be defined at each instant t during the perception step 91.
[0148] In the example of [Fig. 8], the detection method 90 may include the deformation 95 of the collision zone 51 and the precautionary zone 53 according to the trajectory of the robot 100, and in particular when the robot moves along a curved trajectory 104. This step of the detection method 90 is illustrated in [Fig. 6]. The deformation 95 of the zones 51 and 53 makes the detection method 90 more flexible. As described previously and illustrated in [Fig. 6], zones 51 and 53 can be deformed according to the curvature of the trajectory 104. The detection method 90 then only considers an obstacle 31 located on the RR axis of the robot 100 because it is not on the curved trajectory 104 of the robot 100. However, the detection method will consider an obstacle located in the deformed precaution zone 53 or collision zone 51. This optimizes the robot's behavior by smoothing its movement and speed reductions.The deformation of zones 51 and 53 can be achieved using the robot's angular velocity 100, but also by tracking its movement through geolocation. These two parameters are determined during the perception step 91 and can be combined if necessary. To maintain two sources of information, comparing these two sources helps to ensure the reliability of the perceived movement data. Of course, position and linear velocity can also be used to determine the trajectory of robot 100.
[0149] [Moving obstacles]
[0150] As illustrated in [Fig. 8], the detection method 90 may include the detection 96 of moving obstacles 31 in the environment of the robot 100, and in particular in the digital model 30 of the environment around the robot 100. To this end, the detection method 90 may store, in a buffer, a predetermined number of digital models 30 generated at times tn preceding time t. Through the history of these digital models 30, the position (X, Y)tn of the obstacles 31 is tracked over time. When the position (X, Y)tn of one or more obstacles 31 changes over time independently of the movement of the robot 100, the obstacle(s) are classified as a moving obstacle.
[0151] Furthermore, the detection 96 of moving obstacles may include modeling a trajectory vector of the obstacles 31 present on the occupancy grid of the digital model 30. The trajectory vector may comprise a sequence of successive (X, Y)t positions recorded at times tn preceding the time t at which said vector is constructed. The modeling of said vector may be recalculated at a frequency between 5 Hz and 30 Hz. When the successive (X, Y)t positions evolve over time independently of the robot's movement, the obstacle 31 may be classified as a moving obstacle.
[0152] Once the detection method 90 has identified a moving obstacle, it can include the prediction 97 of the evolution of the position (X, Y)t+n of this moving obstacle according to one or more time projections at times t+n. For example, the detection method 90 can track the evolution of the position (X, Y)t+n of the moving obstacle over a predefined future time period, the duration of which can be between 1 and 5 seconds. The position (X, Y)t+n can be predicted by a determined time step, which is preferably less than 500 ms. For example, for a time step of 100 ms, N can then take values between 100 ms and 5000 ms. The detection method 90 can predict the position (X, Y)t+n using a mathematical function of the Kalman filter type. The calculation of the evolution of the position can be repeated at a frequency between 10 and 30 Hz.
[0153] In the example illustrated in [Fig. 3], the prediction 97 of the evolution of the position (X, Y)t+n may include the construction of a predictive vector 41 of the trajectory of the moving obstacle(s) 31 at times t+n. As described previously, the positions (X, Y)t+n predicted by time step are represented by stars 42. The predictive vector can be constructed using a Kalman filter-type function which can in particular use the successive recorded positions (X, Y)tn of the 31 moving obstacle(s) in the instant tn preceding the instant t during which the predictive vector is constructed.
[0154] Furthermore, the classification of obstacles 31 by visual recognition during the perception step 91 is additional information that can be correlated with the trajectory vector to better assess, firstly, whether obstacle 31 is moving. And secondly, to better assess the speed of movement of the moving obstacle and thus improve the calculation of the (X, Y)t+n positions that allow the predictive vector 41 to be drawn. Indeed, the movement parameters vary according to the nature of the moving object. For example, both the speed of movement and the manner of movement can differ depending on whether the moving obstacle 31 is a pedestrian, a cyclist, a scooter, or another motorized vehicle.
[0155] As described above, the numerical values of the covariance matrix Q can vary depending on the nature of the moving obstacle. This is to take into account, in particular, the difference in speed or type of movement, for example, between a pedestrian and a car. The classification of the moving obstacle 31 is thus used to modify the parameters of the mathematical function that allows the estimation of future positions (X, Y)t+n according to a specific time projection, which can be between 1 and 5 seconds.
[0156] [Collision risk assessment]
[0157] As illustrated in [Fig. 8], the detection method 90 may include the assessment 98 of collision risks. The assessment 98 may be made at least as a function of the position (X, Y)t of the obstacles 31 perceived at time t, relative, at least to the collision zone 51, the linear speed, the angular speed of the robot 100. Other parameters may also be taken into consideration to assess the collision risk, such as the braking capacity of the robot 100, the mass of the robot 100 and the payload of the robot 100.
[0158] Preferably, the method does not assess the risk with respect to the position of the robot 100 itself, but with respect to the collision zone 51 and the precautionary zone 53 as described previously. Furthermore, when the perceived obstacle 31 is a pedestrian, another parameter can be used: the safety distance 55, which is described within the framework of the detection system 10 and is schematically represented in [Fig. 4].
[0159] During the collision risk assessment 98, the detection method 90 can apply in real time an analysis according to six parameters of the occupancy grid of the numerical model 30. As described previously, the radar-type diagram in [Fig. 7] schematically illustrates this analysis, which includes, as described Previously: the position (X, Y)t at time t of an obstacle 31 relative to the robot 100, the linear velocity Vlt and angular velocity Vat at time t of the robot 100, the payload Cut at time t, and the safety distance Lst at time t when the obstacle 31 is identified as a human. This safety distance Lst corresponds to the safety distance 55. These six parameters can represent a map of the situation of the obstacles located in the occupancy grid of the digital model 30 at time t. With the exception of the safety distance 55, which can be programmed by the manufacturer or operator of the robot 100, the other five parameters are determined during the perception step 91. Within the detection system 10, it is the perception module 20 that determines these five parameters.
[0160] According to one embodiment, the detection method 90 can use these six parameters to assess the risk of collision with one or more obstacles in comparison with the trajectory of the robot, its braking capacity but also the collision zone 51 and the precaution zone 53. Within the framework of the detection system 10, it is the computing unit 70 which carries out this analysis in real time.
[0161] According to one embodiment, the detection method 90 compares in real time each situation, based on the six aforementioned parameters, with a database 71 of pre-existing situations in which the risk of collision has been pre-calculated according to said parameters, the trajectory of the robot 100, and the zones 51 and 53. This database 71 can be stored in the memory 106 of the robot 100. During the evaluation 98, the detection method 90 can thus compare the situation of the occupancy grid, as well as the six aforementioned parameters, with the database 71, the closest situation then being chosen to define a possible speed reduction command for the robot 100. The use of a database 71 in which the risks of collision are pre-calculated according to predefined situations saves computation time and therefore allows for a faster determination of whether the situation requires a speed reduction.The speed reduction instruction is thus transmitted more quickly to the means of locomotion 101 of robot 100.
[0162] [Regulation of the robot's movement speed]
[0163] According to one embodiment, the detection method 90 may include the control 99 of the robot 100's movement speed. The control 99 includes determining a linear speed, angular speed, braking, or stopping command for the robot based on the collision risk assessment 98. The control 99 determines a movement command and transmits it to the robot 100's movement means 101. The control 99 may be determined using the database 71 by comparing the occupancy grid status of the digital model 30 at time t. Based on the risk determined during the assessment 98, the control 99 consists of selecting the command to be applied to the means of movement 101 to minimize the risk of collision if one has been detected. This is why, in the event of several obstacles 31 detected, the control 99 will opt for the lowest speed reduction command, or if necessary, the robot stop command 100. Indeed, the lowest speed reduction command or a stop command is necessarily linked to the highest risk of collision that can be detected at a given time t.
[0164] Thus, when an obstacle is detected in the collision zone 51 of the robot 100, an immediate stop command for the robot 100 is transmitted to the means of movement 101 of the robot.
[0165] As illustrated in [Fig. 5] by the dimensions of zones 51 and 53, the robot's movement is regulated according to collision risk assessment rules that differ depending on the obstacle's position relative to the robot's longitudinal axis RR or its transverse axis. As mentioned previously, the speed, braking distance, and stopping distance commands along the transverse axis are smaller than the speed, braking distance, and stopping distance commands along the longitudinal axis. This is because lateral collisions are mostly caused by other road users and are therefore less frequent.
[0166] With further reference to [Fig. 5], the braking distance can be defined as the distance DpfIDpl / Dpb between the outer limit 54 of the precautionary zone 53 and the outer limit 52 of the collision zone 51. The stopping distance can be defined as the distance Dcf / Dcl / Dcb between the outer limit 52 of the collision zone 51 and the robot 100. It should be noted that the braking and stopping distances can be re-evaluated in real time based on several parameters such as the mass of the robot, which may include a payload, the robot's speed, and the robot's braking capabilities.
[0167] These distances can also be determined according to the robot's mode of movement; for example, a robot that moves by following a master will have shorter braking and stopping distances than a robot that moves autonomously.
[0168] The control 99 can also transmit warning instructions to the warning devices 62 of the robot 100 in order to inform human passers-by of a risk of collisions as illustrated in the diagram of the detection system of [Fig.1].
[0169] Figure 10 describes an example of a calculation step Pc(t) at time t of the detection process 90, in which three obstacles 01, 02, 03 are detected in the occupancy grid of the digital model 30. In particular, the occupancy grid is filled 910 and within the framework of the perception 91 of the environment at time t. Here, three obstacles 01, 02, 03 are identified in the occupancy grid of the model digital 30. This is followed by the detection 96 of the mobility of the three obstacles 01, 02, 03 then the prediction 97 of their position (X, Y)t+n according to time projections by incrementing time steps of 100 milliseconds (ms) up to a maximum projected time step of three seconds (3000 ms).
[0170] The detection method 90 then performs the collision risk assessment 98 for each projected position (X, Y)t+n of each moving obstacle 01, 02, 03. The assessment is carried out by comparing the projected position (X, Y)t+n of each obstacle 01, 02, 03 with the zones 51, 53. As described previously, during the assessment 98, all six parameters are compared with a database 71 in which the collision risk calculations have been calibrated. The risk is thus assessed at each time projection for all obstacles 01, 02, 03 identified in the occupancy grid. The comparison with the database assigns to each time projection, or time step used to predict the future trajectory of obstacles 01, 02, 03, a speed reduction or stop command Cv for the robot 100.Regulation 99 can be configured to select the most pessimistic speed reduction setpoint, namely the lowest speed reduction or, if necessary, the total stoppage of the movement of robot 100.
[0171] Thus, during a calculation step Pc(t) at time t, when moving obstacles are detected, the detection process 90 can evaluate several collision risks at each projected time step. The process can then be parameterized to select the most pessimistic speed setpoint for each projected time step. More broadly, as illustrated in [Fig. 10], the setpoint best suited to the risk situation can be selected in a second selection step that takes place during the regulation step 99. It is this most suitable setpoint that will be transmitted to the locomotion means 101 of the robot 100.
[0172] In this particular case, the most suitable instruction corresponds to the instruction which is the most pessimistic and which makes it possible to avoid or prevent the collision which, according to the process and the different time projections, seems to be the closest physically, but also temporally, to zones 51, 53 or to the safety distance 55.
Claims
1.
2. Demands A collision risk detection system (10) for a robot (100), in particular a logistics robot which includes means of locomotion (101) including in particular wheels, a steering wheel, braking means, and a motor configured to drive the wheels in rotation in a direction of movement, the detection system (10) comprising: - an environmental perception module (20) configured, on the one hand, to detect, in the environment around the robot (100), obstacles (31) such as street furniture, a hole, a pedestrian, a cyclist, a scooter, a vehicle etc., and on the other hand, to model; at each instant t, the position of the obstacles (31) by position coordinates (X, Y) in a 2D or 3D digital model constructed with respect to the robot (100), - a safety module (50) which is configured to define, at each instant t, at least one collision zone (51) which extends 360° around the robot (100), the collision zone (51) being defined in the 2D or 3D digital model, - a robot control module (60) which is configured to regulate the movement speed of the robot (100), at each instant t, by determining a speed, braking or stopping command for the robot, - a computing unit (70) configured to evaluate, at each instant t, the risk of collision between the robot (100) and the perceived obstacles (31), said risk being evaluated by comparing the position (X, Y) of the perceived obstacles (31) in the environment of the robot (100) at least with respect to the collision zone (51), when the perceived obstacle(s) (31) are in the collision zone (51), the computing unit (70) is configured to transmit, at each instant t, to the control module (60) a command to modify one or more robot (100) movement instructions such as linear speed, angular speed, braking, or stopping the robot (100). Detection system (10) according to claim 1, wherein the safety module (50) is configured to define a zone of precaution (53) which extends 360° around the collision zone (51) in said digital model (30), the precaution zone (53) being an extension of the collision zone (51) and the computing unit (70) is configured to determine the position (X, Y) of the obstacles (31) relative to the precaution zone (53), when obstacles (31) are perceived in the precaution zone (53), the computing unit (70) is configured to transmit to the control module (60) a braking command or a reduction of the robot's speed setpoint.
3. Detection system (10) according to claim 2, wherein the collision zone (51) and the precaution zone (53) are defined, in the digital model (30), by a ground footprint which extends around the ground footprint of the robot (100).
4. Detection system (10) according to any one of claims 2 and 3, wherein the dimensions of the collision zone (51) and the precaution zone (53) are defined at some time t with respect to the speed of the robot (100) and the mass of the robot (100) at time t, the mass of the robot (100) being able to include in particular a payload.
5. Detection system (10) according to any one of claims 2 to 4, wherein the safety module (50) is configured to deform the collision zone (51) and the precaution zone (53) when the robot (100) moves along a curved trajectory.
6. A detection system (10) according to any one of claims 1 to 5, wherein the perception module comprises odometry organs (25) configured to determine, at each instant t, the position (X, Y), linear velocity and angular velocity of the robot (100).
7. A detection system (10) according to any one of claims 1 to 6, wherein the perception module (20) may comprise: - one or more volumetric sensors (21, 23, 24) configured to model in 2D or 3D the environment surrounding the robot (100) and to measure the distances between the detected obstacles (31) and the robot (100) in the digital model (30), - one or more cameras (22, 23) configured to capture color images in the visible spectrum, and - a first automaton (28) configured to recognize the obstacle(s) (31) within the images and correlate them. images with the obstacles (31) detected in the digital model (30) so as to determine a relative position of the obstacles (31) with respect to the robot (100).
8. Detection system (10) according to the preceding claim, which includes, an obstacle (31) tracking module (40) which is configured to determine whether an obstacle (31) is fixed or mobile, in particular, the tracking module (40) compares the modeled 2D or 3D digital model, at a time t, with digital models (30) modeled at times tn which precede time t, when the position of an obstacle (31) changes, independently of the movement of the robot (100), between at least two digital models (30) modeled successively, the obstacle (31) is considered to be mobile.
9. Detection system (10) according to the preceding claim, wherein, the tracking model (40) is configured to predict the displacement of each moving obstacle (31) according to a time projection t+n, the tracking model (40) calculates, according to several time steps, probable positions (X, Y)t+n of each moving obstacle in this time projection, for these purposes, the tracking model (40) can in particular be configured to construct a predictive vector (41) of the trajectory of the moving obstacle (31) at times t+n, the trajectory t+n being estimated as a function of the previous positions of the moving obstacle (31) in the numerical models (30) constructed at time t and at times tn preceding time t.
10. Detection system (10) according to any one of claims 1 to 9, comprising at least four parameters for evaluating the risk of collision: a linear speed of the robot, an angular speed of the robot, the position coordinates (X, Y) of an obstacle (31) with respect to at least the collision zone (51).
11. Detection system (10) according to the preceding claim, which includes two additional collision risk assessment parameters: the robot payload and a safety distance (55) of determined dimensions which makes it possible to stop the robot (100) if an obstacle (31) classified as a human is at a distance less than or equal to the safety distance (55).
12. A method for detecting (90) risks of collision of a robot (100), in particular a logistics robot which includes means of locomotion (101), including in particular wheels, means of braking, and a motor configured to drive the wheels in rotation in a direction of movement, the detection method (90) comprising at each instant t: - The perception (91) of the environment around the robot (100) and of the obstacles (31) which are in this environment such as street furniture, a hole, a pedestrian, a cyclist, a scooter, a vehicle etc, - The modeling (92) of the environment around the robot (100), the modeling (92) is carried out by determining the position of the obstacles (31) by position coordinates (X, Y) in a 2D or 3D digital model (30) of the environment constructed with respect to the robot (100), - the definition (93) of a collision zone (51) which extends around the robot (100), the collision zone (51) being defined in the digital model (30) and corresponding to a perimeter projected at 360° around the robot (100) within the digital model (30),- the assessment (98) of collision risks at least as a function of the position (X, Y) of the perceived obstacles (31) relative to at least the collision zone (51), the linear speed and angular speed of the robot (100), - the regulation (99) of the robot's (100) movement speed by determining a linear speed setpoint, angular speed setpoint, braking or stopping of the robot as a function of the collision risk assessment (98), when an obstacle (31) is detected on the robot's (100) trajectory a braking or speed reduction command is transmitted to the movement means (101), and when an obstacle (31) is detected in the collision zone (51), an immediate stop command is transmitted to the movement means (101).
13. A detection method (90) according to claim 12, comprising establishing (94) a precautionary zone (53) in the digital model (30), the precautionary zone (53) being an extension of the collision zone (51) and extending 360° around the collision zone (51), when an obstacle (31) is detected in the zone of precaution (53), a braking command or a speed reduction command is transmitted to the means of movement (101).
14. Detection method (90) according to claim 13, wherein the dimensions of the collision zone (51) and the precaution zone (53) are defined, at each instant t, at least with respect to the speed and mass of the robot (100), the mass of the robot (100) being able to include in particular a payload.
15. Detection method (90) according to any one of claims 13 and 14, comprising the deformation (95) of the collision zone (51) and the precaution zone (53) when the robot (100) moves along a curved trajectory.
16. A detection method (90) according to any one of claims 12 to 15, comprising the detection (96) of moving obstacles (31) in the environment of the robot (100), the position (X, Y) of the obstacles (31) being tracked in time through the different digital models (30) which are successively modeled at each instant t, when the position (X, Y) of one or more obstacles (31) evolves, independently of the movement of the robot (100), in at least two successive digital models (30), the obstacle (31) is classified as a moving obstacle.
17. A detection method (90) according to claim 16, which comprises, at each time t, the prediction (97) of the probable evolution of the position (X, Y)t+n of the moving obstacle(s) (31) detected at time steps projected at times t+n.
18. A detection method (90) according to the preceding claim, the construction of a predictive vector (41) of the probable trajectory of the moving obstacle(s) (31) at times t+n, the predictive vector being constructed as a function of the recorded positions (X, Y)tn of the moving obstacle(s) in the times tn preceding time t.
19. A detection method (90) according to any one of claims 12 to 18, wherein the regulation (99) of the robot's (100) movement speed is defined according to rules for assessing collision risks, the assessment rules being defined along two distinct axes, a longitudinal axis extending in the direction of movement of the robot (100) and a transverse axis extending orthogonally to the direction of movement, the speed, braking distance, and stopping distance commands along the axis
20.
21. transverse being smaller than the speed, braking distance and stopping distance instructions of the longitudinal axis. A detection method (90) according to any one of claims 12 to 19, wherein the collision risk assessment (98) uses the following parameters which are defined at time t: - the position (X, Y)t of the perceived obstacles (31), relative at least to the collision zone (51) in the numerical model (30), - the linear speed of the robot (100), - the angular velocity of the robot (100), - the mass of the robot (100), and - a safety distance (55) including the dimensions greater than the limits of the collision zone (51), the safety distance (55) is a distance projected beyond the robot (100) and 360° around the robot, the safety distance (55) is parameterized to cause the robot (100) to stop as soon as a human is detected at a distance less than or equal to the dimensions of the safety distance (55). A detection method (90) according to any one of claims 12 to 20, the perception (91) comprises: - the capture of color images (910) of the environment surrounding the robot (100, the images being recorded by color cameras in the visible range, - the detection (911) of the obstacle(s) (31) in the environment surrounding the robot (100) within said color images, the detection (911) of the obstacle(s) being carried out by determining the nature of the objects in the environment of the robot (100) by visual recognition in the color images, - the capture (912) of volumetric images of the environment surrounding the robot (100), - the measurement (913) of distances, in the recorded volumetric images, between objects detected in the environment around the robot (100), - the correlation (914) between color images and volumetric images of the environment in order to produce a model
22. digital (30) 2D or 3D of the environment surrounding the robot (100), in which the nature of the obstacles (31) and their relative position with respect to the robot (100) are defined, and - measurements of the robot's (100) displacement which are achieved by measuring the linear speed and angular speed of the robot (100). Logistics robot comprising a collision risk detection system (10) defined according to any one of claims 1 to 11.
Citation Information
Patent Citations
System and method for providing a safety zone associated with a vehicle
US20060293856A1
Movable object controller and method for controlling movable object
US20160236347A1