RoboMaster

标题: 【RM2020 圆桌】第一期 2020空中机器人的视觉定位方案 [打印本页]

作者: robomaster    时间: 2019-12-25 19:43
标题: 【RM2020 圆桌】第一期 2020空中机器人的视觉定位方案

[attach]25732[/attach]



【圆桌时间】:2019年12月26日(周四) 19:30-20:30
【圆桌主题】:2020空中机器人的视觉定位方案
【圆桌嘉宾】:Richard(论坛昵称:@Richard fang
                        DJI软件工程师
                        2020空中机器人开源方案负责人
【主持人】:@RoboMaster赛务
【圆桌流程】:19:30-19:50 主题内容对话(主持人与嘉宾)
                        19:50-20:30 实时问答环节 (嘉宾与论坛网友)
【相关内容】【官方开源】RM2019 空中机器人Guidance室内定位替代方案

温馨提示:
在直播期间,大家可以直接移步至论坛活动版块,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.模拟器仿真正常后,就可以在实际场景进行测试飞行

主持人:
那在SDK开发过程中,有需要注意什么吗?
Richard:
1.要保证遥控能够可以随时抢夺飞机的控制权(保证在调试过程中出现问题,可以退出SDK模式),同样,可以安装灯或者能够明显提醒飞手的标志物,实时显示飞机当前的控制状态(是否在SDK开发模式)。
2.开发新功能时,一定要在模拟器中先进行试验,不要立马进行实际飞行,要确保自身安全。
3实现定位功能前,飞机的基本参数要调试好(调试参数时不要飞太低,地效影响严重),先保证飞机定高模式飞行是十分稳定的,不会出现抖动现象,再去实现其他功能。

主持人:
很多同学会在SDK二次开发的过程中个,遇到SDK方面的问题自己无法解决,这时该怎么办呢?
Richard:
出现SDK方面的疑问、移植到其它型号的板子进入hardfault中断、出现卡死(大疆SDK采用的芯片型号是407系列,在40x系列移植应该是没有问题的),可以将具体的问题描述清楚,发至大疆("Support”dev@dji.com)询问,正常情况下几天内会回复,会员的话大概是一天左右(工作人员平时比较忙,希望能够体谅一下)。
主持人:
那么2020空中机器人一定要采用该方案实现室内定位吗?可否采用其它方式实现呢?
Richard:
不一定,目前这个方案是为了能让大家快速实现定位功能。采用的光流是已经将数据进行融合,不需要参赛队伍去处理便可以直接使用,减小了很多麻烦的步骤。参赛队员在学有余力的情况下,可以试试沈老师的vins开源算法+Realsense+manifold2,或者买下其它款式的光流,自己融合一下数据试试。

主持人:
有些同学发现在隔一段时间后,定位效果与之前不一样了,这是为什么呢?
Richard:
1.重量发生很大的变化时,原先调试的参数可能已经不适用了。
2.光流是采用摄像头的数据,进行前后二帧特征点的对比。灯光的变化,以及场地的变化都会给光流的数据带来影响,所以参赛队开发的时候,要考虑周全,避免换了环境后定位效果发生很大的变化。

主持人:
有时候还会出现板载板子无法跟飞控进行通讯,这是什么问题呢?
Richard:
首先,要确保飞控成功启动,板载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信号,所以需要其他传感器提高飞机的水平移动信息。姿态模式的话飞机水平会漂移,无法实现悬停功能

12. 请问在开源的光流定位方案中,官方在测试的时候是直接用光流定位模式起飞的么,还是先在手动模式起飞,起飞结束再切换到定位模式。因为我们在初步测试的时候发现好像直接在OSDK的定位模式下起飞,起飞会很困难(相较于在非SDK模式下起飞)
起飞过程前需要先将光流的积分距离先清除,飞机高度变化过程中,可以削弱光流控制位置的权重

13. 开源贴给出的室内定位例程可以直接使用吗?
开源的例程是可以直接使用的,但是大家最好还是先自己看官网开发者的文档,每次开发新功能先在模拟器中进行验证

14. 感觉如果使用匿名的光流的话只给出到地面的激光测距对空间定位的准确性不高啊
使用激光或者超声波只是来辅助定高功能。因为室内飞行的话,纯气压计定高,长时间会出现掉高现象。

15. 请问,我在参考开源的定位方案进行仿真的时候,发现飞控返回的一个数据(SDKInfo结构体中的controlmode)会在0和2之间跳变,只有当这个值为2时,飞控才会受OSDK控制,导致仿真中,飞机是调整一下位置就停顿一下。(飞控一直处于OSDK模式下,只是有时会不受OSKD控制调整位置)请问这种现象正常么
你这种现象是不正常的,你看下你位置控制的API是否与其他的API冲突了。

16. 能否类似于rtk一样在比赛场地建立基准站,然后解算出空中机器人与基准站的距离实现定点,这个方案可行性有几成(基准站可由官方设立)
这种方案目前还不可行哈,可以用光流或者其他视觉的方式实现

17. 模拟器是调参系统里面的模拟器吗,那个模拟器不应该是在GPS模式下的吗,可以测试我们开发的新功能?
你可以看下论坛发布的开源资料,里面提到这个问题。大家再进行光流调试的时候,飞控是处于定高的模式,所以现在的飞机在模拟器中是会漂移的。测试光流定位的时候,你可以手动拿起飞机,移动飞机的时候,模拟器中的飞机会朝着你移动相反的方向飞行。当你手中的飞机回到起初的位置时,模拟器中的飞机也会停下来

18. 数据融合有推荐的算法或者实现方法吗?
帖子的资料文档中已经提及到,具体的算法可以看下博客






作者: 花师小哲    时间: 2019-12-26 16:35
圆桌总算新开了鸭,感觉这期干货满满的,先支持一下,嘻嘻
作者: JHRoger    时间: 2019-12-26 19:25
板凳已经准备好
作者: Dragon    时间: 2019-12-26 19:25
翘首以待
作者: 沈航T-UP战队    时间: 2019-12-26 19:29
带上小本本
作者: juzi    时间: 2019-12-26 19:30
我准备好了啦啦啦啦
作者: RoboMaster赛务    时间: 2019-12-26 19:30
大家好,我们的圆桌直播开始啦!首先欢迎我们本期圆桌嘉宾Richard,Richard是Dji的软件工程狮,同时也是RoboMaster2020赛季空中机器人开源方案的负责人,让我们热烈欢迎!
作者: 18284513974    时间: 2019-12-26 19:30
欢迎欢迎!!
作者: JHRoger    时间: 2019-12-26 19:30
欢迎⊙ω⊙
作者: 花师小哲    时间: 2019-12-26 19:31
欢迎欢迎
作者: Richard fang    时间: 2019-12-26 19:31
各位参赛队员,你们好,我是本期圆桌嘉宾Richard,欢迎大家踊跃提问!
作者: Dragon    时间: 2019-12-26 19:31
欢迎欢迎
作者: RoboMaster赛务    时间: 2019-12-26 19:31
大家注意前20分钟是主持人与嘉宾对话内容,后40分钟才是提问环节哦~
作者: robomaster11    时间: 2019-12-26 19:31
欢迎欢迎
作者: 李聪聪sky    时间: 2019-12-26 19:32
欢迎欢迎
作者: RoboMaster赛务    时间: 2019-12-26 19:32
本期主题是:2020空中机器人的视觉定位方案
作者: zbx    时间: 2019-12-26 19:32
欢迎欢迎

作者: Dragon    时间: 2019-12-26 19:32
欢迎男嘉宾入场
作者: McScofield    时间: 2019-12-26 19:32
做记录

作者: RoboMaster赛务    时间: 2019-12-26 19:32
请大家快点call小伙伴来哦!
作者: RoboMaster赛务    时间: 2019-12-26 19:33
今天的主题是2020空中机器人的视觉定位方案,Richard能跟大家说说今年的空中机器人视觉方案与以往有什么不同之处吗?
作者: McScofield    时间: 2019-12-26 19:33
来了来了
作者: a1123656537    时间: 2019-12-26 19:33
yieqqeqeqeeq
作者: 995586238    时间: 2019-12-26 19:33
欢迎欢迎

作者: Dragon    时间: 2019-12-26 19:33
宣传组已就位
作者: Richard fang    时间: 2019-12-26 19:34
由于Guidance停产的问题,将会导致新参赛队伍的空中机器人无法实现室内定位的功能。目前官方已经提供了SDK二次开发例程,经过验证同样满足室内定位的要求。官方的SDK二次开发例程仅是提供参考,参赛队伍要根据自己的需去决定自己的解决方案,编写SDK二次开发程序。
作者: dale27    时间: 2019-12-26 19:34
有直播视频地址吗?
作者: RoboMaster赛务    时间: 2019-12-26 19:35
那SDK开发的具体流程是怎么样的呢?
作者: Dragon    时间: 2019-12-26 19:35
就是文字直播吧
作者: 花师小哲    时间: 2019-12-26 19:35
圆桌直播一直是直播墙呀
作者: uestc_pmj    时间: 2019-12-26 19:36
能先别发消息不  都刷屏刷到第三页了
作者: Richard fang    时间: 2019-12-26 19:37
1.        看官网的资料,找到自己板载对应的开发教程;
2.        使用官方的程序,先用模拟器跑一边,看下具体的现象,分析一下代码;
3.        理清楚API的作用,可以自己尝试写下其它功能,并且在模拟器上看现象,看是否跟自己写的是一致的;
4.        模拟器仿真正常后,就可以在实际场景进行测试飞行

作者: g3123191    时间: 2019-12-26 19:37
来了来了
作者: L_Y_H    时间: 2019-12-26 19:38
欢迎欢迎

作者: RoboMaster赛务    时间: 2019-12-26 19:38
那在SDK开发过程中,有需要注意什么吗?
作者: Richard fang    时间: 2019-12-26 19:39
1.        要保证遥控能够可以随时抢夺飞机的控制权(保证在调试过程中出现问题,可以退出SDK模式),同样,可以安装灯或者能够明显提醒飞手的标志物,实时显示飞机当前的控制状态(是否在SDK开发模式)。
2.        开发新功能时,一定要在模拟器中先进行试验,不要立马进行实际飞行,要确保自身安全。
3.        实现定位功能前,飞机的基本参数要调试好(调试参数时不要飞太低,地效影响严重),先保证飞机定高模式飞行是十分稳定的,不会出现抖动现象,再去实现其他功能。

作者: 人生如梦    时间: 2019-12-26 19:39
在哪里看呢
作者: RoboMaster赛务    时间: 2019-12-26 19:39
大家记得实时刷新可见最新内容哦
作者: RoboMaster赛务    时间: 2019-12-26 19:41
很多同学会在SDK二次开发的过程中个,遇到SDK方面的问题自己无法解决,这时该怎么办呢?
作者: Richard fang    时间: 2019-12-26 19:42
出现SDK方面的疑问、移植到其它型号的板子进入hardfault中断、出现卡死(大疆SDK采用的芯片型号是407系列,在40x系列移植应该是没有问题的),可以将具体的问题描述清楚,发至大疆("Support”dev@dji.com)询问,正常情况下几天内会回复,会员的话大概是一天左右(工作人员平时比较忙,希望能够体谅一下)。
作者: 北吉星    时间: 2019-12-26 19:42
这种直播方式好新颖
作者: 花师小哲    时间: 2019-12-26 19:43
看来有很多圆桌的新朋友呢,欢迎欢迎
作者: 任乔楠    时间: 2019-12-26 19:43
要不专门建一个群吧?
作者: 任乔楠    时间: 2019-12-26 19:44
相互讨论在二次开发中遇到的问题
作者: 泠蝶    时间: 2019-12-26 19:44
官方有没有模拟器可以直接提供二次开发使用。或者有没有推荐的模拟器可供调试
作者: RoboMaster赛务    时间: 2019-12-26 19:44
圆桌直播(文字直播)地址:https://bbs.robomaster.com/forum-technology-1.html
大家记得实时刷新看内容
作者: a1123656537    时间: 2019-12-26 19:44
我看行
作者: 花师小哲    时间: 2019-12-26 19:44
其实。。。咱们论坛是有群的。。。不过圆桌建群emmmm大家可以自己建啊,没必要等官方
作者: 花师小哲    时间: 2019-12-26 19:45
建群是自由的啊
作者: 唯我星辰    时间: 2019-12-26 19:45
我记得官方的调参软件里自带模拟

作者: 唯我星辰    时间: 2019-12-26 19:45
只要用的是N3或者A3
作者: Richard fang    时间: 2019-12-26 19:46
@泠碟 同学你好,官方是有提高模拟器进行仿真的,你可以看下官方的教程
作者: RoboMaster赛务    时间: 2019-12-26 19:46
那么2020空中机器人一定要采用该方案实现室内定位吗?可否采用其它方式实现呢?
作者: Richard fang    时间: 2019-12-26 19:46
不好意思,打错字,官方是有提供模拟器的
作者: Richard fang    时间: 2019-12-26 19:47
不一定,目前这个方案是为了能让大家快速实现定位功能。采用的光流是已经将数据进行融合,不需要参赛队伍去处理便可以直接使用,减小了很多麻烦的步骤。参赛队员在学有余力的情况下,可以试试沈老师的vins开源算法+Realsense+manifold2,或者买下其它款式的光流,自己融合一下数据试试。
作者: 花师小哲    时间: 2019-12-26 19:47
这时候还有Guidance存货的朋友就有话说了hh
作者: pmj110119    时间: 2019-12-26 19:48
请问你们验证的结果有和guidance方案对比过悬停精度吗
作者: RoboMaster赛务    时间: 2019-12-26 19:49
有些同学发现在隔一段时间后,定位效果与之前不一样了,这是为什么呢?
作者: 唯我星辰    时间: 2019-12-26 19:49
想问一下模拟里面飞机的飞行情况是跟写的一样停在原地,还是像开源资料里的先往右飞再往前飞之后降落
作者: Richard fang    时间: 2019-12-26 19:49
1.        重量发生很大的变化时,原先调试的参数可能已经不适用了。
2.        光流是采用摄像头的数据,进行前后二帧特征点的对比。灯光的变化,以及场地的变化都会给光流的数据带来影响,所以参赛队开发的时候,要考虑周全,避免换了环境后定位效果发生很大的变化。

作者: 花师小哲    时间: 2019-12-26 19:49
光流啊,好像当时我们试过,不过后面改用了guidance,再回去试一下也未尝不可
作者: 狐狸    时间: 2019-12-26 19:49
可否采用第二GPS建立室内定位
作者: 唯我星辰    时间: 2019-12-26 19:50
我记得室内GPS用不了吧
作者: 狐狸    时间: 2019-12-26 19:50
场地光线变化对定位有很大的影响吧

作者: Richard fang    时间: 2019-12-26 19:51
@pmj110119 同学你好,我们在进行二次开发的时候是有进行悬停测试,具体的视频效果在资料压缩包里,二者当时是没有进行精度对比的
作者: 狐狸    时间: 2019-12-26 19:51
类似地面雷达定位,用GPS信号
作者: 花师小哲    时间: 2019-12-26 19:51
GPS室内用不了,不过这个“第二GPS”是啥呀。。。还是打错了
作者: 花师小哲    时间: 2019-12-26 19:52
哦哦,这样
作者: 唯我星辰    时间: 2019-12-26 19:52
大佬大佬
作者: 花师小哲    时间: 2019-12-26 19:52
(仍然保持怀疑态度)
作者: Richard fang    时间: 2019-12-26 19:52
@唯我星辰 室内的话是用不了GPS的,室内的话可以考虑使用UWB,不过现在比赛不使用不了的
作者: 李聪聪sky    时间: 2019-12-26 19:53
是想说uwb么?

作者: 狐狸    时间: 2019-12-26 19:53
建立室内坐标,用雷达机器人感知飞行器位置 ,建立上下双行信号链路
作者: 花师小哲    时间: 2019-12-26 19:53
话说现在到了提问环节了吗
作者: RoboMaster赛务    时间: 2019-12-26 19:53
有时候还会出现板载板子无法跟飞控进行通讯,这是什么问题呢?
作者: 花师小哲    时间: 2019-12-26 19:53
(看来已经到了)
作者: 大树    时间: 2019-12-26 19:53
在哪里直播怎么看不了
作者: RoboMaster赛务    时间: 2019-12-26 19:53
还没有!
作者: Richard fang    时间: 2019-12-26 19:54
首先,要确保飞控成功启动,板载STM32再进行对应的一系列初始化和通讯,可以再STM32程序中进行延时,或者等飞控成功启动后再给板载板子上电。
通讯失败也可能是板载STM32初始化出现失败或者其它问题,具体问题可以查看打印出来的消息,可以迅速定位问题(一般可以使用数传或者蓝牙等进行数据传输,可以很方便地观看各种数据,方便自己调试)。

作者: Dragon    时间: 2019-12-26 19:54
你已经到直播位置了

作者: 花师小哲    时间: 2019-12-26 19:54
UWB数据可以尝试读,雷达也可以尝试建立世界坐标,这是可以试一下的
作者: zbx    时间: 2019-12-26 19:54
使用slam来进行地图构建 有可行性吗


作者: 狐狸    时间: 2019-12-26 19:55
一些偏远地区地面植保就是这么做的
作者: RoboMaster赛务    时间: 2019-12-26 19:55
现在进入自由问答环节,请大家踊跃提问,Richard会实时回复大家,最后我们会让Richard挑选三位优秀提问者送出电机福袋!
作者: 花师小哲    时间: 2019-12-26 19:55
slam,emmm这个确实也有很多队伍在尝试,但是平时也没有太多关注过,不知道具体效果如何
作者: 狐狸    时间: 2019-12-26 19:56
场地光线对视觉定位的影响大吗?
作者: 李聪聪sky    时间: 2019-12-26 19:56
视觉slam进行空间定位么?
作者: Richard fang    时间: 2019-12-26 19:57
花师小哲说得是可行的,UWB是可以读取后跟飞控的数据进行融合,是可以实现室内定位,不过目前比赛是不建议使用,因为UWB的标签太多,延时会严重一些
作者: whl970831    时间: 2019-12-26 19:58
slam实时定位?
作者: 花师小哲    时间: 2019-12-26 19:58
是这样的,UWB的数据确实不太好用
作者: 狐狸    时间: 2019-12-26 19:58
一键启动uwb的话呢,
作者: 李聪聪sky    时间: 2019-12-26 19:58
视觉slam放在无人机上也是和ros结合么?
作者: Richard fang    时间: 2019-12-26 19:59
场地光线是会影响对定位效果的,因为光流实质就是图像特征点的对比,不过光流一般都是需要跟加速度计陀螺仪进行数据融合的,效果会好一些
作者: Initia    时间: 2019-12-26 19:59
guidance也会受灯光的变化,以及场地的变化都会带来影响吗?
作者: Kevin_JF    时间: 2019-12-26 19:59
#提问,水平定位的必要性大吗,在实际场地中,竖直方向定高的环境变化较小,水平方向定点周围环境变化较大(灯光,场地遮挡物等),加装水平定点的效果与姿态模式或gps模式的效果相比优化有多大?
作者: SkingJay    时间: 2019-12-26 20:00
定位跟踪采用多摄像头方案好还是云台+摄像头?

作者: 狐狸    时间: 2019-12-26 20:00
光流可不可以用一键启动/关闭?
作者: 李聪聪sky    时间: 2019-12-26 20:01
如果说能放在ros下是不是一个带imu的双目视觉模块就能搞定?
作者: Richard fang    时间: 2019-12-26 20:01
guidance肯定是会受光线的影响,不过内部已经做了数据处理融合
作者: CloudSky    时间: 2019-12-26 20:01
请问在开源的光流定位方案中,官方在测试的时候是直接用光流定位模式起飞的么,还是先在手动模式起飞,起飞结束再切换到定位模式。因为我们在初步测试的时候发现好像直接在OSDK的定位模式下起飞,起飞会很困难(相较于在非SDK模式下起飞)




欢迎光临 RoboMaster (https://bbs.robomaster.com/) Powered by Discuz! X3.2