6.4 双目视觉控制例子
6.4.1 双目相机标定实验
- 在Windows资源管理器中,打开并进入“RflySimAPIs\PythonVisionAPI\4-BinocularCameraCalib”文件夹,其中的内容如下图
- 其中, “BinocularCameraCalib4.py”是本例程的主Python程序;“BinocularCameraCalib4.bat” 是一个批处理启动脚本,双击它会自动打开三个RflySim3D窗口(左右两个摄像头+尾随全局观察视角);“PX4MavCtrlV4.py”是本平台的Python通信接口模块
6.4.2 双目相机标定代码解析
- 用VS Code打开“BinocularCamera Calib4.py”文件,关键代码行如下图所示,本脚本可以同时获取多个窗口的图像,其余代码请根据前边的讲解自行阅读学习
6.4.3 双目相机标定实验效果
- 运行“BinocularCameraCalib4.bat”后,再运行“BinocularCameraCalib4.py”即可。
- 开启多个RflySim3D场景,新建一个飞机,配置双目位置信息,新建一个靶标,让靶标按随机规则摆放。
- 作业1:在获取到左右两个相机的图像后,实现在线的标定算法。
- 作业2:将左右两个相机的图像以图片形式存储到本地,然后用MATLAB的标定工具箱求参数
注:如果电脑性能不佳导致飞行抖动,可以手动关闭最后打开的RflySim3D窗口(尾随观察视角),只是用前置左右摄像机视角 本视频观看地址: 优酷:https://v.youku.com/v\_show/id\_XNDcwNjA4NzgxMg==.html YouTube:https://youtu.be/hm6i6UCQjCI
6.4.4 无人机双目视觉例程
- 在Windows资源管理器中,打开并进入“RflySimAPIs\PythonVisionAPI\5-ManDetect”文件夹,其中的内容如下图
- 其中, “ManDetect3.py”是本例程的主Python程序;cascades文件夹内装了人脸识别的一些XML格式的特征文件;“ManDetect3HITL.bat”和“ManDetect3SITL.bat”相对于桌面快捷方式的区别在于: “UDPSIMMODE”通信UDP模式也选择了“Mavlink_Full”模式;开启了三个RflySim3D窗口,左右相机+尾随观察视角
6.4.5 无人机双目视觉源码解析
用VS Code打开“ManDetect3.py”文件
6.4.6 无人机双目视觉运行效果
- 运行“ManDetect3SITL.bat”或“ManDetect3HITL.bat”,再运行“ManDetect3.py”即可
- RflySim3D中生成走动的人,并设置面对飞机,飞机起飞后开启人脸识别算法,双目框选出人脸
- 作业1:实时更新人的位置,实现人物走动的模拟,并编写飞机跟踪控制器
- 作业2:改成前视+下视摄像头,验证跟踪+光流算法
注:如果电脑性能不佳导致飞行抖动,可以手动关闭最后打开的RflySim3D窗口(尾随观察视角),只是用前置左右摄像机视角
本视频观看地址: 优酷:https://v.youku.com/v\_show/id\_XNDcwNjA4NzgxMg==.html YouTube:https://youtu.be/hm6i6UCQjCI
6.4.7 无人机视觉算法的部署
- 将视觉控制的Python代码拷贝到机载电脑上,将RflySim3D的视觉图像换成摄像机图像,即可完成视觉算法的部署
本视频观看地址: 优酷:https://v.youku.com/v\_show/id\_XNDcwNjA4NzgxMg==.html YouTube:https://youtu.be/hm6i6UCQjCI