Code Monkey home page Code Monkey logo

ros_odom_based_calibration's Introduction

Calibration Odom Based

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

가능한 입력

  • 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

ros_odom_based_calibration's People

Contributors

onlyti avatar

Stargazers

 avatar Jinsu Ha avatar Jaeyoung Jo avatar Soyeong Kim avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.