diff --git a/README.md b/README.md index eca193b717278ff7d7283234e9b58117433338a0..8c95a302fae55736eac431305a92f1423de350b1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,12 @@ ## Description -This node provides a system to detect and manage collisions using a [bno055 IMU](https://learn.adafruit.com/adafruit-bno055-absolute-orientation-sensor) connected with an [USB to TTL serial cable](https://www.mouser.es/ProductDetail/Adafruit/954?qs=GURawfaeGuBg0XxCeRWeUA==). +This node provides a system to detect and manage collisions using a [bno055 IMU](https://learn.adafruit.com/adafruit-bno055-absolute-orientation-sensor) connected with an [USB to TTL serial cable](https://www.mouser.es/ProductDetail/Adafruit/954?qs=GURawfaeGuBg0XxCeRWeUA==). + +There are two possible collision's triggers: + * **Acceleration trigger:** When an acceleration is bigger than *collision_acc_th*. + * **Angular velocity trigger:** When the difference between IMU's angular velocity readings and the one calculated with the odometry is bigger than *collision_ang_vel_th*. + +When a collision detection is triggered, an ICP for each laser is performed. When an ICP has been succesful (meaning that the points used for the calculation are more than *icp_min_points* and the error per point is lees than *icp_max_err_by_points*) its odometry is compared with the wheel odometry. If the difference between both is big enough (meaning that is bigger than *odom_trans_th* or *odom_angular_th*), is considered as a collision. The node that performs that ICP is [iri_laser_scan_icp](https://gitlab.iri.upc.edu/mobile_robotics/dogs_project/iri_laser_scan_icp). This node also provides the following configuration files located in [config](./config) directory: * **params.yaml**: Node default configuration file.