Skip to content
Snippets Groups Projects
Commit 379b955f authored by Alejandro Lopez Gestoso's avatar Alejandro Lopez Gestoso
Browse files

Updated documentation

parent e2ea015f
No related branches found
No related tags found
No related merge requests found
...@@ -8,22 +8,27 @@ There are two possible collision's triggers: ...@@ -8,22 +8,27 @@ There are two possible collision's triggers:
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). 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).
A ROS [laser scan range filter](http://wiki.ros.org/laser_filters) is performed on laser scans to remove the closest points (the object that performs the collision and is a mobile object) before the ICP.
This node also provides the following configuration files located in [config](./config) directory: This node also provides the following configuration files located in [config](./config) directory:
* **params.yaml**: Node default configuration file. * **params.yaml**: Node default configuration file.
* **bno055.yaml**: IMU default configuration file. * **bno055.yaml**: IMU default configuration file.
* **analyzers.yaml**: Diagnostics aggregator's default configuration file. * **analyzers.yaml**: Diagnostics aggregator's default configuration file.
* **collision_analyzers.yaml**: Diagnostics aggregator's for collisions configuration file.
* **dogs_analyzers.yaml**: Diagnostics aggregator's for all the system configuration file.
* **range_filter.yaml**: To configure laser scan range filter.
It also provides a [default bno055 calibration file](./calibration/bno055.cal). It also provides a [default bno055 calibration file](./calibration/bno055.cal).
# ROS Interface # ROS Interface
### Topic publishers ### Topic publishers
- ~**relocalization** (iri_collision_manager/relocalization.msg) - ~**relocalization** (iri_collision_manager/relocalization.msg): Topic to publish the ICP relocalization info.
- ~**collisions** (iri_collision_manager/collision.msg) - ~**collisions** (iri_collision_manager/collision.msg): Topic to publish Collision info.
- ~**debug_rear_after_icp_scan** (sensor_msgs/LaserScan.msg) - ~**debug_rear_after_icp_scan** (sensor_msgs/LaserScan.msg): Debug topic to visualize rear laser after ICP:
- ~**debug_front_after_icp_scan** (sensor_msgs/LaserScan.msg) - ~**debug_front_after_icp_scan** (sensor_msgs/LaserScan.msg): Debug topic to visualize front laser after ICP:
- /**tf** (tf/tfMessage) - /**tf** (tf/tfMessage)
- ~**debug_rear_icp_pose** (geometry_msgs/PoseWithCovariance.msg) - ~**debug_rear_icp_pose** (geometry_msgs/PoseWithCovariance.msg): Debug topic to visualize robot's pose after rear ICP:
- ~**debug_front_icp_pose** (geometry_msgs/PoseWithCovariance.msg) - ~**debug_front_icp_pose** (geometry_msgs/PoseWithCovariance.msg): Debug topic to visualize robot's pose after front ICP:
- ~**debug_rear_icp_last_scan** (sensor_msgs/LaserScan.msg): Debug topic to visulize rear ICP matching laser scan. - ~**debug_rear_icp_last_scan** (sensor_msgs/LaserScan.msg): Debug topic to visulize rear ICP matching laser scan.
- ~**debug_rear_icp_ref_scan** (sensor_msgs/LaserScan.msg): Debug topic to visulize rear ICP reference laser scan. - ~**debug_rear_icp_ref_scan** (sensor_msgs/LaserScan.msg): Debug topic to visulize rear ICP reference laser scan.
- ~**debug_front_icp_last_scan** (sensor_msgs/LaserScan.msg): Debug topic to visulize front ICP matching laser scan. - ~**debug_front_icp_last_scan** (sensor_msgs/LaserScan.msg): Debug topic to visulize front ICP matching laser scan.
...@@ -44,7 +49,7 @@ It also provides a [default bno055 calibration file](./calibration/bno055.cal). ...@@ -44,7 +49,7 @@ It also provides a [default bno055 calibration file](./calibration/bno055.cal).
- ~**rate** (Double; default: 10.0; min: 0.1; max: 1000): The main node thread loop rate in Hz. - ~**rate** (Double; default: 10.0; min: 0.1; max: 1000): The main node thread loop rate in Hz.
- ~**debug** (Boolean; default: False): Boolean to publish debug information. - ~**debug** (Boolean; default: False): Boolean to publish debug information.
- ~**fixed_frame** (String; default: map): Fixed frame id. - ~**fixed_frame** (String; default: map): Fixed frame id.
- ~**fixed_frame** (String; default: base_link): Base link frame id. - ~**base_link_frame** (String; default: base_link): Base link frame id.
- ~**tf_timeout** (Double; default: 0.2; min: 0.1; max: 2.0): Timeout to find a transform. - ~**tf_timeout** (Double; default: 0.2; min: 0.1; max: 2.0): Timeout to find a transform.
- ~**err_msg_rate** (Double; default: 0.5; min: 0.1; max: 1.0): Rate to publish error messages. - ~**err_msg_rate** (Double; default: 0.5; min: 0.1; max: 1.0): Rate to publish error messages.
- ~**calculate_ang_vel** (Boolean; default: False): Flag to calculate robot angular vel from odometry. - ~**calculate_ang_vel** (Boolean; default: False): Flag to calculate robot angular vel from odometry.
...@@ -54,9 +59,11 @@ It also provides a [default bno055 calibration file](./calibration/bno055.cal). ...@@ -54,9 +59,11 @@ It also provides a [default bno055 calibration file](./calibration/bno055.cal).
- ~**collision_timeout** (Double; default: 4.0; min: 1.0; max: 10.0): Timeout to detect an end of collision. - ~**collision_timeout** (Double; default: 4.0; min: 1.0; max: 10.0): Timeout to detect an end of collision.
- ~**collision_acc_transition_counter_en** (Boolean; default: False): Enable the collision counter for accelerometer detections. - ~**collision_acc_transition_counter_en** (Boolean; default: False): Enable the collision counter for accelerometer detections.
- ~**collision_acc_th** (Double; default: 9.8; min: 0.1; max: 160.0): Acceleration threshold to detect a collision. - ~**collision_acc_th** (Double; default: 9.8; min: 0.1; max: 160.0): Acceleration threshold to detect a collision.
- ~**collision_acc_th_end** (Double; default: 9.8; min: 0.1; max: 160.0): Acceleration threshold to detect an end of collision.
- ~**collision_acc_counter_limit** (Integer; default: 6; min: 1; max: 30): Number of low acc imu meassures to detect an end of collision. - ~**collision_acc_counter_limit** (Integer; default: 6; min: 1; max: 30): Number of low acc imu meassures to detect an end of collision.
- ~**collision_ang_vel_transition_counter_en** (Boolean; default: False): Enable the collision counter for angular velocity detections. - ~**collision_ang_vel_transition_counter_en** (Boolean; default: False): Enable the collision counter for angular velocity detections.
- ~**collision_ang_vel_th** (Double; default: 0.3; min: 0.1; max: 1.0): Angular velocity threshold to detect a collision. - ~**collision_ang_vel_th** (Double; default: 0.3; min: 0.1; max: 1.0): Angular velocity threshold to detect a collision.
- ~**collision_ang_vel_th_end** (Double; default: 0.3; min: 0.1; max: 1.0): Angular velocity threshold to detect an end of collision.
- ~**collision_ang_vel_counter_limit** (Integer; default: 6; min: 1; max: 30): Number of low acc imu meassures to detect an end of collision. - ~**collision_ang_vel_counter_limit** (Integer; default: 6; min: 1; max: 30): Number of low acc imu meassures to detect an end of collision.
- ~**odom_trans_th** (Double; default: 0.1; min: 0.01; max: 0.5): Max translational difference between wheels and ICP odometries. - ~**odom_trans_th** (Double; default: 0.1; min: 0.01; max: 0.5): Max translational difference between wheels and ICP odometries.
- ~**odom_angular_th** (Double; default: 0.154¡; min: 0.01; max: 0.7): Max angular difference between wheels and ICP odometries in rad. - ~**odom_angular_th** (Double; default: 0.154¡; min: 0.01; max: 0.7): Max angular difference between wheels and ICP odometries in rad.
...@@ -119,7 +126,7 @@ It also provides a [default bno055 calibration file](./calibration/bno055.cal). ...@@ -119,7 +126,7 @@ It also provides a [default bno055 calibration file](./calibration/bno055.cal).
sudo ldconfig sudo ldconfig
``` ```
At this point we will have installed all the c++ libraries. /etc/ must have the following lines: At this point we will have installed all the c++ libraries. */etc/ld.so.conf.d/iri.conf* must have the following lines:
``` ```
/usr/local/lib/iri/iriutils /usr/local/lib/iri/iriutils
/usr/local/lib/iri/comm /usr/local/lib/iri/comm
...@@ -174,6 +181,7 @@ This node provides the following launch files: ...@@ -174,6 +181,7 @@ This node provides the following launch files:
- *odom_topic*: Odometry input data topic name to be remaped. - *odom_topic*: Odometry input data topic name to be remaped.
- *front_laser_topic*: Front laser input data topic name to be remaped. - *front_laser_topic*: Front laser input data topic name to be remaped.
- *rear_laser_topic*: Rear laser input data topic name to be remaped. - *rear_laser_topic*: Rear laser input data topic name to be remaped.
- *relocalization_topic_name*: relocalization output topic name to be remaped.
- *icp_service_name*: Laser_scan ICP service to be remaped. - *icp_service_name*: Laser_scan ICP service to be remaped.
- *diagnostics*: Flag to launch diagnostics agregator. - *diagnostics*: Flag to launch diagnostics agregator.
- *output*: Ros node launch output's parameter. - *output*: Ros node launch output's parameter.
...@@ -188,7 +196,7 @@ This node provides the following launch files: ...@@ -188,7 +196,7 @@ This node provides the following launch files:
- *diagnostics*: Flag to launch diagnostics agregator. - *diagnostics*: Flag to launch diagnostics agregator.
- *sim_time*: Boolean to set */use_sim_time* parameter. - *sim_time*: Boolean to set */use_sim_time* parameter.
- **collisions.launch**: General launch file with IMU driver, IMU bias filter, laser_scan ICP and collision managment. It has the following arguments: - **collisions.launch**: General launch file with IMU driver, IMU bias filter,laser scan range filters, laser_scan ICP and collision managment. It has the following arguments:
- *imu_config_file*: IMU driver node configuration yaml file. - *imu_config_file*: IMU driver node configuration yaml file.
- *imu_calibration_file*: IMU calibration file (not used for raw data mode). - *imu_calibration_file*: IMU calibration file (not used for raw data mode).
- *bias_filter_config_file*: IMU bias filter configuration yaml file. - *bias_filter_config_file*: IMU bias filter configuration yaml file.
...@@ -199,8 +207,12 @@ This node provides the following launch files: ...@@ -199,8 +207,12 @@ This node provides the following launch files:
- *icp_config_file*: Laser_scan ICP configuration yaml file. - *icp_config_file*: Laser_scan ICP configuration yaml file.
- *icp_service_name*: Laser_scan ICP service to be remaped. - *icp_service_name*: Laser_scan ICP service to be remaped.
- *collision_config_file*: Collision managment node configuration yaml file. - *collision_config_file*: Collision managment node configuration yaml file.
- *relocalization_topic_name*: relocalization output topic name to be remaped.
- *filter_config_file*: Laser Scan Range Filter configuration yaml file.
- *front_laser_topic*: Front laser input data topic name to be remaped. - *front_laser_topic*: Front laser input data topic name to be remaped.
- *front_laser_topic_filtered*: Filtered front laser output data topic name to be remaped.
- *rear_laser_topic*: Rear laser input data topic name to be remaped. - *rear_laser_topic*: Rear laser input data topic name to be remaped.
- *rear_laser_topic_filtered*: Filtered rear laser output data topic name to be remaped.
- *output*: Ros node launch output's parameter. - *output*: Ros node launch output's parameter.
- *launch_prefix*: Ros node launch launch-prefix's parameter. - *launch_prefix*: Ros node launch launch-prefix's parameter.
- *dr*: Boolean to launch rqt_reconfigure. - *dr*: Boolean to launch rqt_reconfigure.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment