A method for detecting a collision between a robot composed of a plurality of bodies linked together by at least one articulation and the environment of the robot, said method being executed by a system for detecting a collision comprising a processor, a control member, and a physical interface, the method comprising the steps of:
- moving at least one articulation of the robot by manipulating, via a motor of the robot, a torque applied to the at least one articulation of the robot,
- receiving, from a measurement device of the control member, at least a measure of a variable characteristic of the state of the robot among a position, a velocity or an acceleration of the at least one articulation of the robot,
- executing, with the processor, a computer program stored on a non-transitory computer readable medium, the computer program stored on the non-transitory computer readable medium including instructions that when executed by the processor cause the processor to automatically perform the steps of:
- generating, from a dynamic model of the robot, a signal representative of the collisions between the robot and the environment of the robot, said signal being called a residual r and comprising as many components as articulations of the robot,
- adaptive high-pass filtering of the residual r so as to render the residual r independent of parametric or non-parametric uncertainties related to low-frequency phenomena,
- determining recursively adaptive thresholds T composed of at least one first dynamic term TΔ1 dependent on the parametric uncertainties between said model and the real behavior of the robot, said parametric uncertainties being related to a first variable e1 characteristic of the state of said robot from among the following variables:
- the position, the velocity or the acceleration of the at least one articulation of the robot, or a linear or nonlinear function of one of these variables or of a combination of these variables, wherein determining recursively an adaptive threshold T of the adaptive thresholds T at a given instant is based upon a previously determined adaptive threshold of the adaptive thresholds T at an instant previous to the given instant, so that the adaptive threshold T is dependent on said parametric uncertainties between said model and the real behavior of the robot,
- comparing the filtered residual with the adaptive threshold T so as to deduce therefrom the existence or otherwise of the collision,
- deciding, as a result of the comparison of the filtered residual and the adaptive threshold T, if a collision between the robot and the environment of the robot occurs,
- providing the decision to the interface, and
- utilizing the decision provided to the interface, wherein
- the adaptive high-pass filtering is implemented via a recursive least squares algorithm and comprises:
- estimating, in a recursive manner, the coefficients of the transfer function of the high-pass filter G0−1, and
- filtering the residual r with the estimated high-pass filter.