当前位置: 首页 > news >正文

demon drone 200无人机标定流程

demon drone 200无人机标定流程

  • 一、飞控固件更新
    • 1.1 固件更新
    • 1.2 参数更新
  • 二、imu标定
    • 2.1 安装imu标定工具(在你自己的电脑上)
    • 2.2 录制rosbag(在对应飞机上)
    • 2.3 运行标定程序(在你自己的电脑上)
  • 三、双目及imu联合标定
    • 3.1 安装标定工具(参考2.1)
    • 3.2 录制rosbag
    • 3.3 运行标定程序
    • 3.4 注意事项
  • 四、程序参数更新

一、飞控固件更新

飞控固件按需更新。参考QQ群:562983648,官方说明

1.1 固件更新

需要按照要求更新1.13.3对应的bootloader和固件。

1.2 参数更新

刷新参数,并重新标定传感器。

二、imu标定

2.1 安装imu标定工具(在你自己的电脑上)

# 我的这个git库中包含了imu标定和相机标定程序
git clone https://gitee.com/nankel/kalibr_workspace.git
cd kalibr_workspace
catkin_make

注意:可能会出错,src中code_utilsimu_utils有顺序要求,可以忽略错误多次catkin_make。详细内容可以参考我之前的博客D435i标定摄像头和IMU笔记三(IMU标定篇)中的港科大标定方法。

注意:不要忘了将setup.bash加入~/.bashrc中。

2.2 录制rosbag(在对应飞机上)

# 1、启动mavros
roslaunch mavros px4.launch# 2、确认imu频率。确保imu发送频率大于200Hz,本无人机一般为250Hz。
rostopic hz /mavros/imu/data_raw# 3、静止不动30分钟(事实上几分钟也行,最好久一点),录制rosbag。会在当前路径生成imu.bag文件
rosbag record -O imu /mavros/imu/data_raw# 4、将rosbag复制到运行标定程序的电脑。U盘复制或者局域网scp复制

2.3 运行标定程序(在你自己的电脑上)

1)修改程序配置
launch路径:kalibr_workspace/src/imu_utils/launch/nankel_imuCali.launch
内容及注释如下:

<launch><node pkg="imu_utils" type="imu_an" name="imu_an" output="screen"><param name="imu_topic" type="string" value= "/mavros/imu/data_raw"/>  <!-- imu话题名 --><param name="imu_name" type="string" value= "demon_mini_imu"/>     <!-- imu名,随便改 --><param name="data_save_path" type="string" value= "$(find imu_utils)/data/"/>  <!-- 标定数据保存地址 --><param name="max_time_min" type="int" value= "30"/>   <!-- 标定最短时长(分钟),可以自行更改,要比实际录制短,要不然不会停--><param name="max_cluster" type="int" value= "100"/></node>
</launch>

注意:按照此脚本,结果文件将保存于kalibr_workspace/src/imu_utils/data

2)运行程序

# 1、运行程序
roslaunch imu_utils nankel_imuCali.launch
# 2、400倍速播放rosbag
rosbag play -r 400 imu.bag

3)保存标定参数
新建imu.yaml文件,后面联合标定会用到,里面的数据更新为标定数据:

rostopic: /mavros/imu/data_raw
update_rate: 250.0 #Hzgyroscope_noise_density: 0.00302857381362
gyroscope_random_walk: 3.00373059934e-05accelerometer_noise_density: 0.0272600517598
accelerometer_random_walk: 0.000579817988633

三、双目及imu联合标定

3.1 安装标定工具(参考2.1)

3.2 录制rosbag

# 1、启动双目程序
roslaunch stereo stereo.launch
# 2、启动mavros
roslaunch mavros px4.launch# 3、录制rosbag(录制过程要上下左右前后各运动两次)
rosbag record -O stereo_imu  /mavros/imu/data_raw /stereo/left/image_raw /stereo/right/image_raw# 4、将rosbag复制到运行标定程序的电脑。U盘复制或者局域网scp复制

注意:如果想要弹出双目图像,可以使用rviz观看图像。或者修改配置demon_drone_ws/src/stereo/launch/stereo_config.yamlif_show_orig: 1

注意:建议使用台式电脑,不然标定时长将会很久。

3.3 运行标定程序

也可以参考我之前的博客:D435i标定摄像头和IMU笔记四-2(双目摄像头与IMU联合标定篇)

1、准备标定板文件checkerboard.yaml

target_type: 'checkerboard' #gridtype
targetCols: 5               # 标定板内角数量(列)
targetRows: 8               # 标定板内角数量(行)
rowSpacingMeters: 0.045     #size of one chessboard square [m]
colSpacingMeters: 0.045     #size of one chessboard square [m]

2、运行标定程序

# 1、标定双目相机
kalibr_calibrate_cameras --target checkerboard.yaml --bag stereo_imu.bag --models pinhole-radtan pinhole-radtan --topics /stereo/left/image_raw /stereo/right/image_raw# 2、联合标定双目相机和imu(要等待双目标定结束)
kalibr_calibrate_imu_camera --target checkerboard.yaml --cam camchain-stereo_imu.yaml --imu imu/imu.yaml --bag stereo_imu.bag

3、标定结果文件:results-imucam-imu_stereo.txt:

3.4 注意事项

注意:
1、观察相机标定误差,一般在1个像素以内。
2、观察联合标定误差,一般2个像素以内。
3、imu和相机时差一般是负数0~-0.06以内。

四、程序参数更新

1、将标定文件results-imucam-imu_stereo.txt复制到/home/khadas/demon_packages/demon_drone_ws/src/stereo/launch/results-imucam-stereo_imu.txt下。

2、运行自动更新脚本

cd /home/khadas/demon_packages/demon_drone_ws/src/stereo/launch && python3 config.py

3、移动配置文件
移动vins所需文件:可见/home/khadas/demon_packages/demon_drone_ws/src/VINS-Fusion/config/stereo中文件

4、大功告成,运行程序:可见脚本/home/khadas/demon_packages/demon_drone_ws/scipts/fpv_ego.sh

http://www.lryc.cn/news/397042.html

相关文章:

  • 案例开发-日程管理-第一期
  • 【Java 注解,自定义注解,元注解,注解本质,注解解析】
  • 染色法判定二分图
  • 自动气象站的主要功能优势
  • Java中实现二维数组(矩阵)的转置
  • Prometheus+Grafana主机运行数据
  • GraphQL在Postman中:释放API查询的强大潜能
  • 大语言模型里的微调vs RAG vs 模板提示词
  • 网络编程:常用网络测试工具
  • mov视频怎么改成mp4?把mov改成MP4的四个方法
  • 力扣1472.设计浏览器历史记录
  • 准大一新生开学千万要带证件照用途大揭秘
  • QImage显示图片像素
  • uniapp使用高德地图(公众号+h5)
  • 深度学习与浅层学习:技术变革下的竞争态势
  • LeetCode 219. 存在重复元素 II
  • 【目标检测】使用自己的数据集训练并预测yolov8模型
  • 应用监控SkyWalking调研
  • Selenium使用注意事项:
  • 小程序需要进行软件测试吗?小程序测试有哪些测试内容?
  • 一文读懂企业租用GPU的注意事项!
  • Linux运维:mysql主从复制原理及实验
  • 022-GeoGebra中级篇-几何对象之直线与坐标轴
  • node js安装、配置(Windows版)
  • go语言day08 泛型 自定义错误处理 go关键字:协程
  • MySql性能调优01-[数据结构和索引]
  • 【算法入门-栈】逆波兰表达式求值
  • 【史上最全面ESP32教程】http通信
  • *算法训练(leetcode)第二十七天 | 56. 合并区间、738. 单调递增的数字、968. 监控二叉树
  • OpenJudge 奇数求和