Systems, and methods for real time calibration of multiple range sensors on a robot
AssigneeBrain Corporation
InventorSahil Dhayalkar
Life of this patent
Estimating the term…
Abstract
Systems and methods for systems and methods for real time calibration of multiple range sensors on a robot are disclosed herein. According to at least one non-limiting exemplary embodiment, methods for self-calibration are used to independently correct rotational errors in a pose of a sensor. In some instances, the self-calibration may further yield errors along at least one translational axis. According to at least one non-limiting exemplary embodiment, methods for cross-calibration are used to correct translational errors and to ensure all sensors on a robot agree on perceived locations of objects.
Claims17
A method for calibrating sensors on a robot, comprising:
- receiving a point cloud from a first sensor on the robot, wherein the point cloud comprises an aggregate of a sequence of scans captured from the first sensor during navigation of the robot through an environment, the scans each comprise a plurality of points generated from a respective plurality of range measurements at a location of a sensor origin point of the first sensor;
- rotating the sensor origin point of each scan to minimize distance between their respective nearest neighboring points of subsequent or prior scans in the sequence of scans, wherein the robot moves during acquisition of the sequence of scans, wherein the rotation that minimizes the distance corresponds to a rotational transform, the rotational transform comprising a self-calibration;
- and
- applying the rotational transform to (i) data from the first sensor, and (ii) the sensor origin point for each scan using the rotational transform;
- cross-calibrating the first sensor by aligning the point cloud from the first sensor to a second point cloud from a second sensor on the robot, the second point cloud comprising an aggregate of sequential scans from the second sensor during navigation of the robot, each scan of the second sensor comprising a plurality of points generated from respective range measurements at locations of a sensor origin of the second sensor, wherein the aligning yields a second transform comprising a translation and rotation;
- and
- applying the second transform to (i) data from the first sensor, and (ii) the sensor origin point of the first sensor for each scan.
A robotic system for calibrating plurality of sensors on a robot, comprising:
- a plurality of sensors coupled to the robotic system;
- a memory comprising computer readable instructions stored thereon;
- and
- at least one controller configured to execute the computer readable instructions to:
- receive a point cloud from a first sensor on the robotic system, wherein the point cloud comprises an aggregate of a sequence of scans captured from the first sensor during navigation of the robot through an environment, the scans each comprise a plurality of points generated from a respective plurality of range measurements at a location of a sensor origin point of the first sensor;
- rotating the sensor origin point of each scan to minimize distance between their respective nearest neighboring points of subsequent or prior scans in the sequence of scans, wherein the robot moves during acquisition of the sequence of scans, wherein the rotation that minimizes the distance corresponds to a rotational transform, the rotational transform comprising a self calibration;
- apply the rotational transform to (i) data from the first sensor, and (ii) the sensor origin point for each scan using the rotational transform;
- cross-calibrate the first sensor by aligning the point cloud from the first sensor to a second point cloud from a second sensor on the robotic system, the second point cloud comprising an aggregate of sequential scans from the second sensor during navigation of the robot, each scan of the second sensor comprising a plurality of points generated from respective range measurements at locations of a sensor origin of the second sensor, wherein the aligning yields a second transform comprising a translation and rotation;
- and
- apply the second transform to (i) data from the first sensor, and (ii) the sensor origin point of the first sensor for each scan.
A non-transitory computer readable storage medium comprising a plurality of computer readable instructions stored thereon which, when executed by at least one controller of a robot, cause the robot to:
- receive a point cloud from a first sensor on the robot, wherein the point cloud comprises an aggregate of a sequence of scans captured from the first sensor during navigation of the robot through an environment, the scans each comprise a plurality of points generated from a respective plurality of range measurements at a location of a sensor origin point of the first sensor;
- rotate the sensor origin point of each scan to minimize distance between their respective nearest neighboring points of subsequent or prior scans in the sequence of scans, wherein the robot moves during acquisition of the sequence of scans, wherein the rotation that minimizes the distance corresponds to a rotational transform, the rotational transform comprising a self-calibration;
- and
- apply the rotational transform to (i) data from the first sensor, and (ii) the sensor origin point for each scan using the rotational transform;
- cross-calibrate the first sensor by aligning the point cloud from the first sensor to a second point cloud from a second sensor on the robot, the second point cloud comprising an aggregate of sequential scans from the second sensor during navigation of the robot, each scan of the second sensor comprising a plurality of points generated from respective range measurements at locations of a sensor origin of the second sensor, wherein the aligning yields a second transform comprising a translation and rotation;
- and
- apply the second transform to (i) data from the first sensor, and (ii) the sensor origin point of the first sensor for each scan.
A robotic system for calibrating sensors, comprising:
- at least two sensors coupled to the robotic system on a robot;
- a memory comprising computer readable instructions stored thereon;
- and
- at least one controller configured to execute the computer readable instructions to:
- receive a first point cloud from a first sensor on the robot of the at least two sensors, wherein the first point cloud comprises an aggregate of a sequence of scans captured from the first sensor during navigation of the robot through an environment, the scans each comprise a plurality of points generated from a respective plurality of range measurements at a location of a sensor origin point of the first sensor;
- rotate the sensor origin point of each scan to minimize distance between their respective nearest neighboring points of subsequent or prior scans in the sequence of scans, wherein the robot moves during acquisition of the sequence of scans, wherein the rotation that minimizes the distance corresponds to a first rotational transform, the first rotational transform comprising a self-calibration;
- apply the first rotational transform to (i) data from the first sensor, and (ii) the sensor origin point;
- receive a second point cloud from a second sensor on the robot of the at least two sensors, wherein the second point cloud comprises an aggregate of a sequence of scans captured from the second sensor during navigation of the robot, each scan of the second sensor comprise a plurality of points generated from respective range measurements at locations of a sensor origin point of the second sensor;
- rotate the sensor origin point of each scan of the second sensor to minimize distance between their respective nearest neighboring points of subsequent or prior scans in the sequence of scans, wherein the robot moves during acquisition of the sequence of scans, wherein the rotation that minimizes the distance corresponds to a second rotational transform, the second rotational transform comprising a self-calibration;
- apply the second rotational transform to (i) data from the second sensor, and (ii) the sensor origin point for each scan of the second sensor;
- calculate cross-sensor energy based on a cumulative distance between nearest neighboring points of the first point cloud and points of the second point cloud which are within a threshold distance to each other;
- cross-calibrate the first sensor by aligning the point cloud from the first sensor to the second point cloud from the second sensor on the robot via minimizing the cross-sensor energy, the first and second point cloud comprising an aggregate of sequential scans from the first and second sensor with first and second rotational transforms applied thereto respectively, the alignment yields a third transform comprising a translation and rotation;
- and
- apply the third transform to (i) data from the first sensor, and (ii) the sensor origin point of the first sensor for each scan.
Dependencies are inferred from the claim text.