crea un my_rs_camera. Almuerzo, ponlo
arg name=“enable_gyro” default=“true”/
arg name=“enable_accel” default=“true”/
arg name=“unite_imu_method” default=“linear_interpolation”/
y luego
roslaunch realsense2_camera my_rs_camera.launch
Ver el tema para ver si hay/Carera/Imu
y luego grabe el paquete de bebé:
rosbag record -o imu_435 /camera/imu
Enter ~/Catkin_ws/Src/IMU_UTILS/Directorio de lanzamiento:
touch my435_imu_calibration.launch
gedit my435_imu_calibration.launch
Escribe lo siguiente:
<launch>
<node pkg="imu_utils" type="imu_an" name="imu_an" output="screen">
<param name="imu_topic" type="string" value= "/camera/imu"/>
<param name="imu_name" type="string" value= "my_imu_calibration"/>
<param name="data_save_path" type="string" value= "$(find imu_utils)/data/"/>
<param name="max_time_min" type="int" value= "120"/>
<param name="max_cluster" type="int" value= "400"/>
</node>
</launch>
roslaunch imu_utils my_d435i_imu_calibration.launch
en el camino de la bolsa de grabación:
El parámetro
rosbag play -r 400 imu_435.bag
se genera en el archivo IMU_UTILS/DATA.
1. Hay un papel estándar
2. Archivo de configuración del papel de calibración
Crear un archivo de configuración en papel estándar en el archivo kalibr_workspace/src/kalibr
touch aprilgrid.yaml
gedit aprilgrid.yaml
target_type: 'aprilgrid' #gridtype
tagCols: 6 #number of apriltags
tagRows: 6 #number of apriltags
tagSize: 0.022 #size of apriltag, edge to edge [m]
tagSpacing: 0.3 #ratio of space between tags to tagSize
3. Apague la luz de la estructura
roslaunch realsense2_camera my_rs_camera.launch
rosrun rqt_reconfigure rqt_reconfigure
Ver si hay Camera/Color/Image_Raw,/Camera/Infra1/Image_Rect_Raw,/Camera/Infra2/Image_raw_raw_raw
Open rviz
Ver la imagen de tres temas, ver qué cámara está a la izquierda y a la derecha
Si es así, puede grabar el paquete de la bolsa de tres temas:
rosrun topic_tools throttle messages /camera/color/image_raw 4.0 /color
rosrun topic_tools throttle messages /camera/infra1/image_rect_raw 4.0 /infra_left
rosrun topic_tools throttle messages /camera/infra2/image_rect_raw 4.0 /infra_right
¡Comience a grabar el paquete de datos!
rosbag record -o multicameras_calibration /infra_left /infra_right /color
Use el programa de calibración de la cámara Kalibr para calibrar:
kalibr_calibrate_cameras --ruta objetivo/april_6x6_50x50cm_A4.yaml --sendero de la bolsa/multicameras_calibration_2020-10-29-20-19-06.bag --models pinhole-radtan pinhole-radtan pinhole-radtan --topics /infra_left /infra_right /color --bag-from-to 10 100 --show-extraction
y luego obtenga el archivo .yaml de la camchain en el archivo kalibr
1. Grabe el paquete de la bolsa:
Primero alinee los datos y la imagen de los parámetros de IMU
Copie el my_rs_cameranch en el paquete RealSense-ROS, renombrado RS_IMU_STETEO. Almuerzo, y el contenido se cambió a
arg name="enable_sync" default="true"/
2. Iniciar archivo de lanzamiento
roslaunch realsense2_camera rs_imu_stereo.launch
3. Apague la luz de la estructura
rosrun rqt_reconfigure rqt_reconfigure
4. Abra RVIZ, agregue el tema de IMU y el tema de infra1, y el tema de infra2. Al mismo tiempo, ajuste la posición RealSense para garantizar que los datos de imagen de la imagen binocular se hayan incluido en la placa de calibración.
5. Ajuste la frecuencia de liberación y el nombre
rosrun topic_tools throttle messages /camera/infra1/image_rect_raw 20.0 /infra_left
rosrun topic_tools throttle messages /camera/infra2/image_rect_raw 20.0 /infra_right
rosrun topic_tools throttle messages /camera/imu 200.0 /imu
6. Grabe el paquete de la bolsa
rosbag record -o imu_stereo /infra_left /infra_right /imu
7. Escriba el archivo yaml de la cámara de acuerdo con la calibración del archivo de la cámara: camchain.yaml
cam0:
camera_model: pinhole
intrinsics: [461.629, 460.152, 362.680, 246.049]
distortion_model: radtan
distortion_coeffs: [-0.27695497, 0.06712482, 0.00087538, 0.00011556]
T_cam_imu:
- [0.01779318, 0.99967549,-0.01822936, 0.07008565]
- [-0.9998017, 0.01795239, 0.00860714,-0.01771023]
- [0.00893160, 0.01807260, 0.99979678, 0.00399246]
- [0.0, 0.0, 0.0, 1.0]
timeshift_cam_imu: -8.121e-05
rostopic: /cam0/image_raw
resolution: [752, 480]
cam1:
camera_model: omni
intrinsics: [0.80065662, 833.006, 830.345, 373.850, 253.749]
distortion_model: radtan
distortion_coeffs: [-0.33518750, 0.13211436, 0.00055967, 0.00057686]
T_cn_cnm1:
- [ 0.99998854, 0.00216014, 0.00427195,-0.11003785]
- [-0.00221074, 0.99992702, 0.01187697, 0.00045792]
- [-0.00424598,-0.01188627, 0.99992034,-0.00064487]
- [0.0, 0.0, 0.0, 1.0]
T_cam_imu:
- [ 0.01567142, 0.99978002,-0.01393948,-0.03997419]
- [-0.99966203, 0.01595569, 0.02052137,-0.01735854]
- [ 0.02073927, 0.01361317, 0.99969223, 0.00326019]
- [0.0, 0.0, 0.0, 1.0]
timeshift_cam_imu: -8.681e-05
rostopic: /cam1/image_raw
resolution: [752, 480]
No se puede eliminar ningún parámetro
9. Escribe imu.yaml
#Accelerometers
accelerometer_noise_density: 1.86e-03 #Noise density (continuous-time)
accelerometer_random_walk: 4.33e-04 #Bias random walk
#Gyroscopes
gyroscope_noise_density: 1.87e-04 #Noise density (continuous-time)
gyroscope_random_walk: 2.66e-05 #Bias random walk
rostopic: /imu #the IMU ROS topic
update_rate: 200.0 #Hz (for discretization of the values above)
10. Inicio de calibración:
kalibr_calibrate_imu_camera --bag ../imu_stereo_2020-10-30-11-24-41.bag --cam ../Aprilgrid/camchain.yaml --imu ../Aprilgrid/imu.yaml --target ../Aprilgrid/april_6x6_50x50cm_A4.yaml --show-extraction