WO2017121936A1 - Procédé et système de détermination de la position d'un engin mobile - Google Patents

Procédé et système de détermination de la position d'un engin mobile Download PDF

Info

Publication number
WO2017121936A1
WO2017121936A1 PCT/FR2016/053546 FR2016053546W WO2017121936A1 WO 2017121936 A1 WO2017121936 A1 WO 2017121936A1 FR 2016053546 W FR2016053546 W FR 2016053546W WO 2017121936 A1 WO2017121936 A1 WO 2017121936A1
Authority
WO
WIPO (PCT)
Prior art keywords
environment
points
point
mobile machine
modeling
Prior art date
Application number
PCT/FR2016/053546
Other languages
English (en)
Inventor
Alban DERUAZ-PEPIN
Original Assignee
Donecle
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Donecle filed Critical Donecle
Priority to US16/070,502 priority Critical patent/US20210200246A1/en
Priority to JP2018536268A priority patent/JP2019504418A/ja
Priority to EP16829265.4A priority patent/EP3403117A1/fr
Priority to CN201680078920.2A priority patent/CN108474836A/zh
Publication of WO2017121936A1 publication Critical patent/WO2017121936A1/fr

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/42Simultaneous measurement of distance and other co-ordinates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64FGROUND OR AIRCRAFT-CARRIER-DECK INSTALLATIONS SPECIALLY ADAPTED FOR USE IN CONNECTION WITH AIRCRAFT; DESIGNING, MANUFACTURING, ASSEMBLING, CLEANING, MAINTAINING OR REPAIRING AIRCRAFT, NOT OTHERWISE PROVIDED FOR; HANDLING, TRANSPORTING, TESTING OR INSPECTING AIRCRAFT COMPONENTS, NOT OTHERWISE PROVIDED FOR
    • B64F5/00Designing, manufacturing, assembling, cleaning, maintaining or repairing aircraft, not otherwise provided for; Handling, transporting, testing or inspecting aircraft components, not otherwise provided for
    • B64F5/60Testing or inspecting aircraft components or systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/16Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/481Constructional features, e.g. arrangements of optical elements
    • G01S7/4814Constructional features, e.g. arrangements of optical elements of transmitters alone
    • G01S7/4815Constructional features, e.g. arrangements of optical elements of transmitters alone using multiple transmitters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • G05D1/106Change initiated in response to external conditions, e.g. avoidance of elevated terrain or of no-fly zones
    • G05D1/1064Change initiated in response to external conditions, e.g. avoidance of elevated terrain or of no-fly zones specially adapted for avoiding collisions with other aircraft
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/13Satellite images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/17Terrestrial scenes taken from planes or by drones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/12Acquisition of 3D measurements of objects

Definitions

  • the invention relates to a method and a system for determining the relative position of a mobile machine with respect to an environment.
  • the invention relates to a method and a system for determining the position of a drone (aerial, for example of the multi-rotor or helicopter type) or a robot for inspecting surfaces in an environment known as example a shed in which is the object whose surface is to be inspected.
  • a drone anerial, for example of the multi-rotor or helicopter type
  • a robot for inspecting surfaces in an environment known as example a shed in which is the object whose surface is to be inspected.
  • Mobile devices such as drones or robots moving in space autonomously require to know permanently their position in the environment in which they move.
  • the positioning of mobile machines is generally done by geolocation, for example via the GPS system (Global Positioning System in English), which provides good accuracy.
  • GPS system Global Positioning System in English
  • a proposed solution was to start from a known position of the mobile machine and determine the position of the machine by measuring the movements made by the machine from this known position.
  • This solution does not detect errors or inaccuracies of movement over time, which accumulate and therefore lead to erroneous positioning that can not be corrected.
  • the solution uses inertial units which, although having a good accuracy to minimize these errors, have a high cost and a significant weight (often greater than 1kg) incompatible with use of aerial drone.
  • beacon systems installed at advance in the environment, such as radio transceivers.
  • a transceiver By equipping the mobile machine with a transceiver, it is then possible to estimate its position by triangulation techniques vis-à-vis the other tags.
  • this solution is expensive and takes a long time to implement because it requires to have the tags and determine their precise positions (via calibration).
  • the invention aims to overcome at least some of the disadvantages of known methods and positioning systems.
  • the invention aims to provide, in at least one embodiment of the invention, a positioning method for positioning a mobile machine in an indoor environment.
  • the invention also aims to provide, in at least one embodiment, a rapid positioning method, which can be executed on low power processors.
  • the invention also aims to provide, in at least one embodiment, a precise positioning method.
  • the invention also aims to provide, in at least one embodiment, a positioning method that does not require modifications of the environment in which it moves.
  • the invention also aims to provide, in at least one embodiment, a positioning system that can be embedded.
  • the invention relates to a method for determining the relative position of a mobile machine with respect to an environment modeled by a set of geometric surfaces forming a 3D modeling according to a reference of the environment, comprising:
  • a method according to the invention therefore allows the positioning of a mobile machine in a totally or partially known environment without requiring the installation of beacon.
  • the environment refers to the volume in which the mobile craft moves, with the elements that compose it: for example, a hangar in which there is an aircraft whose surfaces are to be inspected.
  • the elements inspected are known and can be modeled in 3D, or are already modeled for other applications, by drawing software supported by computer (DAO).
  • the method continuously uses the distance measurements of the machine with the environment, and determines its relative position with respect to the environment. For example, a drone flying around an aircraft for its inspection will know its position permanently and can, if it spots a defect on the surface of the aircraft, determine the position of this defect with respect to its own position and therefore locate it on the aircraft.
  • the method implemented is thus fast and inexpensive in execution resources: it can be easily embedded on the mobile machine, having an embedded processor that consumes little energy and allows real-time processing. Part of the process, including steps to be performed only once and independent of the position of the mobile machine or measured distances (eg, pre-processing steps related to 3D modeling), may be performed outside the process. mobile machine, the results of these steps being provided to the embedded processor to improve the speed of execution of the steps processed by it.
  • the speed of execution of the method also allows its execution more frequently and thus ensures rapid monitoring of the position of the mobile machine: it can then move more quickly.
  • the process is particularly advantageous indoors because of the absence of geolocation, it can also be used outdoors for applications requiring increased accuracy in a known environment: for example, the inspection of an aircraft outdoors, the surface of a wind turbine or a ship in dry dock.
  • the 3D modeling is a polygonal 3D mesh and the geometric surfaces are polygons.
  • the modeling of the 3D environment by a polygonal 3D mesh allows a simple modeling and a faster processing of the different steps of the process.
  • any 3D modeling with more complex geometric surfaces can be approximated by a polygonal 3D mesh according to techniques well known to those skilled in the art.
  • the step of measuring a plurality of distances is performed by at least one scanning laser rangefinder.
  • the step of measuring a plurality of distances is performed by at least two scanning laser rangefinders configured to perform scans in secant planes.
  • each additional laser rangefinder is configured to perform scans in intersecting planes at the scanning planes of the other rangefinders.
  • the step of evaluating a gap between the set of points and the 3D modeling of the environment comprises:
  • attitude of the mobile machine corresponds to the orientation of the machine in space, expressed by angles ⁇ , ⁇ and ⁇ of Euler, known to those skilled in the art.
  • a method according to the invention comprises, prior to said calculation step, for each point of said cloud of points, a norm between said point and a surface of the 3D modeling of the environment:
  • a norm between said point and a surface of the 3D modeling of the environment comprises:
  • a step of determining the nearest surface of the point among the near surfaces said closest surface being the surface whose standard between it and the point is the weakest, said norm being considered as the norm between the point and the 3D modeling of the environment.
  • the step of decomposing the environment in superimposed cubes, and the step of determining, for each cube, the surfaces of the 3D modeling of the environment having a non-zero intersection with the cube may be previously executed and the result of these steps saved in a memory of the mobile machine to allow faster processing. Indeed, these The steps are not related to the position of the machine or the distance measurements made.
  • the decomposition of the environment in cubes and the calculation of the norm between each point and the near surfaces allows a fast and inexpensive calculation of the resources of the standard between each point and the 3D modeling of the environment, because only a calculation of standards with nearby surfaces is done, rather than with all surfaces.
  • the point cloud gap with 3D modeling is the set of standards between each point in the point cloud with 3D modeling, especially with the 3D modeling surface closest to that point.
  • the points whose point standard is greater than a predetermined threshold, said isolated points, are extracted from the point cloud, and the method comprises an obstacle detection step in which the close isolated points are grouped together to form volumes representing obstacles, and said volumes are recorded.
  • the method allows the isolation of points corresponding to obstacles that are not included in the 3D modeling of the environment, their processing and their consideration in the positioning of the mobile machine, to prevent the mobile device from coming into contact with these obstacles.
  • the volumes representing the obstacles are recorded and allow to be taken into account in navigation and to be tracked as and when the mobile device moves.
  • a method according to the invention comprises a step of suppression, of the point cloud, of points corresponding to the ground or the ceiling of the environment.
  • the method makes it possible to limit the number of points to be treated by removing from the cloud of points the points corresponding to the ground or the ceiling of the environment which are of little use when the altitude of the mobile machine or an estimate of this altitude is available: the mobile machine knows that the ground and the ceiling correspond to particular and constant altitudes and does not require know the points forming the ground or the ceiling.
  • the altitude is known either by direct measurement or by estimation.
  • the process is thus faster because of the reduction in the number of points to be treated.
  • a method according to the invention comprises a step of deletion, the cloud of points, ambiguous or redundant points.
  • the method makes it possible to limit the number of points to be treated by removing from the cloud of points the points corresponding to ambiguous or redundant distance measurements.
  • Ambiguous points are the points corresponding to a measurement of points on the edges of a surface or a measurement on a surface with a low angle of incidence, which may be erroneous.
  • the redundant points are the points on a surface whose point cloud already has enough points to define said surface.
  • the process is thus faster because of the reduction in the number of points to be treated.
  • the invention also relates to a method of navigation of a mobile machine in an environment, comprising at least one step of moving the mobile machine, characterized in that a position of the mobile machine is determined during the step displacement, by a determination method according to the invention.
  • the invention also relates to a method of navigation of a mobile machine in an environment, comprising at least one step of moving the mobile machine, characterized in that a position of the mobile machine and volume positions corresponding to obstacles are determined by a determination method according to the invention, and in that it comprises at least one step of avoiding said volumes corresponding to obstacles.
  • the invention also relates to a system for determining the relative position of a mobile machine with respect to an environment modeled by a 3D modeling according to a reference of the environment, embedded in said mobile machine and characterized in that it comprises:
  • modules for determining the relative position of the mobile machine in the environment mark from said deviation.
  • the measuring means are, for example, sensors embedded by the module such as at least one scanning laser rangefinder, preferably two scanning laser rangefinders configured to perform scans in intersecting planes, a depth measurement camera (of the RGBD for Red Green Blue Depth), a stereovision device, a millimetric radar, etc., or a combination of these sensors.
  • sensors embedded by the module such as at least one scanning laser rangefinder, preferably two scanning laser rangefinders configured to perform scans in intersecting planes, a depth measurement camera (of the RGBD for Red Green Blue Depth), a stereovision device, a millimetric radar, etc., or a combination of these sensors.
  • the deviation evaluation module and the module for determining the relative position of the mobile machine are embedded in the mobile machine. However, some calculations unrelated to the measured distances or the position of the mobile machine may be performed in a separate computer, and provided prior to the determination system to improve the processing speed of the various means it comprises.
  • the invention also relates to a computer program product downloadable from a communication network and / or recorded on a computer readable medium and / or executable by a processor, characterized in that it comprises program code instructions for the implementation of the determination method according to the invention.
  • Such a computer program product makes it possible to determine the position of a mobile machine in which it is executed quickly, requiring little processor resources and thus with a low energy consumption.
  • the invention also relates to a computer readable storage means, totally or partially removable, storing a computer program comprising a set of instructions executable by a computer to implement the determination method according to the invention.
  • a determination system according to the invention implements a determination method according to the invention.
  • a determination method according to the invention is implemented by a system according to the invention.
  • the invention also relates to a computer program product downloadable from a communication network and / or recorded on a computer readable medium and / or executable by a processor, characterized in that it comprises program code instructions for the implementation of the determination method according to the invention.
  • the invention also relates to a computer readable storage means, totally or partially removable, storing a computer program comprising a set of instructions executable by a computer to implement the determination method according to the invention.
  • the invention also relates to a determination method, a navigation method, a system, a computer program product and storage means characterized in combination by all or some of the features mentioned above or below.
  • FIG. 1 is a schematic representation of a method according to one embodiment of the invention
  • Figure 2 is a representation of a polygon of a 3D mesh of the environment.
  • FIG. 1 schematically represents a method for determining the position of a mobile machine with respect to an environment modeled by a set of geometric surfaces forming a 3D modeling according to an environment reference, according to one embodiment of the invention . All or part of this determination method is implemented by a determination system embedded in a mobile machine, according to one embodiment of the invention. The method is advantageously described for a mobile machine moving in three dimensions, such as a flying machine such as a drone, for example of the helicopter or multi-rotor type.
  • the 3D modeling is a polygonal 3D mesh, that is to say that the geometric surfaces forming the 3D modeling are polygons.
  • the invention also applies to any type of 3D modeling, including 3D models with more complex geometric surfaces (spheres, cylinders, ellipses & cones in particular).
  • the determination method comprises a first step 10 of measuring a plurality of distances of the mobile machine to the environment in at least one direction, so as to obtain a set of points defined in a reference of the mobile machine, by means for measuring a plurality of distances from the craft to the environment in at least one direction.
  • These measuring means are, for example, sensors such as at least one scanning laser rangefinder, preferably two scanning laser range finders in secant planes, a depth measurement camera (RGBD type for Red Green Blue Depth). , a stereovision device, a millimetric radar, etc., or a combination of these sensors.
  • the distance measurements take the form of pairs (solid angle, distance measured in this solid angle) according to a reference of the mobile machine and with respect to a known point on the mobile machine, typically the position of the measuring means, known relative to the center of gravity of the mobile machine.
  • a scanning laser rangefinder can measure distances with a small angular step (for example 0.25 °) and a wide angular field (270 ° or more), making it possible to obtain a large number of pairs (solid angle; distance).
  • a small angular step for example 0.25 °
  • a wide angular field 270 ° or more
  • the use of several rangefinders with different orientations and / or mirrors makes it possible to obtain measurements in different planes.
  • RGBD or stereovision camera, radar or sonar acquisition means make it possible to obtain measurements of distances on several dimensions without requiring scanning.
  • the pairs form a set of points in a reference of the mobile machine: the pairs correspond to the spherical coordinates of the points of the set of points in a reference of the mobile machine.
  • the method then comprises an optional step 12 of suppression, of the scatterplot, of points corresponding to the ground or the ceiling of the environment, by a suppression module, the cloud of points, of points corresponding to the ground or the ceiling of the 'environment.
  • the extraction of the measured distances corresponding to the ground or the ceiling from the set of distances measured makes it possible to reduce the number of distances taken into account in the subsequent determination process.
  • This extraction requires knowing the attitude of the machine, and in one embodiment, its altitude, measured by a specific sensor, or an estimate of the altitude of the mobile machine, deduced from the previous position of the mobile device taking into account the approximate displacement from this last position.
  • ZC is calculated using the altitude of the machine:
  • ZC is calculated directly from the Z coordinates of the points:
  • the first embodiment has the advantage of being faster since the interval is known immediately without having to calculate minimum or maximum on all points and has the advantage of operating even with "holes" in the ground or ceiling.
  • the second embodiment has the advantage of not using the altitude of the machine, and can in particular operate even if the altitude estimate no longer works.
  • a third embodiment, the preferred mode is to use the first mode when a good estimate of the altitude is available and to use the second mode otherwise.
  • the method then comprises an optional step 14 of deletion, cloud of points, ambiguous or redundant points, by means of suppression, cloud of points, ambiguous or redundant points.
  • This step includes several objectives: a first objective is to avoid the duplication of measured distances that are too similar, for example a set of measured distances representing the same plane. It is not necessary to keep several hundred points to define a flat surface.
  • a second objective is to reduce the number of unreliable measured distances, especially when the distance measuring means are laser range finders whose measurements are made by scanning. For example, for close solid angles, the measured distance may vary significantly when the environment includes distant surfaces: the points intermediate between these remote distances may be erroneous. In addition, measurements on a surface with which the laser rangefinder has a low angle of incidence (close to 0 °) may be erroneous.
  • a third objective is to ensure the presence of a minimum number of points in all directions, in order to obtain a consistent result.
  • a predetermined threshold for example 0.5
  • points very close to a selected measure can be used to consolidate said selected measure before being deleted.
  • the consolidation is for example an average or a median on 3 points.
  • a reduced list of distance measurements is thus obtained which makes it possible to speed up the processing of the following steps while suppressing data that may be erroneous and keeping a sufficient number of points in each angular sector.
  • the method then comprises a step of evaluating a gap between said set of points and the 3D mesh of the environment and a step 20 of determining the relative position of the mobile machine in the reference of the environment from said deviation. These steps can be performed several times in a loop to refine the position of the mobile machine.
  • the step of evaluating a gap between said set of points and the 3D mesh of the environment comprises a step 16 of converting the set of points in the reference of the mobile machine to a cloud of points in the environment. reference of the environment from an estimation of the position of the mobile machine and a step 18 of calculating, for each point of said cloud of points, a norm between said point and a polygon of the 3D mesh of the environment.
  • the conversion is carried out by determining the matrix of passage of the marker of the mobile machine to the reference of the environment, based on an estimate of the position and attitude of the machine.
  • the reference of the environment is preferably orthonormed of type Oxyz.
  • the position of the machine can be estimated in several different ways depending on the embodiment.
  • the attitude of the machine is generally known thanks to an inertial system, such as a low cost inertial unit.
  • the last position provided by the method can be used as the position estimate.
  • This last position can possibly be refined if the mobile machine knows approximately the speed and direction of movement of the machine, for example via an accelerometer.
  • this position and orientation are provided as an estimate of the position of the machine and the following steps of the determination method are executed a fixed number of times (for example 5), then the consistency of this position is verified: a position is said to be coherent if a precision indicator, representative of the average of the standards of each point with an area of the environment (described below) is less than a threshold (eg the average deviation is less than 20cm) and the percentage of points whose standard between that point and the environment is less than one maximum deviation is greater than a threshold (eg more than 75%). If the position is consistent, the position is used as an estimate of the position, otherwise the method below, called the mesh method is used.
  • a precision indicator representative of the average of the standards of each point with an area of the environment (described below) is less than a threshold (eg the average deviation is less than 20cm) and the percentage of points whose standard between that point and the environment is less than one maximum deviation is greater than a threshold (eg more than 75%).
  • Some environments allow an approximate determination of the initial position of the mobile machine. For example, in the case where the environment includes an aircraft, it is possible to extract the distance between the mobile craft and a fuselage of the airplane, and / or the distance between the mobile craft and a wing of the airplane, This considerably limits the number of positions to be tested.
  • the mesh method makes it possible to find a valid position in the case where one would have lost the positioning of the mobile machine during its displacement.
  • the search mesh consists of points on a sphere around the last known position (for example, of radius lm). . Similarly, the points closest to the last known position will be tested first. The algorithm continues until finding a position validating the consistency criterion. If none is found on the sphere, the radius of the sphere is increased (for example, in steps of lm) and the algorithm begins again.
  • the estimation of the altitude can come from the results of the optional step of extracting the measured distances corresponding to the soil of the environment, if it has been executed.
  • the 3D mesh of the environment is for example a representation of the environment in the form of a set of associated polygons to form an approximation of the surfaces of the environment.
  • These polygons are for example triangles or quadrangles.
  • the objective of the calculation step 18, for each point of said cloud of points, of a norm between said point and a polygon of the 3D mesh of the environment is to determine, for each point of the point cloud, the norm from this point with the nearest polygon, and deduce a point cloud standard with the mesh
  • 3D representative of the error of the position used in the conversion step of measured distances to a scatter plot in the environment marker.
  • the 3D mesh of the environment (represented by the reference 100) is previously divided by a cubic pattern comprising superimposed cubes covering the entire environment.
  • This step of decomposing the environment into superimposed cubes, so that each point of the environment is included in a plurality of cubes follows, for example, the following steps:
  • the length of the sides of a cube is lm.
  • duplication of the new cube pattern and translation of the duplication of half a cubic length along the axis Oy of the reference of the environment We obtain twice as many cubes as in the previous step and four times more cubes than in the initial pattern.
  • any point of the environment not included in a face of a cube and not at the edge of the environment is in exactly eight cubes, and among these eight cubes there is always a cube, said centered cube, from which the point is the furthest apart from each of the faces of said cube, that is to say that it is more than a quarter length of edge of each face of the cube (ie 25cm for a cube of edge lm).
  • a list of cubes of the cube pattern is advantageously organized so that from a point whose coordinates are expressed in the reference of the environment, a simple mathematical formula makes it easy to find the centered cube corresponding to this point: cubes have an index linked to their position in the environment.
  • the method then comprises a step of determining, for each cube, polygons of the 3D mesh of the environment having a non-zero intersection with the cube.
  • the list of polygons is traversed to retrieve those whose intersection with the volume of the cube is non-zero, that is to say the polygons that are contained in the cube or that cut at the same time. minus one side of the cube.
  • the results of this step are stored for quick access by an embedded system. This method would apply similarly to the list of surfaces to define which surfaces have a non-nu- merous intersection with the cubes.
  • steps of decomposing the environment in superimposed cubes and determining, for each cube, the polygons of the 3D mesh of the environment having a non-zero intersection with the cube are steps that are not related to distance measurements or at the position of the mobile gear and that can be executed once for the environment. They can therefore be executed by an external computer, and only the results including the list of indexed cubes and the triangles associated with each indexed cube having an intersection with this cube are stored by the embedded system.
  • the method comprises, in step 18 of calculation, for each point of said cloud of points, of a norm between said point and a polygon of the mesh 3 D of the environment, a step of selecting one of the cubes, said centered cube, from which the point of the cloud of points is the most distant from each of its faces. Thanks to the preferential indexing of the cubes described above, the centered cube is determined quickly by the coordinates of the point. For example, the calculation for determining the index of the cube for a point P with coordinates (x p , y p , z p ) is:
  • the method then comprises a step of retrieving the list of polygons having an intersection with the centered cube, said close polygons. These polygons are quickly recovered from the centered cube, thanks to the previously described storage associating with each cube the polygons with which it presents a non-zero intersection.
  • the point is said isolated point and is removed from the list of points for the continuation of the step of evaluating a gap between the set of points and the 3D mesh of the environment .
  • the isolated points are grouped in a list of isolated points, allowing the detection of obstacles.
  • the method then comprises a step of calculating a norm between the point and each near polygon.
  • T (s, t) A + sB + tC
  • (s, t) e D ⁇ (s, t), te [0,1], s + t ⁇ 1 ⁇
  • the distance from the square of P to a point T (s, t) of the triangle is
  • the purpose of the algorithm is to find the pair (s, t) corresponding to the minimizing point Q.
  • the algorithm for quickly calculating the norm of a point to a triangle is defined as follows:
  • the candidate point is in this case the orthogonal projection of P on the plane defined by the triangle, but this point does not belong to the closed surface of the triangle.
  • the space of the plane defined by the triangle is then partitioned into several regions as represented with reference to FIG. 2, representing the triangle ABC and on a 2D reference (A, s, t).
  • the candidate point is in one of the regions 1 to 6, respectively numbered R1, R2, R3, R4, R5, R6, the region 0 (numbered R0) corresponding to case 2 described above.
  • Region 1 The contour lines of Q are ellipses centered on the candidate point. The minimizing point is thus located on] CB [if the gradient is zero on this domain, in which case the pair (s, t) minimizing is obtained, either on C or on B. The algorithm stops.
  • Region 2 The contour lines of Q are also ellipses, so the minimizing point is either on [CA] or on [CB]. Geometric considerations on the gradient from Q to C make it possible to determine if the minimizing point is on [CA] or [CB]. According to the same principle as region 1, the nullity or otherwise of the gradient on the segment makes it possible to obtain the minimizing pair (s, t). The algorithm stops.
  • Regions 3 and 5 The reasoning is similar to that of Region 1.
  • Regions 4 and 6 The reasoning is similar to that of Region 2.
  • the calculations can be further accelerated by the pre-calculation of a certain number of parameters on the triangles and stored in memory with the information of said triangles.
  • each polygon can be replaced with a set of triangles.
  • Step 18 of calculation then comprises a step of determining the polygon closest to the point among the near polygons, said closest polygon being the polygon whose standard between it and the point is the weakest, said norm being considered the standard between the point and the 3D mesh of the environment.
  • the method also calculates the vector error, in the form of three-dimensional vectors, between each point and the nearest polygon.
  • the vector error comprises three components along the three axes x, y, z of the reference of the environment.
  • step 20 of determining the relative position of the mobile machine in the environment reference the set of these standards between each point, representative of the difference between the set of points and the 3D mesh of the environment, are treated in such a way as to minimize this difference.
  • Each iteration of the algorithm uses a POS init estimate of the position (according to x, y and z) to calculate an estimate POS_calc of the position (according to x, y and z), and comprises the following steps:
  • POS_calc POS nit - ⁇ * (J T * * * / * r
  • the calculation can be made by fixing the position along the z axis to the known altitude value, thus improving the speed of calculation.
  • the correction to be made is in the positive direction, and the correction is at least equal to x min . This correction of x min can therefore be made directly to reach the corrected position more quickly.
  • the correction to be made is in the negative direction, and the correction is at least equal to x max .
  • This correction of x max can therefore be made directly to reach the corrected position more quickly.
  • the method also includes a step 22 of processing isolated points, said step of obstacle detection, wherein the isolated points are grouped together to form volumes representing obstacles.
  • the environment is decomposed into adjacent cubes of the boxel type, and the process goes through all the boxels to determine if it includes at least one isolated point: if it is the case, the boxel is considered as boxel d 'obstacle.
  • the close obstacle boxes are grouped together to form volumes for example by mathematical morphology operations such as two dilation stages followed by an erosion stage.
  • the boxels contained in these volumes are listed and recorded as obstacles, thus defining a position of the detected obstacles.
  • This recorded obstacle position information can aid navigation (obstacle avoidance) and allow tracking of obstacles over time.
  • the method is implemented at a predetermined frequency so as to follow the evolution of the position of the mobile machine according to the desired constraints (for example 50 Hz).
  • the mobile machine can use them to implement a method 24 navigation and guidance necessary for its movement.
  • the navigation method 24 comprises at least one moving step during which the position of the mobile machine and possible obstacles is determined, in particular regularly during the displacement.
  • the different steps of the process are implemented by different modules such as processors, microcontroller, calculators, etc.
  • a step can be implemented by a single dedicated module, or several steps can be implemented by the same module.
  • the invention is not limited to the embodiment described.
  • the invention can be applied to mobile rolling machines, in which case the calculations can be simplified by limiting the calculations to the x and y coordinates corresponding to a 2D displacement on the ground.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Astronomy & Astrophysics (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Transportation (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

L'invention concerne un procédé de détermination de la position relative d'un engin mobile par rapport à un environnement modélisé par un ensemble de surfaces géométriques formant une modélisation 3D selon un repère de l'environnement, comprenant une étape (10) de mesure d'une pluralité de distances de l'engin à l'environnement dans au moins une direction, de sorte à obtenir un ensemble de points définis dans un repère de l'engin mobile, une étape d'évaluation d'un écart entre ledit ensemble de points et le maillage 3D de l'environnement, et une étape (20) de détermination de la position relative de l'engin mobile dans le repère de l'environnement à partir dudit écart.

Description

PROCÉDÉ ET SYSTÈME DE DÉTERMINATION DE LA POSITION D'UN ENGIN MOBILE
1. Domaine technique de l'invention
L'invention concerne un procédé et un système de détermination de la position relative d'un engin mobile par rapport à un environnement. En particulier, l'invention concerne un procédé et un système de détermination de la position d'un drone (aérien, par exemple de type multi-rotor ou hélicoptère) ou d'un robot d'inspection de surfaces dans un environnement connu comme par exemple un hangar dans lequel se trouve l'objet dont la surface est à inspecter. 2. Arrière-plan technologique
Les engins mobiles tels que les drones ou les robots se déplaçant dans l'espace de façon autonome nécessitent de connaître en permanence leur position dans l'environnement dans lequel ils se déplacent.
Dans le cas d'un déplacement dans un environnement ouvert (en extérieur), le positionnement des engins mobiles est généralement effectué par géolocalisation, par exemple via le système GPS (Global Positioning System en anglais), qui permet d'obtenir une bonne précision.
Toutefois, le principal défaut des systèmes de géolocalisation est qu'ils ne fonctionnent pas en intérieur. Des solutions ont donc été cherchées pour permettre le positionnement d'engins mobiles en intérieur.
Par exemple, une solution proposée a été de partir d'une position connue de l'engin mobile et de déterminer la position de l'engin par mesure des déplacements effectués par l'engin à partir de cette position connue. Cette solution ne permet toutefois pas de détecter les erreurs ou imprécisions de déplacement au cours du temps, qui s'accumulent et entraînent par conséquent un positionnement erroné qui ne peut pas être corrigé. En outre, la solution utilise des centrales inertielles qui, bien qu'ayant une bonne précision permettant de minimiser ces erreurs, ont un coût élevé et un poids important (fréquemment supérieur à 1kg) incompatible avec une utilisation de drone aérien.
Alternativement, il a été proposé d'utiliser des systèmes de balises, posés à l'avance dans l'environnement, tels que des émetteurs-récepteurs radios. En équipant l'engin mobile d'un émetteur-récepteur, il est alors possible d'estimer sa position par des techniques de triangulations vis-à-vis des autres balises. Cette solution est toutefois coûteuse et est longue à mettre en place car elle nécessite de disposer les balises et de déterminer leurs positions précises (via un calibrage).
Une solution a été cherchée pour permettre un positionnement en intérieur palliant au moins certains de ces inconvénients.
3. Objectifs de l'invention
L'invention vise à pallier au moins certains des inconvénients des procédés et systèmes de positionnement connus.
En particulier, l'invention vise à fournir, dans au moins un mode de réalisation de l'invention, un procédé de positionnement permettant le positionnement d'un engin mobile en environnement intérieur.
L'invention vise aussi à fournir, dans au moins un mode de réalisation, un procédé de positionnement rapide, pouvant être exécuté sur des processeurs de faible puissance.
L'invention vise aussi à fournir, dans au moins un mode de réalisation, un procédé de positionnement précis.
L'invention vise aussi à fournir, dans au moins un mode de réalisation, un procédé de positionnement ne nécessitant pas de modifications de l'environnement dans lequel il se déplace.
L'invention vise aussi à fournir, dans au moins un mode de réalisation, un système de positionnement pouvant être embarqué.
4. Exposé de l'invention
Pour ce faire, l'invention concerne un procédé de détermination de la position relative d'un engin mobile par rapport à un environnement modélisé par un ensemble de surfaces géométriques formant une modélisation 3D selon un repère de l'environnement, comprenant :
une étape de mesure d'une pluralité de distances de l'engin à l'environnement dans au moins une direction, de sorte à obtenir un ensemble de points définis dans un repère de l'engin mobile, une étape d'évaluation d'un écart entre ledit ensemble de points et la modélisation 3D de l'environnement,
une étape de détermination de la position relative de l'engin mobile dans le repère de l'environnement à partir dudit écart.
Un procédé selon l'invention permet donc le positionnement d'un engin mobile dans un environnement totalement ou partiellement connu sans nécessiter la pose de balise. L'environnement désigne le volume dans lequel se déplace l'engin mobile, avec les éléments qui le composent : par exemple, un hangar dans lequel se trouve un aéronef dont les surfaces sont à inspecter. Dans le cadre d'inspection de surface d'éléments de grandes dimensions, les éléments inspectés sont connus et peuvent faire l'objet d'une modélisation en 3D, voire sont déjà modélisés pour d'autres applications, par des logiciels de dessin assisté par ordinateur (DAO).
Le procédé utilise en permanence les mesures de distances de l'engin avec l'environnement, et permet de déterminer sa position relative par rapport à l'environnement. Par exemple, un drone volant autour d'un aéronef pour son inspection saura sa position en permanence et pourra, s'il repère un défaut sur la surface de l'aéronef, déterminer la position de ce défaut par rapport à sa propre position et donc le situer sur l'aéronef.
Le procédé mis en œuvre est ainsi rapide et peu coûteux en ressources d'exécution : il peut être facilement embarqué sur l'engin mobile, disposant d'un processeur embarqué peu consommateur d'énergie et permettant un traitement temps réel. Une partie du procédé, notamment des étapes ne devant être exécutées qu'une fois et indépendantes de la position de l'engin mobile ou des distances mesurées (par exemple des étapes de prétraitement liées à la modélisation 3D), peuvent être exécutées hors de l'engin mobile, les résultats de ces étapes étant fournis au processeur embarqué pour améliorer la vitesse d'exécution des étapes traitées par celui-ci.
La rapidité d'exécution du procédé permet en outre son exécution de manière plus fréquente et assure ainsi un suivi rapide de la position de l'engin mobile : celui-ci peut alors se déplacer plus rapidement.
Même si le procédé est particulièrement avantageux en intérieur du fait de l'absence de géolocalisation, il peut aussi être utilisé en extérieur pour des applications nécessitant une précision accrue dans un environnement connu : par exemple, l'inspection d'un aéronef en extérieur, de la surface d'une éolienne ou encore d'un navire en cale sèche.
Avantageusement et selon l'invention, la modélisation 3D est un maillage 3D polygonal et les surfaces géométriques sont des polygones.
La modélisation de l'environnement 3D par un maillage 3D polygonal permet une modélisation simple et un traitement plus rapide des différentes étapes du procédé. De plus, toute modélisation 3D avec des surfaces géométriques plus complexes peut être approximée par un maillage 3D polygonal suivant des techniques bien connues de l'homme du métier.
Avantageusement et selon l'invention, l'étape de mesure d'une pluralité de distances est effectuée par au moins un télémètre laser à balayage.
Avantageusement et selon ce dernier aspect de l'invention, l'étape de mesure d'une pluralité de distances est effectuée par au moins deux télémètres laser à balayage configurés pour effectuer des balayages dans des plans sécants.
De préférence, chaque télémètre laser supplémentaire est configuré pour effectuer des balayages dans des plans sécants aux plans de balayage des autres télémètres.
Avantageusement et selon l'invention, l'étape d'évaluation d'un écart entre l'ensemble de points et la modélisation 3D de l'environnement comprend :
- une étape de conversion de l'ensemble de points dans le repère de l'engin mobile vers un nuage de points dans le repère de l'environnement à partir d'une estimation de la position et d'une attitude de l'engin mobile,
une étape de calcul, pour chaque point dudit nuage de points, d'une norme entre ledit point et une surface de la modélisation 3D de l'environnement. L'attitude de l'engin mobile correspond à l'orientation de l'engin dans l'espace, exprimée par des angles θ, φ et ψ d'Euler, connus de l'homme du métier.
Avantageusement, un procédé selon l'invention comprend, préalablement à ladite étape de calcul, pour chaque point dudit nuage de points, d'une norme entre ledit point et une surface de la modélisation 3D de l'environnement :
une étape de décomposition de l'environnement en cubes superposés, de manière à ce que chaque point de l'environnement soit compris dans une pluralité de cubes,
- une étape de détermination, pour chaque cube, des surfaces de la modélisation 3D de l'environnement ayant une intersection non nulle avec le cube,
et l'étape de calcul, pour chaque point dudit nuage de points, d'une norme entre ledit point et une surface de la modélisation 3D de l'environnement comprend :
- une étape de sélection d'un des cubes, dit cube centré, dans lequel se trouve le point du nuage de points et duquel le point du nuage de points est le plus écarté de chacune de ses faces,
une étape de récupération de la liste des surfaces ayant une intersection avec le cube centré, dites surfaces proches,
- une étape de calcul d'une norme entre le point et chaque surface proche,
une étape de détermination de la surface la plus proche du point parmi les surfaces proches, ladite surface la plus proche étant la surface dont la norme entre elle et le point est la plus faible, ladite norme étant considérée comme la norme entre le point et la modélisation 3D de l'environnement.
Avantageusement, l'étape de décomposition de l'environnement en cubes superposés, et l'étape de détermination, pour chaque cube, des surfaces de la modélisation 3D de l'environnement ayant une intersection non nulle avec le cube, peuvent être préalablement exécutées et le résultat de ces étapes sauvegardé dans une mémoire de l'engin mobile pour permettre un traitement plus rapide. En effet, ces étapes ne sont pas liées à la position de l'engin ni aux mesures de distances effectuées.
Selon cet aspect de l'invention, la décomposition de l'environnement en cubes et le calcul de la norme entre chaque point et les surfaces proches permet un calcul rapide et peu coûteux en ressources de la norme entre chaque point et la modélisation 3D de l'environnement, car seul un calcul des normes avec les surfaces proches est effectué, plutôt qu'avec toutes les surfaces.
L'écart du nuage de points avec la modélisation 3D est l'ensemble des normes entre chaque point du nuage de points avec la modélisation 3D, en particulier avec la surface de la modélisation 3D la plus proche de ce point.
Avantageusement et selon l'invention, les points dont la norme du point est supérieure à un seuil prédéterminé, dits points isolés, sont extraits du nuage de points, et le procédé comprend une étape de détection d'obstacle dans laquelle les points isolés proches sont regroupés pour former des volumes représentant des obstacles, et lesdits volumes sont enregistrés.
Selon cet aspect de l'invention, le procédé permet l'isolation des points correspondant à des obstacles qui ne sont pas inclus dans la modélisation 3D de l'environnement, leur traitement et leur prise en compte dans le positionnement de l'engin mobile, afin d'éviter que l'engin mobile entre en contact avec ces obstacles. Les volumes représentant les obstacles sont enregistrés et permettent d'être pris en compte dans la navigation et d'être suivis au fur et à mesure des déplacements de l'engin mobile.
Avantageusement, un procédé selon l'invention comprend une étape de suppression, du nuage de point, de points correspondant au sol ou au plafond de l'environnement.
Selon cet aspect de l'invention, le procédé permet de limiter le nombre de points à traiter en supprimant du nuage de points les points correspondant au sol ou au plafond de l'environnement qui sont peu utiles lorsque l'altitude de l'engin mobile ou une estimation de cette altitude est disponible : l'engin mobile sait que le sol et le plafond correspondent à des altitudes particulières constantes et ne nécessite pas de connaître les points formant le sol ou le plafond. L'altitude est connue soit par mesure directe, soit par estimation.
Le procédé est ainsi plus rapide du fait de la réduction du nombre de points à traiter.
Avantageusement, un procédé selon l'invention comprend une étape de suppression, du nuage de points, des points ambigus ou redondants.
Selon cet aspect de l'invention, le procédé permet de limiter le nombre de points à traiter en supprimant du nuage de points les points correspondant aux mesures de distances ambiguës ou redondantes. Les points ambigus sont les points correspondant à une mesure de points sur les bords d'une surface ou une mesure sur une surface présentant un angle d'incidence faible, qui peuvent être erronées. Les points redondants sont les points situés sur une surface dont le nuage de points comprend déjà suffisamment de points pour définir ladite surface.
Le procédé est ainsi plus rapide du fait de la réduction du nombre de points à traiter.
L'invention concerne également un procédé de navigation d'un engin mobile dans un environnement, comprenant au moins une étape de déplacement de l'engin mobile, caractérisé en ce qu'une position de l'engin mobile est déterminée, pendant l'étape de déplacement, par un procédé de détermination selon l'invention.
L'invention concerne également un procédé de navigation d'un engin mobile dans un environnement, comprenant au moins une étape de déplacement de l'engin mobile, caractérisé en ce qu'une position de l'engin mobile et des positions de volumes correspondant à des obstacles sont déterminées par un procédé de détermination selon l'invention, et en ce qu'il comprend au moins une étape d'évitement desdits volumes correspondant à des obstacles.
L'invention concerne également un système de détermination de la position relative d'un engin mobile par rapport à un environnement modélisé par une modélisation 3D selon un repère de l'environnement, embarqué dans ledit engin mobile et caractérisé en ce qu'il comprend :
des moyens de mesure d'une pluralité de distances de l'engin à l'environnement dans au moins une direction, de sorte à obtenir un ensemble de points définis dans un repère de l'engin mobile, des modules d'évaluation d'un écart entre ledit ensemble de points et la modélisation 3D de l'environnement,
des modules de détermination de la position relative de l'engin mobile dans le repère de l'environnement à partir dudit écart.
Les moyens de mesure sont par exemple des capteurs embarqués par le module tels qu'au moins un télémètre laser à balayage, de préférence deux télémètres laser à balayage configurés pour effectuer des balayages dans des plans sécants, une caméra avec mesure de profondeur (de type RGBD pour Red Green Blue Depth en anglais), un dispositif de stéréovision, un radar millimétrique, etc., ou une combinaison de ces capteurs.
Le module d'évaluation de l'écart et le module de détermination de la position relative de l'engin mobile sont embarqués dans l'engin mobile. Toutefois, certains calculs non liés aux distances mesurées ou à la position de l'engin mobile peuvent être effectués dans un ordinateur distinct, et fournis préalablement au système de détermination pour améliorer la vitesse de traitement des différents moyens qu'il comprend.
L'invention concerne également un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en œuvre du procédé de détermination selon l'invention.
Un tel produit programme d'ordinateur permet de déterminer la position d'un engin mobile dans lequel il est exécuté rapidement, en nécessitant peu de ressources processeur et ainsi avec une consommation énergétique faible.
L'invention concerne également un moyen de stockage lisible par ordinateur, totalement ou partiellement amovible, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en œuvre le procédé de détermination selon l'invention. Avantageusement, un système de détermination selon l'invention met en œuvre un procédé de détermination selon l'invention.
Avantageusement, un procédé de détermination selon l'invention est mis en œuvre par un système selon l'invention.
L'invention concerne également un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en œuvre du procédé de détermination selon l'invention.
L'invention concerne également un moyen de stockage lisible par ordinateur, totalement ou partiellement amovible, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en œuvre le procédé de détermination selon l'invention.
L'invention concerne également un procédé de détermination, un procédé de navigation, un système, un produit programme d'ordinateur et un moyen de stockage caractérisés en combinaison par tout ou partie des caractéristiques mentionnées ci- dessus ou ci-après.
5. Liste des figures
D'autres buts, caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante donnée à titre uniquement non limitatif et qui se réfère aux figures annexées dans lesquelles :
la figure 1 est une représentation schématique d'un procédé selon un mode de réalisation de l'invention,
la figure 2 est une représentation d'un polygone d'un maillage 3D de l'environnement.
6. Description détaillée d'un mode de réalisation de l'invention Les réalisations suivantes sont des exemples. Bien que la description se réfère à un ou plusieurs modes de réalisation, ceci ne signifie pas nécessairement que chaque référence concerne le même mode de réalisation, ou que les caractéristiques s'appliquent seulement à un seul mode de réalisation. De simples caractéristiques de différents modes de réalisation peuvent également être combinées pour fournir d'autres réalisations. Sur les figures, les échelles et les proportions ne sont pas strictement respectées et ce, à des fins d'illustration et de clarté.
La figure 1 représente schématiquement un procédé de détermination de la position d'un engin mobile par rapport à un environnement modélisé par un ensemble de surfaces géométriques formant une modélisation 3D selon un repère de l'environnement, selon un mode de réalisation de l'invention. Tout ou partie de ce procédé de détermination est mis en œuvre par un système de détermination embarqué dans un engin mobile, selon un mode de réalisation de l'invention. Le procédé est décrit avantageusement pour un engin mobile se déplaçant en trois dimensions, de type engin volant tel qu'un drone, par exemple de type hélicoptère ou multi-rotors.
Dans ce mode de réalisation, la modélisation 3D est un maillage 3D polygonal, c'est-à-dire que les surfaces géométriques formant la modélisation 3D sont des polygones. Toutefois, l'invention s'applique aussi à tout type de modélisation 3D, notamment des modélisations 3D avec des surfaces géométriques plus complexes (sphères, cylindres, ellipses & cônes notamment).
Le procédé de détermination comprend une première étape 10 de mesure d'une pluralité de distances de l'engin mobile à l'environnement dans au moins une direction, de sorte à obtenir un ensemble de points définis dans un repère de l'engin mobile, par des moyens de mesure d'une pluralité de distances de l'engin à l'environnement dans au moins une direction.
Ces moyens de mesure sont par exemple des capteurs tels qu'au moins un télémètre laser à balayage, de préférence deux télémètres laser à balayage dans des plans sécants, une caméra avec mesure de profondeur (de type RGBD pour Red Green Blue Depth en anglais), un dispositif de stéréovision, un radar millimétrique, etc., ou une combinaison de ces capteurs.
Les mesures de distances prennent la forme de paires (angle solide ; distance mesurée dans cet angle solide) selon un repère de l'engin mobile et par rapport à un point connu sur l'engin mobile, typiquement la position des moyens de mesures, connue par rapport au centre de gravité de l'engin mobile.
Un télémètre laser à balayage peut par exemple effectuer des mesures de distances avec un faible pas angulaire (par exemple 0.25°) et sur un large champ angulaire (270° ou plus), permettant d'obtenir un grand nombre de paires (angle solide ; distance). L'utilisation de plusieurs télémètres avec des orientations différentes et/ou des miroirs permet d'obtenir des mesures dans différents plans.
Selon d'autres modes de réalisation, des moyens d'acquisition de type caméra RGBD ou stéréovision, radar ou sonar permettent d'obtenir les mesures de distances sur plusieurs dimensions sans nécessiter de balayage.
Les paires (angle solide ; distance) forment un ensemble de points dans un repère de l'engin mobile : les paires correspondent aux coordonnées sphériques des points de l'ensemble de points dans un repère de l'engin mobile.
Le procédé comprend ensuite une étape 12 facultative de suppression, du nuage de points, de points correspondant au sol ou au plafond de l'environnement, par un module de suppression, du nuage de points, de points correspondant au sol ou au plafond de l'environnement.
L'extraction des distances mesurées correspondant au sol ou au plafond parmi l'ensemble des distances mesurées permet de réduire le nombre de distances prises en compte dans la suite du procédé de détermination.
Cette extraction nécessite de connaître l'attitude de l'engin, et dans un moyen de réalisation, son altitude, mesurée par un capteur spécifique, ou une estimation de l'altitude de l'engin mobile, déduite de la position précédente de l'engin mobile en tenant compte du déplacement approximatif depuis cette dernière position.
À partir de l'attitude, il est possible de déterminer dans un premier temps la hauteur de chaque point associé au couple (angle solide ; distance) dans le repère engin, c'est-à-dire d'obtenir une coordonnée selon un axe Oz vertical dirigé vers le haut dont l'origine est l'engin mobile. Ainsi, les points à coordonnées Z positives sont au-dessus de l'engin et les points à coordonnées Z négatives sont en dessous de l'engin.
Ensuite, pour chaque surface à supprimer (typiquement le sol et le plafond), on construit un intervalle [ZC-DZ, ZC+DZ] de centre ZC et d'amplitude 2DZ. La valeur DZ peut être une constante, par exemple 10cm, ou être fonction de la vitesse verticale VZ, par exemple DZ = DZmin + K * | VZ | où | VZ | désigne la valeur absolue de VZ et DZmin et K sont des coefficients.
Selon une premier mode de réalisation, ZC est calculé en utilisant l'altitude de l'engin :
- Pour le sol : ZC = - ZE avec ZE l'altitude de l'engin par rapport au sol
Pour le plafond : ZC = H - ZE avec H la hauteur du plafond
Selon un second mode de réalisation, ZC est calculé directement à partir des coordonnées Z des points :
Pour le sol : ZC = (minimum de toutes les coordonnées Z) + DZ
- Pour le plafond : ZC = (maximum de toutes les coordonnées Z) - DZ
Le premier mode de réalisation à l'avantage d'être plus rapide puisque l'intervalle est connu immédiatement sans avoir à calculer de minimum ou maximum sur tous les points et présente l'avantage de fonctionner même avec des « trous » dans le sol ou plafond.
Le second mode de réalisation à l'avantage de ne pas utiliser l'altitude de l'engin, et peut notamment fonctionner même si l'estimation de l'altitude ne fonctionne plus.
Un troisième mode de réalisation, le mode préféré, est donc d'utiliser le premier mode lorsqu'une bonne estimation de l'altitude est disponible et d'utiliser le second mode sinon.
Finalement, on extrait ensuite tous les points dont la coordonnée verticale est comprise dans cet intervalle.
On peut aussi utiliser ces points extraits pour effectuer une nouvelle estimation de l'altitude, en appliquant aux coordonnées verticales de ces points un algorithme de type RANSAC dans lequel on calcule la moyenne de toutes les coordonnées verticales, on retire un pourcentage prédéterminé (par exemple 10%) de points dont les coordonnées verticales sont les plus éloignées de la moyenne, et on recalcule la moyenne à partir des points restants : cette moyenne est l'estimation de la hauteur du sol pour les points correspondants au sol et l'estimation de la hauteur du plafond pour les points correspondants au plafond.
Le procédé comprend ensuite une étape 14 facultative de suppression, du nuage de points, des points ambigus ou redondants, par des moyens de suppression, du nuage de points, des points ambigus ou redondants.
Cette étape comprend plusieurs objectifs : un premier objectif est d'éviter la duplication de distances mesurées trop semblables, par exemple un ensemble de distances mesurées représentant un même plan. Il n'est pas nécessaire de conserver plusieurs centaines de points pour définir une surface plane.
Un deuxième objectif est de réduire le nombre de distances mesurées non fiables, notamment lorsque les moyens de mesures de distances sont des télémètres laser dont les mesures sont faites par balayage. Par exemple, pour des angles solides proches, la distance mesurée peut varier de façon importante lorsque l'environnement comprend des surfaces éloignées : les points intermédiaires entre ces distances éloignées peuvent être erronés. En outre, les mesures sur une surface avec laquelle le laser du télémètre présente un angle d'incidence faible (proche de 0°) peuvent être erronées.
Un troisième objectif est de s'assurer de la présence d'un nombre de points minimum dans toutes les directions, afin d'obtenir un résultat cohérent.
Pour répondre à ces objectifs, l'étape de suppression des distances comprend : - une étape d'attribution d'un score de non ambiguïté SI = fl(distance au bord le plus proche/distance mesurée), fl étant par exemple une fonction gaussienne renvoyant un nombre entre 0 (très proche du bord) ou 1 (loin de tout bord), une étape d'attribution d'un score de bonne incidence S2 = f2(angle d'incidence), f2 étant par exemple une fonction gaussienne renvoyant un nombre entre 0 (angle rasant de 0°) et 1 (angle orthogonal à 90°),
une étape de combinaison des scores pour former un score global S = SlxS2, compris entre 0 et 1,
une étape de décomposition des mesures par des secteurs angulaires d'une sphère, par exemple (360/30)2 = 144 secteurs angulaires de 30° par 30°, pour chaque secteur angulaire, et tant que le score global d'une mesure du secteur est supérieur à un seuil prédéterminé (par exemple 0,5), une étape de sélection de la mesure ayant le meilleur score global et de suppression des P points proches les plus proches de ce point (par exemple P=20). De préférence, les points très proches d'une mesure sélectionnée peuvent être utilisés pour consolider ladite mesure sélectionnée avant d'être supprimées. La consolidation est par exemple une moyenne ou une médiane sur 3 points.
On obtient ainsi une liste réduite de mesures de distances permettant d'accélérer le traitement des étapes suivantes tout en supprimant des données pouvant être erronées et en conservant un nombre suffisant de points dans chaque secteur angulaire.
Le procédé comprend ensuite une étape d'évaluation d'un écart entre ledit ensemble de points et le maillage 3D de l'environnement et une étape 20 de détermination de la position relative de l'engin mobile dans le repère de l'environnement à partir dudit écart. Ces étapes peuvent être exécutées plusieurs fois en boucle pour permettre d'affiner la position de l'engin mobile.
L'étape d'évaluation d'un écart entre ledit ensemble de points et le maillage 3D de l'environnement comprend une étape 16 de conversion de l'ensemble de points dans le repère de l'engin mobile vers un nuage de points dans le repère de l'environnement à partir d'une estimation de la position de l'engin mobile et une étape 18 de calcul, pour chaque point dudit nuage de points, d'une norme entre ledit point et un polygone du maillage 3D de l'environnement.
La conversion s'effectue par la détermination de la matrice de passage du repère de l'engin mobile au repère de l'environnement, basée sur une estimation de la position et de l'attitude de l'engin. Le repère de l'environnement est de préférence orthonormé de type Oxyz.
La position de l'engin peut être estimée de plusieurs façons différentes selon le mode de réalisation.
L'attitude de l'engin est généralement connue grâce à un système inertiel, tel qu'une centrale inertielle à bas coût.
Lorsque le procédé a déjà été mis en œuvre, on peut utiliser comme estimation de position la dernière position fournie par le procédé. Cette dernière position peut éventuellement être affinée si l'engin mobile connaît approximativement la vitesse et la direction de déplacement de l'engin, par exemple via un accéléromètre.
Lorsque le procédé n'a pas été mis en œuvre (typiquement au démarrage de l'engin mobile et au premier lancement du procédé), la méthode suivante sera utilisée pour déterminer la position initiale (x,y,z,psi) :
Dans le cas où la position et l'orientation initiales de l'engin mobile sont imposés (l'engin mobile est disposé à une position et orientation précise et connue), cette position et orientation sont fournies comme estimation de la position de l'engin et les étapes suivantes du procédé de détermination sont exécutées un nombre fixe de fois (par exemple 5), puis la cohérence de cette position est vérifiée : une position est dite cohérente si un indicateur de précision, représentative de la moyenne des normes de chaque point avec une surface de l'environnement (décrit ci-dessous) est inférieure à un seuil (par exemple l'écart moyen est de moins de 20cm) et le pourcentage de points dont la norme entre ledit point et l'environnement est inférieure à un écart maximal est supérieur à un seuil (par exemple plus de 75%). Si la position est cohérente, la position est utilisée comme estimation de la position, sinon la méthode ci-dessous, dite méthode de maillage est utilisée.
Si la position et l'orientation initiales sont libres, la seule connaissance que l'on ait est la hauteur de l'engin mobile par rapport au sol et donc son altitude, notée h. On sait donc que le drone se trouve dans le plan d'équation z=h. Ce plan (qui est en réalité un rectangle car l'environnement est de taille finie) est maillé avec un certain pas (par exemple lm) dont chaque point constitue une estimation de la position à utiliser dans les étapes suivantes du procédé. Si une estimation de l'orientation est disponible, par exemple en extérieur avec le champ magnétique, celle-ci est utilisé. Sinon, pour chaque position, l'orientation psi de l'engin mobile est aussi discrétisée avec un pas, par exemple 20°. Chaque couple (position, orientation) est fourni comme initialisation des étapes suivantes du procédé et ces étapes sont exécutés un nombre fixe de fois (par exemple 5). Dès lors qu'un couple satisfait le critère de cohérence définit précédemment il est utilisé comme estimation de la position initiale.
Certains environnements permettent une détermination approximative de la position initiale de l'engin mobile. Par exemple, dans le cas où l'environnement comprend un avion, on peut extraire la distance entre l'engin mobile et un fuselage de l'avion, et/ou la distance entre l'engin mobile et une aile de l'avion, ce qui permet de restreindre considérablement le nombre de positions à tester.
Si une précédente estimation de position est disponible, les positions proches seront testées en priorité.
De plus, la méthode de maillage permet de retrouver une position valide dans le cas où l'on aurait perdu le positionnement de l'engin mobile pendant son déplacement. Pour cela, la maille de recherche est constituée de points sur une sphère autour de la dernière position connue (par exemple, de rayon lm). . De même, les points les plus proches de la dernière position connue seront testés en priorité. L'algorithme se poursuit jusqu'à trouver une position validant le critère de cohérence. Si aucune n'est trouvée sur la sphère, le rayon de celle-ci est augmenté (par exemple, par pas de lm) et l'algorithme recommence. En outre, l'estimation de l'altitude peut provenir des résultats de l'étape facultative d'extraction des distances mesurées correspondant au sol de l'environnement, si elle a été exécutée.
Le maillage 3D de l'environnement est par exemple une représentation de l'environnement sous la forme d'un ensemble de polygones associés pour former une approximation des surfaces de l'environnement. Ces polygones sont par exemples des triangles ou des quadrangles.
L'objectif de l'étape 18 de calcul, pour chaque point dudit nuage de points, d'une norme entre ledit point et un polygone du maillage 3D de l'environnement est de déterminer, pour chaque point du nuage de points, la norme de ce point avec le polygone le plus proche, et d'en déduire une norme du nuage de points avec le maillage
3D, représentative de l'erreur de la position utilisée dans l'étape de conversion des distances mesurées vers un nuage de points dans le repère de l'environnement.
Pour ce faire, le maillage 3D de l'environnement (représenté par la référence 100) est préalablement divisé par un motif cubique comprenant des cubes superposés recouvrant l'ensemble de l'environnement. Cette étape de décomposition de l'environnement en cubes superposés, de manière à ce que chaque point de l'environnement soit compris dans une pluralité de cubes suit par exemple les étapes suivantes :
division de l'environnement en un motif de cubes de tailles égales adjacents et non superposés recouvrant l'ensemble de l'environnement. Par exemple, la longueur des côtés d'un cube est de lm.
duplication du motif de cube et translation de la duplication d'une demi-longueur de cube selon l'axe Ox du repère de l'environnement. On obtient alors deux fois plus de cubes que dans le motif initial.
duplication du nouveau motif de cube et translation de la duplication d'une demi- longueur de cube selon l'axe Oy du repère de l'environnement. On obtient alors deux fois plus de cubes qu'à l'étape précédente et quatre fois plus de cubes que dans le motif initial.
duplication du nouveau motif de cube et translation de la duplication d'une demi- longueur de cube selon l'axe Oz du repère de l'environnement. On obtient alors deux fois plus de cubes qu'à l'étape précédente et huit fois plus de cubes que dans le motif initial.
Grâce à ce motif de cubes, tout point de l'environnement non inclus dans une face d'un cube et non en bordure de l'environnement se trouve dans exactement huit cubes, et parmi ces huit cubes il y a toujours un cube, dit cube centré, duquel le point est le plus écarté de chacune des faces dudit cube, c'est-à-dire qu'il est à plus d'un quart de longueur d'arête de chaque face du cube (soit 25cm pour un cube de d'arête lm).
Une liste des cubes du motif de cubes est avantageusement organisée de sorte qu'à partir d'un point dont les coordonnées sont exprimées dans le repère de l'environnement, une formule mathématique simple permette de trouver facilement le cube centré correspondant à ce point : les cubes ont un index relié à leur position dans l'environnement. Le procédé comprend ensuite une étape de détermination, pour chaque cube, des polygones du maillage 3D de l'environnement ayant une intersection non nulle avec le cube. Dans cette étape, pour chaque cube, la liste des polygones est parcourue pour récupérer ceux dont l'intersection avec le volume du cube est non nulle, c'est-à-dire les polygones qui sont contenus dans le cube ou qu i coupent au moins une face du cube. Les résultats de cette étape sont stockés de façon à être accessibles rapidement par un système embarqué. Ce procédé s'appliquerait de façon analogue à la liste des surfaces pour définir quelles surfaces ont une intersection non nu lle avec les cubes.
Ces étapes de décomposition de l'environnement en cubes superposés et de détermination, pour chaque cube, des polygones du maillage 3D de l'environnement ayant une intersection non nulle avec le cube, sont des étapes qui ne sont pas liées aux mesures de distances ou à la position de l'engin mobile et qui peuvent être exécutées une fois pour l'environnement. Ils peuvent donc être exécutés par u n ordinateur externe, et seuls les résultats comprenant la liste des cubes indexés et les triangles associés à chaque cube indexé ayant une intersection avec ce cube sont stockés par le système embarqué.
Le procédé comprend, dans l'étape 18 de calcul, pour chaque point dudit nuage de points, d'une norme entre ledit point et un polygone du maillage 3 D de l'environnement, une étape de sélection d'un des cubes, dit cube centré, duquel le point du nuage de points est le plus écarté de chacune de ses faces. Grâce à l'indexation préférentielle des cubes décrite précédemment, le cube centré est déterminé rapidement grâce aux coordonnées du point. Par exemple, le calcul pour déterminer l'index du cube pour un point P de coordonnées (xp, yp, zp) est :
Index = Kx + K2* Floor(xp/L) + K3* Floor(yp/L) + K4*Floor(zp/L) avec Ki, K2, K3, K4 des nombres entiers fonction de la position du maillage et de sa taille, L la demi-longueur d'une arête d'un cu be et Floor() la fonction mathématique partie entière.
Le procédé comprend ensuite u ne étape de récupération de la liste des polygones ayant une intersection avec le cube centré, dits polygones proches. Ces polygones sont récupérés rapidement à partir du cube centré, grâce au stockage décrit précédemment associant à chaque cube les polygones avec lesquels il présente une intersection non nulle.
Si la liste ne comprend aucun polygone, le point est dit point isolé et est supprimé de la liste des points pour la suite de l'étape d'évaluation d'un écart entre l'ensemble de points et le maillage 3D de l'environnement. Les points isolés sont regroupés dans une liste de points isolés, permettant la détection d'obstacles.
Le procédé comprend ensuite une étape de calcul d'une norme entre le point et chaque polygone proche.
Par exemple, si les polygones sont des triangles, le calcul de chaque norme s'effectue de la façon suivante :
Soit :
P le point dont on veut calculer la norme entre lui et le triangle,
Un triangle T de sommets A, B et C paramétré par l'équation
T(s, t) = A + sB + tC où (s, t) e D = {(s, t), t e [0,1], s + t≤ 1} La distance au carré de P à un point T (s,t) du triangle est
Q (s, t) = \ T(s, t) - P \2
Le but de l'algorithme est de trouver la paire (s,t) correspondant au point minimisant Q. L'algorithme de calcul rapide de la norme d'un point à un triangle est défini comme suit :
1. Calcul de la paire (s,t) minimisant le gradient de Q, la paire (s, t) définissant un point dit point candidat.
2. Si le point candidat appartient au triangle (donc s et t appartiennent à D), la paire
(s,t) minimisante est trouvée, l'algorithme est terminé.
3. Si le point candidat n'est pas dans le triangle, alors le minimum de Q est réalisé sur les bords du triangle.
Le point candidat est dans ce cas le projeté orthogonal de P sur le plan défini par le triangle, mais ce point n'appartient pas à la surface fermée du triangle.
L'espace du plan défini par le triangle est alors partitionné en plusieurs régions comme représenté en référence à la figure 2, représentant le triangle ABC et sur un repère 2D (A, s, t). Ainsi, le point candidat se trouve dans une des régions 1 à 6, numérotées respectivement RI, R2, R3, R4, R5, R6, la région 0 (numérotée R0) correspondant au cas 2 décrit précédemment.
4. Détermination de la région correspondante selon les valeurs de s et t du point candidat :
De simples considérations géométriques donnent directement la région correspondante au point candidat. Exemple, si s <= 0 et t <= 0 alors le point candidat est dans la région 4.
5. Détermination du point, dit point minimisant sur les contours du triangle minimisant la distance au point candidat :
Région 1 : les courbes de niveau de Q sont des ellipses centrées sur le point candidat. Le point minimisant est donc situé soit sur ]CB[ si le gradient s'annule sur ce domaine, auquel cas la paire (s,t) minimisante est obtenue, soit sur C ou sur B. L'algorithme s'arrête.
Région 2 : les courbes de niveau de Q sont aussi des ellipses, donc le point minimisant est situé soit sur [CA], soit sur [CB] . Des considérations géométriques sur le gradient de Q en C permettent de déterminer si le point minimisant est sur [CA] ou [CB]. Selon le même principe que la région 1, la nullité ou non du gradient sur le segment permet l'obtention de la paire minimisante (s,t). L'algorithme s'arrête.
Régions 3 et 5 : le raisonnement est similaire à celui de la région 1.
Régions 4 et 6 : le raisonnement est similaire à celui de la région 2.
Il est enfin retourné la norme entre le point P et la paire minimisante (s,t) caractérisant le point minimisant situé sur le domaine D du triangle, qui correspond à la norme entre le point P et le triangle.
Les calculs peuvent être accélérés davantage par le pré-calcul d'un certain nombre de paramètres sur les triangles et stockés en mémoire avec les informations des dits triangles.
Pour d'autres formes de polygones, les calculs peuvent être effectués de façon analogue, en s'adaptant à la géométrie particulière des polygones. Alternativement, chaque polygone peut être remplacé un ensemble de triangles.
L'étape 18 de calcul comprend ensuite une étape de détermination du polygone le plus proche du point parmi les polygones proches, ledit polygone le plus proche étant le polygone dont la norme entre lui et le point est la plus faible, ladite norme étant considérée comme la norme entre le point et le maillage 3D de l'environnement.
La somme des normes de tous les points divisée par le nombre de points (hors points isolés), dite indicateur de précision, permet d'estimer la précision de l'estimation de la position.
Le procédé calcule aussi l'erreur vectorielle, sous forme de vecteurs selon trois dimensions, entre chaque point et le polygone le plus proche.
L'erreur vectorielle comprend trois composantes selon les trois axes x, y, z du repère de l'environnement. Dans l'étape 20 de détermination de la position relative de l'engin mobile dans le repère de l'environnement, l'ensemble de ces normes entre chaque point, représentatives de l'écart entre l'ensemble de point et le maillage 3D de l'environnement, sont traitées de façon à minimiser cet écart. On peut utiliser pour ce faire l'algorithme de descente de gradient Gauss-Newton. Chaque itération de l'algorithme utilise une estimation POS init de la position (selon x, y et z) pour calculer une estimation POS_calc de la position (selon x, y et z), et comprend les étapes suivantes :
création d'un vecteur r de taille N comportant, sur chaque coordonnée, la norme entre chaque point et le maillage 3D,
- création d'une matrice J de taille MxN, matrice jacobienne correspondant au gradient de r par rapport au vecteur POS init,
choix d'une valeur d'un réel β compris entre 0 et 1 (généralement 1 ou réduit si l'engin mobile ne se déplace pas ou peu),
application de la descente de Gauss-Newton (si JT*J est inversible) :
POS_calc = POS nit - β * (JT * * / * r
Si l'altitude de l'engin mobile est connue, le calcul peut être effectué en fixant la position selon l'axe z à la valeur d'altitude connue, améliorant ainsi la rapidité du calcul.
Lorsque la variation entre POS init et POS_calc est considérée comme suffisamment faible, l'algorithme est arrêté et la valeur POS_calc est considérée comme la position relative de l'engin mobile dans le repère de l'environnement. Sinon, l'algorithme reprend et la valeur de POS_calc est utilisée comme valeur de POSjnit pour la prochaine itération. Pour permettre une accélération du procédé, il est possible de prendre compte des erreurs vectorielles afin d'estimer, pour chaque composante x, y et z, la direction de correction entre la position estimée et une position corrigée.
Pour ce faire, on détermine la valeur minimale et la valeur maximale de chaque composante parmi l'ensemble des erreurs vectorielles, par exemple xmin et xmax pour la composante x :
si ces valeurs minimales et maximales sont de signes différents, aucune direction n'est déductible.
si ces deux valeurs sont positives, la correction à effectuer est dans la direction positive, et la correction est au minimum égale à xmin. On peut donc effectuer directement cette correction de xmin pour parvenir plus rapidement à la position corrigée.
si ces deux valeurs sont négatives, la correction à effectuer est dans la direction négative, et la correction est au minimum égale à xmax. On peut donc effectuer directement cette correction de xmax pour parvenir plus rapidement à la position corrigée.
Le même procédé est effectué pour les composantes y et z.
Le procédé comprend aussi une étape 22 de traitement des points isolés, dite étape de détection d'obstacle, dans laquelle les points isolés sont regroupés pour former des volumes représentant les obstacles.
Par exemple, l'environnement est décomposé en cubes adjacents de type boxels, et le procédé parcourt l'ensemble des boxels pour déterminer s'il comprend au moins un point isolé : si c'est le cas, le boxel est considéré comme boxel d'obstacle. Les boxels d'obstacles proches sont regroupés pour former des volumes par exemple par des opérations de morphologie mathématique telles que deux étapes de dilatation suivies d'une étape d'érosion. Les boxels contenus dans ces volumes sont répertoriés et enregistrés comme étant des obstacles, définissant ainsi une position des obstacles détectés. Ces informations de position d'obstacles enregistrées peuvent aider à la navigation (évitement des obstacles) et permettent le suivi des obstacles au cours du temps. Le procédé est mis en œuvre à une fréquence prédéterminée de façon à suivre l'évolution de la position de l'engin mobile selon les contraintes souhaitées (par exemple 50Hz).
Une fois la position déterminée et les éventuels obstacles déterminés, l'engin mobile peut utiliser ceux-ci pour mettre en œuvre un procédé 24 de navigation et de guidage nécessaires à son déplacement. Le procédé 24 de navigation comprend au moins une étape de déplacement pendant laquelle la position de l'engin mobile et des éventuels obstacles est déterminée, notamment de manière régulière au cours du déplacement.
Les différentes étapes du procédé sont mises en œuvres par différents modules tels que des processeurs, microcontrôleur, calculateurs, etc. Une étape peut être mise en œuvre par un seul module dédié, ou plusieurs étapes peuvent être mises en œuvre par un même module.
L'invention ne se limite pas au mode de réalisation décrit. En particulier, l'invention peut s'appliquer à des engins mobiles roulants, auquel cas les calculs peuvent être simplifiés en limitant les calculs aux coordonnées x et y correspondant à un déplacement 2D sur le sol.

Claims

REVENDICATIONS
1. Procédé de détermination de la position relative d'un engin mobile par rapport à un environnement modélisé par un ensemble de surfaces géométriques formant une modélisation 3D selon un repère de l'environnement, comprenant :
une étape (10) de mesure d'une pluralité de distances de l'engin à l'environnement dans au moins une direction, de sorte à obtenir un ensemble de points définis dans un repère de l'engin mobile, une étape d'évaluation d'un écart entre ledit ensemble de points et la modélisation 3D de l'environnement,
une étape (20) de détermination de la position relative de l'engin mobile dans le repère de l'environnement à partir dudit écart.
2. Procédé de détermination selon la revendication 1, caractérisé en ce que la modélisation 3D est un maillage 3D polygonal et en ce que les surfaces géométriques sont des polygones.
3. Procédé de détermination selon l'une des revendications 1 ou 2, caractérisé en ce que l'étape (10) de mesure d'une pluralité de distances est effectuée par au moins un télémètre laser à balayage.
4. Procédé de détermination selon la revendication 3, caractérisé en ce que l'étape (10) de mesure d'une pluralité de distances est effectuée par au moins deux télémètres laser à balayage configurés pour effectuer des balayages dans des plans sécants.
5. Procédé de détermination selon l'une des revendications 1 à 4, caractérisé en ce que l'étape d'évaluation d'un écart entre l'ensemble de points et la modélisation 3D de l'environnement comprend :
une étape (16) de conversion de l'ensemble de points dans le repère de l'engin mobile vers un nuage de points dans le repère de l'environnement à partir d'une estimation de la position et d'une attitude de l'engin mobile,
une étape (18) de calcul, pour chaque point dudit nuage de points, d'une norme entre ledit point et une surface de la modélisation 3D de l'environnement.
6. Procédé de détermination selon la revendication 5, caractérisé en ce qu'il comprend, préalablement à ladite étape (18) de calcul, pour chaque point dudit nuage de points, d'une norme entre ledit point et une surface de la modélisation 3D de l'environnement :
une étape de décomposition de l'environnement en cubes superposés, de manière à ce que chaque point de l'environnement soit compris dans une pluralité de cubes,
une étape de détermination, pour chaque cube, des surfaces de la modélisation 3D de l'environnement ayant une intersection non nulle avec le cube,
et en ce que l'étape (18) de calcul, pour chaque point dudit nuage de points, d'une norme entre ledit point et une surface de la modélisation 3D de l'environnement comprend :
une étape de sélection d'un des cubes, dit cube centré, dans lequel se trouve le point du nuage de point et duquel le point du nuage de point est le plus écarté de chacune de ses faces,
une étape de récupération de la liste des surfaces ayant une intersection avec le cube centré, dites surfaces proches,
une étape de calcul d'une norme entre le point et chaque surface proche,
une étape de détermination de la surface la plus proche du point parmi les surfaces proches, ladite surface la plus proche étant la surface dont la norme entre elle et le point est la plus faible, ladite norme étant considérée comme la norme entre le point et la modélisation 3D de l'environnement.
7. Procédé de détermination selon la revendication 6, caractérisé en ce que les points dont la norme du point est supérieure à un seuil prédéterminé, dits points isolés, sont extraits du nuage de points, et le procédé comprend une étape (22) de détection d'obstacle dans laquelle les points isolés proches sont regroupés pour former des volumes représentant des obstacles, et lesdits volumes sont enregistrés.
8. Procédé de détermination selon l'une des revendications 5 à 7, caractérisé en ce qu'il comprend une étape (12) de suppression, du nuage de points, de points correspondant au sol ou au plafond de l'environnement.
9. Procédé de détermination selon l'une des revendications 5 à 8, caractérisé en ce qu'il comprend une étape (14) de suppression, du nuage de points, des points ambigus ou redondants.
10. Procédé de navigation d'un engin mobile dans un environnement, comprenant au moins une étape de déplacement de l'engin mobile, caractérisé en ce qu'une position de l'engin mobile est déterminée, pendant l'étape de déplacement, par un procédé de détermination selon l'une des revendications 1 à 9.
11. Procédé de navigation d'un engin mobile dans un environnement, comprenant au moins une étape de déplacement de l'engin mobile, caractérisé en ce qu'une position de l'engin mobile et des positions de volumes correspondant à des obstacles sont déterminées par un procédé de détermination selon la revendication 7, et en ce qu'il comprend au moins une étape d'évitement desdits volumes correspondant à des obstacles.
12. Système de détermination de la position relative d'un engin mobile par rapport à un environnement modélisé par une modélisation 3D selon un repère de l'environnement, embarqué dans ledit engin mobile et caractérisé en ce qu'il comprend :
des moyens de mesure d'une pluralité de distances de l'engin à l'environnement dans au moins une direction, de sorte à obtenir un ensemble de points définis dans un repère de l'engin mobile, des modules d'évaluation d'un écart entre ledit ensemble de points et la modélisation 3D de l'environnement,
- des modules de détermination de la position relative de l'engin mobile dans le repère de l'environnement à partir dudit écart.
13. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en œuvre du procédé de détermination selon l'une des revendications 1 à 9.
14. Moyen de stockage lisible par ordinateur, totalement ou partiellement amovible, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en œuvre le procédé de détermination selon l'une des revendications 1 à 9.
PCT/FR2016/053546 2016-01-14 2016-12-19 Procédé et système de détermination de la position d'un engin mobile WO2017121936A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US16/070,502 US20210200246A1 (en) 2016-01-14 2016-12-19 Method and system for determining the position of a moving object
JP2018536268A JP2019504418A (ja) 2016-01-14 2016-12-19 移動物体の位置を判定するための方法およびシステム
EP16829265.4A EP3403117A1 (fr) 2016-01-14 2016-12-19 Procédé et système de détermination de la position d'un engin mobile
CN201680078920.2A CN108474836A (zh) 2016-01-14 2016-12-19 用于确定运动物体的位置的方法和系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1650303A FR3046848B1 (fr) 2016-01-14 2016-01-14 Procede et systeme de determination de la position d'un engin mobile
FR1650303 2016-01-14

Publications (1)

Publication Number Publication Date
WO2017121936A1 true WO2017121936A1 (fr) 2017-07-20

Family

ID=55411677

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2016/053546 WO2017121936A1 (fr) 2016-01-14 2016-12-19 Procédé et système de détermination de la position d'un engin mobile

Country Status (6)

Country Link
US (1) US20210200246A1 (fr)
EP (1) EP3403117A1 (fr)
JP (1) JP2019504418A (fr)
CN (1) CN108474836A (fr)
FR (1) FR3046848B1 (fr)
WO (1) WO2017121936A1 (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108931983A (zh) * 2018-09-07 2018-12-04 深圳市银星智能科技股份有限公司 地图构建方法及其机器人
WO2020021191A1 (fr) 2018-07-26 2020-01-30 Donecle Engin volant motorisé de mesure du relief de surfaces d'un objet prédéterminé et procédé de commande d'un tel engin
CN110954066A (zh) * 2019-12-19 2020-04-03 陕西长岭电子科技有限责任公司 基于超宽带定位的直升机吊挂摆动监测系统及方法
NL2025866B1 (en) * 2020-06-19 2022-02-17 Mainblades Holding B V Method of inspecting an aeroplane using an autonomous flying vehicle

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11348265B1 (en) * 2017-09-15 2022-05-31 Snap Inc. Computing a point cloud from stitched images
EP3977052A4 (fr) 2019-05-29 2023-04-26 Rizse, Inc. Systèmes d'inspection d'aviation basés sur uav et procédés associés
DE102019129600B4 (de) * 2019-11-04 2023-11-02 Evitado Technologies GmbH Portables Sensorsystem
JP7482808B2 (ja) 2021-02-05 2024-05-14 三菱ロジスネクスト株式会社 移動体の制御方法、移動体及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621807A (en) * 1993-06-21 1997-04-15 Dornier Gmbh Intelligent range image camera for object measurement
US20090167761A1 (en) * 2005-12-16 2009-07-02 Ihi Corporation Self-position identifying method and device, and three-dimensional shape measuring method and device
DE102009015648A1 (de) * 2009-03-31 2010-12-30 Lufthansa Technik Ag Anordnung zur Durchführung von Wartungsarbeiten an Flugzeugen
US8306273B1 (en) * 2009-12-28 2012-11-06 Ball Aerospace & Technologies Corp. Method and apparatus for LIDAR target identification and pose estimation
WO2015059241A1 (fr) * 2013-10-24 2015-04-30 Airbus Group Sas Robot collaboratif d'inspection visuelle d'un aéronef

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE532431C2 (sv) * 2008-05-30 2010-01-19 Atlas Copco Rock Drills Ab Metod och anordning för bestämning av en överensstämmelse mellan en representation av en omgivning och nämnda omgivning
JP5496008B2 (ja) * 2010-08-06 2014-05-21 キヤノン株式会社 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
US9310317B2 (en) * 2012-01-25 2016-04-12 The Boeing Company Automated system and method for tracking and detecting discrepancies on a target object
EP2881704B1 (fr) * 2013-12-04 2018-05-09 Hexagon Technology Center GmbH Appareils et procédés de mesure automatisée d'un objet et produit de programme d'ordinateur correspondant

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621807A (en) * 1993-06-21 1997-04-15 Dornier Gmbh Intelligent range image camera for object measurement
US20090167761A1 (en) * 2005-12-16 2009-07-02 Ihi Corporation Self-position identifying method and device, and three-dimensional shape measuring method and device
DE102009015648A1 (de) * 2009-03-31 2010-12-30 Lufthansa Technik Ag Anordnung zur Durchführung von Wartungsarbeiten an Flugzeugen
US8306273B1 (en) * 2009-12-28 2012-11-06 Ball Aerospace & Technologies Corp. Method and apparatus for LIDAR target identification and pose estimation
WO2015059241A1 (fr) * 2013-10-24 2015-04-30 Airbus Group Sas Robot collaboratif d'inspection visuelle d'un aéronef

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020021191A1 (fr) 2018-07-26 2020-01-30 Donecle Engin volant motorisé de mesure du relief de surfaces d'un objet prédéterminé et procédé de commande d'un tel engin
CN108931983A (zh) * 2018-09-07 2018-12-04 深圳市银星智能科技股份有限公司 地图构建方法及其机器人
US11435480B2 (en) 2018-09-07 2022-09-06 Shenzhen Silver Star Intelligent Technology Co., Ltd. Map construction method and robot
CN110954066A (zh) * 2019-12-19 2020-04-03 陕西长岭电子科技有限责任公司 基于超宽带定位的直升机吊挂摆动监测系统及方法
CN110954066B (zh) * 2019-12-19 2021-09-28 陕西长岭电子科技有限责任公司 基于超宽带定位的直升机吊挂摆动监测系统及方法
NL2025866B1 (en) * 2020-06-19 2022-02-17 Mainblades Holding B V Method of inspecting an aeroplane using an autonomous flying vehicle

Also Published As

Publication number Publication date
EP3403117A1 (fr) 2018-11-21
CN108474836A (zh) 2018-08-31
US20210200246A1 (en) 2021-07-01
JP2019504418A (ja) 2019-02-14
FR3046848A1 (fr) 2017-07-21
FR3046848B1 (fr) 2018-01-05

Similar Documents

Publication Publication Date Title
EP3403117A1 (fr) Procédé et système de détermination de la position d&#39;un engin mobile
CN108152831B (zh) 一种激光雷达障碍物识别方法及系统
Palomer et al. Inspection of an underwater structure using point‐cloud SLAM with an AUV and a laser scanner
Zhang et al. LOAM: Lidar odometry and mapping in real-time.
Galceran et al. Coverage path planning with real‐time replanning and surface reconstruction for inspection of three‐dimensional underwater structures using autonomous underwater vehicles
CN103575267B (zh) 使图像与用于导航的地形高程地图相关的方法
CN108931245A (zh) 移动机器人的局部自定位方法及设备
WO2018090250A1 (fr) Procédé de génération de nuage de points tridimensionnels, dispositif, système informatique et appareil mobile
Quist et al. Radar odometry on fixed-wing small unmanned aircraft
US10288425B2 (en) Generation of map data
VanMiddlesworth et al. Mapping 3D underwater environments with smoothed submaps
Javanmardi et al. Autonomous vehicle self-localization based on multilayer 2D vector map and multi-channel LiDAR
CN113108774B (zh) 水下机器人及水下机器人导航定位方法
AU2022259832A1 (en) Target detection in a point cloud
CN115790571A (zh) 基于异构无人系统相互观测的同时定位与地图构建方法
Li et al. UAV-based SLAM and 3D reconstruction system
Vaidis et al. Extrinsic calibration for highly accurate trajectories reconstruction
US11561553B1 (en) System and method of providing a multi-modal localization for an object
VanMiddlesworth Toward autonomous underwater mapping in partially structured 3D environments
KR102130687B1 (ko) 다중 센서 플랫폼 간 정보 융합을 위한 시스템
Wang et al. Robust real-time AUV self-localization based on stereo vision-inertia
Fallon et al. Simultaneous localization and mapping in marine environments
Palomer et al. Multi-beam terrain/object classification for underwater navigation correction
Hsu et al. New integrated navigation scheme for the level 4 autonomous vehicles in dense urban areas
de Haag et al. Flight test and simulation results of an integrated dual airborne laser scanner and inertial navigator for UAV applications

Legal Events

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

Ref document number: 16829265

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 260489

Country of ref document: IL

ENP Entry into the national phase

Ref document number: 2018536268

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2016829265

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2016829265

Country of ref document: EP

Effective date: 20180814