Skip to content

Onlyti/ros_odom_based_calibration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Calibration Odom Based

두 오도메트리 또는 모션 데이터를 입력받아 두 오도메트리 간 회전 calibration 정보를 추정

Available input topic types

  • nav_msgs::Odometry
  • geometry_msgs::PoseStamped
  • geometry_msgs::TwistStamped

Installation

To install this package, follow these steps:

  1. Clone the repository to your local machine.
cd {YOUR ROS WS}/src
git clone https://github.com/Onlyti/ros_odom_based_calibration.git
  1. Build the package and source the workspace
cd {YOUR ROS WS}
catkin_make
source devel/setup.bash

Usage

To use this package, follow these steps:

  1. Adjust ROS topic information in "launch/calibration_odom_based.launch"
  2. Adjuct calibration configure in "config/odom_based_calibration.ini"
  3. Launch the calibration node using roslaunch calibration_odom_based calibration.launch.

Configuration

Configure ROS parameter in "launch/calibration_odom_based.launch"

The four parameter for use.

Topic name

  • odom1_topic: The odometry topic name and odom1 is reference frame for calibration
  • odom2_topic: The odometry topic name and odom2 is target frame for calibration

Topic type

The calibration_odom_based support multiple topic type for input.

  • ODOM_TYPE_NAV_MSGS_ODOM: nav_msgs::Odometry
  • ODOM_TYPE_GEO_MSGS_TWIST: geometry_msgs::TwistStamped
  • ODOM_TYPE_GEO_MSGS_POSESTAMPED: geometry_msgs::PoseStamped

Set parameter as one of topic type to use.

  • odom1_type: The topic msg type of odom1
  • odom2_type: The topic msg type of odom2

Configure the calibaration parameter

The calibration_odom_based only estimate rotational calibration parameter.

The Algorithm

[Config]
cfg_i_que_input_max_size_: Input topic buffer length
cfg_i_que_keyframe_max_size_: Odometry pair buffer length. Odometry pair used to estimate rotation parameter.
cfg_d_keyframe_dist_threshold_m_: Keyframe generation condition. Minimum translation distance threshold.
cfg_d_keyframe_rot_threshold_deg_: Keyframe generation condition. Minimum roatation angle threhshold.

cfg_d_keyframe_slow_threshold_mps_: Velociey rejection threshold. Nagative value means no rejection. If some keyframe has to slow data then reject.
cfg_d_time_delay_odom1_to_odom2_sec_: Time delay parameter. Some case odometry is delayed. [odom2 actual time = odom2 time - odom2 delay]

cfg_d_calib_update_rate_: Just for smoosness. [0~1]

[Calib] ** IMPORTANT **
# Known translation parameters from odom1 to odom2
cfg_d_cal_t_x_m_: Known translational calibration parameter.
cfg_d_cal_t_y_m_: Known translational calibration parameter.
cfg_d_cal_t_z_m_: Known translational calibration parameter.

# In the monotonic straight driving synario, the drive directional rotation parameter has less information. Specifically, normaly vehicle drive toward, roll can not be determined. So can fix some parameter.
cfg_b_cal_use_predef_roll_: The flag for use user define parmeter. If true do not estimate.
cfg_d_cal_r_roll_deg_: User defined calibration parameter. Each parameter affect the other calibration parameter result.
cfg_b_cal_use_predef_pitch_: The flag for use user define parmeter. If true do not estimate.
cfg_d_cal_r_pitch_deg_: User defined calibration parameter. Each parameter affect the other calibration parameter result.
cfg_b_cal_use_predef_yaw_: The flag for use user define parmeter. If true do not estimate.
cfg_d_cal_r_yaw_deg_: User defined calibration parameter. Each parameter affect the other calibration parameter result.

[FDE] # Fault Data Exclusion
cfg_d_fde_max_translation_error_threshold_m_: Fault rejection condition with two odometry pair haas difference.
cfg_d_fde_max_rotation_error_threshold_deg_: Fault rejection condition with two odometry pair haas difference.

Fake Odometry Generator

TBD

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published