IMU 소음 측정-가속도계와 팽이의 흰 소음과 제로 편향 불안정성

3506 단어 IMU
전언
imu_utils는 IMU 성능 분석을 위한 ROS 키트입니다.
참고 자료
  • Allan Variance: Noise Analysis for Gyroscopes
  • vectornav gyroscope
  • An introduction to inertial navigation

  • 설치하다.
    우선 설치 의존성:
    sudo apt-get install libdw-dev
    

    작가님은 README.md의 컴파일 단계는 다음과 같습니다.
  • download required code_utils;
  • put the ROS package imu_utils and code_utils into your workspace, usually named catkin_ws;
  • cd to your workspace, build with catkin_make;

  • 그러나 이렇게 하면 컴파일 오류가 발생할 수 있습니다.찾아보니 먼저 컴파일code_utils을 한 다음에 컴파일imu_utils을 해야 하는데 동시에 컴파일할 수 없으니 의존 문제일 것이다.
    올바른 컴파일 단계:
    mkdir -p imu-calibration/src
    cd imu-calibration/src
    git clone https://github.com/gaowenliang/code_utils.git
    cd ..
    catkin_make
    cd imu-calibration/src
    git clone https://github.com/gaowenliang/imu_utils.git
    cd ..
    catkin_make
    

    이 가능하다, ~할 수 있다,...
    물론 약간의 실수가 있을 수도 있다.
    오류 1: Eigen을 찾을 수 없음
    일반적으로 Eigen은 다음 명령을 통해 설치됩니다.
    sudo apt-get install libeigen3-dev
    

    이렇게 하면 Eigen은 기본적으로 /usr/include/eigen3에 설치되고 /home/jlg/imu-calibration/src/code_utils/CMakeLists.txt에서 find_package(Eigen3 REQUIRED)를 주석하고 추가해야 한다.
    include_directories(/usr/include/eigen3)
    

    오류 2: 없음backward.hppatal error: backward.hpp: No such file or directory
    서류code_utils/srcsumpixel_test.cpp 중의 #include "backward.hpp"#include "code_utils/backward.hpp"로 바꾸면 된다.
    오류 3: std::ofstream 정의되지 않음
    /home/***/imu-calibration/src/imu_utils/src/imu_an.cpp:69:19: error: aggregate ‘std::ofstream out_t’ has incomplete type and cannot be defined
    파일imu_utils/src/imu_an.cpp을 열고 다음을 추가합니다.
    #include 
    

    실행
    1. IMU 데이터 수집
    IMU가 정지된 상태에서 데이터를 2시간 동안 수집합니다.
    2. 데이터 재생
    rosbag play -r 200 imu_A3.bag
    

    작성자는 먼저 테스트할 수 있는 5개의 IMU 데이터 세트를 제공합니다.
    3. 부팅 노드
    roslaunch imu_utils A3.launch
    

    launch 파일 참고:
    
        
            
            
            
            
            
        
    
    

    자체 IMU에 따라 imu_topicimu_name를 수정해야 합니다.
    4. 예제
    내가 사용한 imu_16448.bag 결과는 imu_utils/data/16448_imu_param.yaml에 저장되었고 다른 txt 파일은 imu_utils/scripts의 Matlab 스크립트로 그릴 수 있습니다.
    %YAML:1.0 type: IMU name: “16448” Gyr: unit: rad/s avg-axis: gyr_n: 2.5540703819967830e-03 gyr_w: 7.3979547257109791e-05 x-axis: gyr_n: 2.5732073264841159e-03 gyr_w: 7.9169715719978401e-05 y-axis: gyr_n: 2.5490825380843534e-03 gyr_w: 6.8388779942953886e-05 z-axis: gyr_n: 2.5399212814218798e-03 gyr_w: 7.4380146108397072e-05 Acc: unit: "m/s^2"avg-axis: acc_n: 2.7851422418165215e-02 acc_w: 1.2053367145964710e-03 x-axis: acc_n: 2.6671201438493906e-02 acc_w: 9.3260697511083528e-04 y-axis: acc_n: 3.2016249942269592e-02 acc_w: 1.8349143250976515e-03 z-axis: acc_n: 2.4866815873732146e-02 acc_w: 8.4848884358092636e-04

    좋은 웹페이지 즐겨찾기