diff --git a/README.md b/README.md index 9d7ed602bd83cad237732133f7dab2e933e1b959..b963fc7fdcda64bce57c02ed561795dfb7c07d0d 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,8 @@ This node provides a system to detect and manage collisions using a [bno055 IMU] This node also provides the following configuration files located in [config](./config) directory: * **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. It also provides a [default bno055 calibration file](./calibration/bno055.cal). @@ -35,20 +36,28 @@ It also provides a [default bno055 calibration file](./calibration/bno055.cal). ##### Generals - ~**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. -- ~**fixed_frame** (String; default: base_link): Fixed frame id. +- ~**fixed_frame** (String; default: map): Fixed frame id. +- ~**fixed_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. - ~**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. +- ~**watchdog_t** (Double; default: 1.0; min: 0.1; max: 10.0): Maximum time between subscribers msgs. ##### Collision detection - ~**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. -- ~**collision_acc_th** (Double; default: 9.8; min: 0.1; max: 160.0): Threshold to detect a collision. +- ~**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_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_th** (Double; default: 0.3; min: 0.1; max: 1.0): Angular velocity threshold to detect a 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_angular_th** (Double; default: 0.154¡; min: 0.01; max: 0.7): Max angular difference between wheels and ICP odometries in rad. ##### ICP data - ~**front_laser_en** (Boolean; default: True): Enable front laser for ICP. - ~**rear_laser_en** (Boolean; default: True): Enable rear laser for ICP. -- ~**scan_buffer_size** (Integer; default: 3; min: 1; max: 10): Number of laser_scan buffered for the ICP. +- ~**buffer_size** (Integer; default: 3; min: 1; max: 10): Number of laser_scan buffered for the ICP. - ~**scan_diff_t_from_collision** (Double; default: 0.0; min: 0.0; max: 0.5): Time to subtract from collision time stamp to ensure a clean scan. - ~**icp_min_points** (Integer; default: 300; min: 0; max: 2000): Minimum ICP points thershold. - ~**icp_max_err_by_points** (Double; default: 0.1; min: 0.0; max: 10.0): Maximum ICP average error per point. @@ -124,6 +133,8 @@ It also provides a [default bno055 calibration file](./calibration/bno055.cal). * **iri_laser_scan_icp**: Move to your active workspace, clone [this repository](https://gitlab.iri.upc.edu/mobile_robotics/dogs_project/iri_laser_scan_icp) and compile your workspace. +* **iri_ros_tools**: Move to your active workspace, clone [this repository](https://gitlab.iri.upc.edu/labrobotica/ros/iri_core/iri_ros_tools) and compile your workspace. + #### Other dependencies Move to the active workspace: @@ -153,9 +164,11 @@ This node provides the following launch files: - *node_name*: Node name. - *config_file*: Node configuration yaml file. - *imu_topic*: IMU 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. - *rear_laser_topic*: Rear laser input data topic name to be remaped. - *icp_service_name*: Laser_scan ICP service to be remaped. + - *diagnostics*: Flag to launch diagnostics agregator. - *output*: Ros node launch output's parameter. - *launch_prefix*: Ros node launch launch-prefix's parameter. @@ -165,6 +178,7 @@ This node provides the following launch files: - *output*: Ros node launch output's parameter. - *launch_prefix*: Ros node launch launch-prefix's parameter. - *dr*: Boolean to launch rqt_reconfigure. + - *diagnostics*: Flag to launch diagnostics agregator. - *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: @@ -173,7 +187,7 @@ This node provides the following launch files: - *bias_filter_config_file*: IMU bias filter configuration yaml file. - *imu_raw_topic*: IMU raw data topic name to be remaped. - *imu_filtered_topic*: Bias filtered's IMU raw data topic name to be remaped. - - *cmd_vel_topic*: cmd_vel topic name to be remaped. + - *odom_topic*: Odometry topic name to be remaped. - *update_bias_ns*: Update bias action namespace to be remaped. - *icp_config_file*: Laser_scan ICP configuration yaml file. - *icp_service_name*: Laser_scan ICP service to be remaped. @@ -183,6 +197,7 @@ This node provides the following launch files: - *output*: Ros node launch output's parameter. - *launch_prefix*: Ros node launch launch-prefix's parameter. - *dr*: Boolean to launch rqt_reconfigure. + - *diagnostics*: Flag to launch diagnostics agregator. - *sim_time*: Boolean to set */use_sim_time* parameter. - *imu_driver*: Boolean to launch the IMU driver.