【RM2020 圆桌】第一期 2020空中机器人的视觉定位方案
15536
0
175
2019-12-25
【圆桌时间】:2019年12月26日(周四) 19:30-20:30
【圆桌主题】:2020空中机器人的视觉定位方案
【圆桌嘉宾】:Richard(论坛昵称:@Richard fang)
DJI软件工程师
2020空中机器人开源方案负责人
【主持人】:@RoboMaster赛务
【圆桌流程】:19:30-19:50 主题内容对话(主持人与嘉宾)
19:50-20:30 实时问答环节 (嘉宾与论坛网友)
温馨提示:
在直播期间,大家可以直接移步至论坛活动版块,https://bbs.robomaster.com/forum-technology-1.html,直播墙会自动实时更新内容。
在前20分钟内,为主持人嘉宾对话时间,这段时间内嘉宾是不会回答其他参与者的问题的,大家可以在后面40分钟的自由问答时间内提问。
我们将挑选出三位优秀提问者送出电机福袋各一份~
本期获得福袋的三个ID是:
唯我星辰
李聪聪sky
pmj110119
请联系微信赛务号邮寄信息(附上自己的ID截图哦)我是分割线
【主持人与嘉宾互动环节】
主持人:
大家好,我们的圆桌直播开始啦!首先欢迎我们本期圆桌嘉宾Richard,Richard是Dji的软件工程狮,同时也是RoboMaster2020赛季空中机器人开源方案的负责人,让我们热烈欢迎!
Richard:
各位参赛队员,你们好,我是本期圆桌嘉宾Richard,欢迎大家踊跃提问!
主持人:
今天的主题是2020空中机器人的视觉定位方案,能跟大家说说今年的空中机器人视觉方案与以往有什么不同之处吗?
Richard:
由于Guidance停产的问题,将会导致新参赛队伍的空中机器人无法实现室内定位的功能。目前官方已经提供了SDK二次开发例程,经过验证同样满足室内定位的要求。官方的SDK二次开发例程仅是提供参考,参赛队伍要根据自己的需求决定自己的解决方案,编写SDK二次开发程序。
主持人:
那SDK开发的具体流程是怎么样的呢?
Richard:
1.看官网的资料,找到自己板载对应的开发教程;
2.使用官方的程序,先用模拟器跑一边,看下具体的现象,分析一下代码;
3.理清楚API的作用,可以自己尝试写下其它功能,并且在模拟器上看现象,看是否跟自己写的是一致的;
4.模拟器仿真正常后,就可以在实际场景进行测试飞行
3.理清楚API的作用,可以自己尝试写下其它功能,并且在模拟器上看现象,看是否跟自己写的是一致的;
4.模拟器仿真正常后,就可以在实际场景进行测试飞行
主持人:
那在SDK开发过程中,有需要注意什么吗?
Richard:
1.要保证遥控能够可以随时抢夺飞机的控制权(保证在调试过程中出现问题,可以退出SDK模式),同样,可以安装灯或者能够明显提醒飞手的标志物,实时显示飞机当前的控制状态(是否在SDK开发模式)。
2.开发新功能时,一定要在模拟器中先进行试验,不要立马进行实际飞行,要确保自身安全。
3实现定位功能前,飞机的基本参数要调试好(调试参数时不要飞太低,地效影响严重),先保证飞机定高模式飞行是十分稳定的,不会出现抖动现象,再去实现其他功能。
2.开发新功能时,一定要在模拟器中先进行试验,不要立马进行实际飞行,要确保自身安全。
3实现定位功能前,飞机的基本参数要调试好(调试参数时不要飞太低,地效影响严重),先保证飞机定高模式飞行是十分稳定的,不会出现抖动现象,再去实现其他功能。
主持人:
很多同学会在SDK二次开发的过程中个,遇到SDK方面的问题自己无法解决,这时该怎么办呢?
Richard:
出现SDK方面的疑问、移植到其它型号的板子进入hardfault中断、出现卡死(大疆SDK采用的芯片型号是407系列,在40x系列移植应该是没有问题的),可以将具体的问题描述清楚,发至大疆("Support”dev@dji.com)询问,正常情况下几天内会回复,会员的话大概是一天左右(工作人员平时比较忙,希望能够体谅一下)。
主持人:
那么2020空中机器人一定要采用该方案实现室内定位吗?可否采用其它方式实现呢?
Richard:
不一定,目前这个方案是为了能让大家快速实现定位功能。采用的光流是已经将数据进行融合,不需要参赛队伍去处理便可以直接使用,减小了很多麻烦的步骤。参赛队员在学有余力的情况下,可以试试沈老师的vins开源算法+Realsense+manifold2,或者买下其它款式的光流,自己融合一下数据试试。
主持人:
有些同学发现在隔一段时间后,定位效果与之前不一样了,这是为什么呢?
Richard:
1.重量发生很大的变化时,原先调试的参数可能已经不适用了。
2.光流是采用摄像头的数据,进行前后二帧特征点的对比。灯光的变化,以及场地的变化都会给光流的数据带来影响,所以参赛队开发的时候,要考虑周全,避免换了环境后定位效果发生很大的变化。
2.光流是采用摄像头的数据,进行前后二帧特征点的对比。灯光的变化,以及场地的变化都会给光流的数据带来影响,所以参赛队开发的时候,要考虑周全,避免换了环境后定位效果发生很大的变化。
主持人:
有时候还会出现板载板子无法跟飞控进行通讯,这是什么问题呢?
Richard:
首先,要确保飞控成功启动,板载STM32再进行对应的一系列初始化和通讯,可以再STM32程序中进行延时,或者等飞控成功启动后再给板载板子上电。
通讯失败也可能是板载STM32初始化出现失败或者其它问题,具体问题可以查看打印出来的消息,可以迅速定位问题(一般可以使用数传或者蓝牙等进行数据传输,可以很方便地观看各种数据,方便自己调试)。
通讯失败也可能是板载STM32初始化出现失败或者其它问题,具体问题可以查看打印出来的消息,可以迅速定位问题(一般可以使用数传或者蓝牙等进行数据传输,可以很方便地观看各种数据,方便自己调试)。
【问答环节】
1. 官方有没有模拟器可以直接提供二次开发使用。或者有没有推荐的模拟器可供调试
官方是有提供模拟器进行仿真的,你可以看下官方的教程
2. 请问你们验证的结果有和guidance方案对比过悬停精度吗
我们在进行二次开发的时候是有进行悬停测试,具体的视频效果在资料压缩包里,二者当时是没有进行精度对比的
3. 室内GPS用不了吧?
室内的话是用不了GPS的,室内的话可以考虑使用UWB,不过现在比赛不使用不了的
4. UWB数据可以尝试读,雷达也可以尝试建立世界坐标,这是可以试一下的吧?
是可行的,UWB是可以读取后跟飞控的数据进行融合,是可以实现室内定位,不过目前比赛是不建议使用,因为UWB的标签太多,延时会严重一些
5. 场地光线对视觉定位的影响大吗?
场地光线是会影响对定位效果的,因为光流实质就是图像特征点的对比,不过光流一般都是需要跟加速度计陀螺仪进行数据融合的,效果会好一些
6. guidance也会受灯光的变化,以及场地的变化都会带来影响吗?
guidance肯定是会受光线的影响,不过内部已经做了数据处理融合
7. 视觉slam放在无人机上也是和ros结合么?如果说能放在ros下是不是一个带imu的双目视觉模块就能搞定?
你可以试试采用沈老师的vins开源算法+Realsense+manifold2
8. 基于光流进行视觉定位的话,采用哪一种方法得到的光流数据进行定位会比较好呢?
原始的光流数据进行定位的话肯定效果不好,实质上需要跟加速度计陀螺仪的数据进行融合,你可以尝试拉取飞控的数据,不过要注意时间同步问题
9. 当无人机下方有机器人等运动物体通过的时候,光流会受到干扰,可能产生数据大幅度跳动,请问有什么简便的方法可以处理这个问题?
确实是这样的,当下方有物体移动的时候,定位会受到影响,可以融合加速度计
确实是这样的,当下方有物体移动的时候,定位会受到影响,可以融合加速度计
10. 光流摄像头内有移动物体的话(比如一辆步兵开过),请问这种情况可以怎么处理呢?像匿名光流就没解决这个,如果有这种情况飞机是会跟着步兵走的..guidance貌似就不会,有什么特殊的特征点处理逻辑吧?
这就是光流原本数据的问题,融合加速度计的话会减缓这个效果,之前提供的方案中,底下有车子移动的话,对飞机定位干扰不大。
这就是光流原本数据的问题,融合加速度计的话会减缓这个效果,之前提供的方案中,底下有车子移动的话,对飞机定位干扰不大。
11. 水平定位的必要性大吗,在实际场地中,竖直方向定高的环境变化较小,水平方向定点周围环境变化较大(灯光,场地遮挡物等),加装水平定点的效果与姿态模式或gps模式的效果相比优化有多大
水平定位是必要的,因为室内没有GPS信号,所以需要其他传感器提高飞机的水平移动信息。姿态模式的话飞机水平会漂移,无法实现悬停功能
水平定位是必要的,因为室内没有GPS信号,所以需要其他传感器提高飞机的水平移动信息。姿态模式的话飞机水平会漂移,无法实现悬停功能
12. 请问在开源的光流定位方案中,官方在测试的时候是直接用光流定位模式起飞的么,还是先在手动模式起飞,起飞结束再切换到定位模式。因为我们在初步测试的时候发现好像直接在OSDK的定位模式下起飞,起飞会很困难(相较于在非SDK模式下起飞)
起飞过程前需要先将光流的积分距离先清除,飞机高度变化过程中,可以削弱光流控制位置的权重
起飞过程前需要先将光流的积分距离先清除,飞机高度变化过程中,可以削弱光流控制位置的权重
13. 开源贴给出的室内定位例程可以直接使用吗?
开源的例程是可以直接使用的,但是大家最好还是先自己看官网开发者的文档,每次开发新功能先在模拟器中进行验证
开源的例程是可以直接使用的,但是大家最好还是先自己看官网开发者的文档,每次开发新功能先在模拟器中进行验证
14. 感觉如果使用匿名的光流的话只给出到地面的激光测距对空间定位的准确性不高啊
使用激光或者超声波只是来辅助定高功能。因为室内飞行的话,纯气压计定高,长时间会出现掉高现象。
使用激光或者超声波只是来辅助定高功能。因为室内飞行的话,纯气压计定高,长时间会出现掉高现象。
15. 请问,我在参考开源的定位方案进行仿真的时候,发现飞控返回的一个数据(SDKInfo结构体中的controlmode)会在0和2之间跳变,只有当这个值为2时,飞控才会受OSDK控制,导致仿真中,飞机是调整一下位置就停顿一下。(飞控一直处于OSDK模式下,只是有时会不受OSKD控制调整位置)请问这种现象正常么
你这种现象是不正常的,你看下你位置控制的API是否与其他的API冲突了。
你这种现象是不正常的,你看下你位置控制的API是否与其他的API冲突了。
16. 能否类似于rtk一样在比赛场地建立基准站,然后解算出空中机器人与基准站的距离实现定点,这个方案可行性有几成(基准站可由官方设立)
这种方案目前还不可行哈,可以用光流或者其他视觉的方式实现
这种方案目前还不可行哈,可以用光流或者其他视觉的方式实现
17. 模拟器是调参系统里面的模拟器吗,那个模拟器不应该是在GPS模式下的吗,可以测试我们开发的新功能?
你可以看下论坛发布的开源资料,里面提到这个问题。大家再进行光流调试的时候,飞控是处于定高的模式,所以现在的飞机在模拟器中是会漂移的。测试光流定位的时候,你可以手动拿起飞机,移动飞机的时候,模拟器中的飞机会朝着你移动相反的方向飞行。当你手中的飞机回到起初的位置时,模拟器中的飞机也会停下来
你可以看下论坛发布的开源资料,里面提到这个问题。大家再进行光流调试的时候,飞控是处于定高的模式,所以现在的飞机在模拟器中是会漂移的。测试光流定位的时候,你可以手动拿起飞机,移动飞机的时候,模拟器中的飞机会朝着你移动相反的方向飞行。当你手中的飞机回到起初的位置时,模拟器中的飞机也会停下来
18. 数据融合有推荐的算法或者实现方法吗?
帖子的资料文档中已经提及到,具体的算法可以看下博客
帖子的资料文档中已经提及到,具体的算法可以看下博客
关联专栏
RoboMaster 课程沙龙
文章标签
请问这篇文章对你有用吗?
【RM2020 圆桌】第一期 2020空中机器人的视觉定位方案