RoboMaster开源软件栈项目(RoboMaster OSS)

1.写在前面

本人18年参赛者,视觉组一员,那时候RM圈还不是很成熟,因此也走了很多弯路,说起一年来到底学到多少技术,很惭愧的说很少,当然RM比赛不只是技术,技术之外更教会自己如何去考虑团队,以及备赛过程中的苦中作乐,都是不可多得的体验。

废话不多说,由于本人目前在搞机械臂视觉控制相关工作,用到了ROS和Gazebo仿真,对于ROS,搞机器人软件开发的应该都不陌生,机器人软件开发中的大哥。想着用ROS开发RoboMaster视觉算法是不是可以提高开发效率,同时也降低入门门槛,于是打算搞一个基于ROS2的RoboMaster开源软件栈:

  • 为RM开发提供技术积累,避免重复造轮子,提高开发效率
  • 同时也为RM新入门的小伙伴提供入门教程,让RM的小伙伴可以学到更多的技术。
  • 当然另一个希望就是通过Ignition Gazebo仿真项目,让没有机会参与RoboMaster比赛项目的同学,也有机会通过RoboMaster开源栈学习技术。

2.RoboMaster开源软件栈项目简介

RoboMaster OSS(RoboMaster Open Software Stack,RMOSS)是为RoboMaster高性能计算平台软件开发提供快速开发工具的一个通用统一的开源软件栈。

rmoss_bg.png

RoboMaster OSS目前包含三个核心项目:rmoss_core, rmoss_contrib, rmoss_ign。

  • rmoss_core:为RoboMaster提供通用基础功能模块包,如相机模块,弹道运动模块等。
  • rmoss_contrib : 为RoboMaster提供任务级功能模块包,如自动瞄准模块,能量机关模块等。
  • rmoss_ign : 为RoboMaster提供Ignition Gazebo仿真支持,如相关机器人模型,Ignition插件等。

其中的各个模块均基于ROS2开发,入手难度低,且可以与ROS2社区中其他项目结合,开发出更好玩的应用。

rmoss_core

模块 功能说明
rm_common 公共工具包,包括调试,图像处理等公共基础工具。
rm_interfaces RM相关的ROS interface包,包含相关msg,srv,action定义文件。
rm_base 基本通信工具包,包含PC与嵌入式系统(stm32)通信相关工具。
rm_cam 相机工具包,实现usb相机驱动,以及图片视频虚拟相机。
rm_task 任务相关工具,提供了一个图像相关任务基类。
rm_projectile_motion 通用弹道模型工具包,可以修正子弹飞行过程中重力因素的影响。

rmoss_contrib

模块 功能说明
rm_auto_aim RoboMaster基础自瞄任务的简单算法实现
rm_power_rune2019 RoboMaster2019能量机关任务的简单算法实现

rmoss_ign

模块 功能说明
rmoss_ign_resources 提供Ignition models worlds等资源,如RoboMaster机器人常用的传感器模型,机器人组件模型,场地模型等。
rmoss_ign_plugins 为RoboMaster Ignition仿真提供插件支持。

除此之外,还有一些应用项目,如RoboMaster University AI Challenge 2019仿真环境项目rmua19_ignition_simulator 等。

3.RoboMaster开源栈项目展示

3.1 自动瞄准功能包

RoboMaster自瞄功能的一个简单实现,根据颜色识别灯条,然后灯条两两匹配,得到识别结果。

演示效果如下:

自瞄识别结果

3.2 能量机关功能包

RoboMaster2019赛季的能量机关任务实现了一个简单的算法实现(仅支持大能量机关) 其中相机固定在底盘上, 只识别装甲板,依据时间状态机选择打击目标。

演示效果如下:

能量机关可视化结果

3.3 RoboMaster University AI Challenge 2019仿真

rmua19_ignition_simulator是基于Ignition Gazebo的仿真环境,为RoboMaster University AI Challenge 2019中的机器人算法开发提供仿真环境,加快开发效率。目前rmua19_ignition_simulator还不完善,仅提供以下功能:

  • RoboMaster University AI Challenge 2019简易场地:只有围墙
  • RoboMaster University AI Challenge 2019 标准机器人模型:
    • 使用xacro4sdf进行SDF建模,模型图纸来自RoboRTS 中的 RoboMaster AI机器人机械图纸
    • 支持麦克拉姆轮地盘,使用rmoss_ign中的麦克拉姆轮插件,支持里程计(模拟里程计,无nosie)
    • 支持云台(pitch,yaw)角度控制,使用Ignition官方插件JointPositionController
    • 搭载云台相机,激光雷达等传感器,可进行开发slam等应用开发。
    • 具有装甲板灯条发光效果,可测试自瞄等识别算法。
  • ros2接口:robot_base模块
    • 可使用通用的ros2 msg控制机器人移动

注:不支持发射子弹。

效果图如下:

仿真环境

4. 写在最后

RoboMaster OSS项目在算法实现层面,并没有做到最好,甚至只是最简单的实现,比如自动瞄准算法的实现和能量机关算法实现,相比目前网上各个高校的开源项目,可谓是小巫见大巫。但是RoboMaster OSS依然有其令人振奋的地方:

  • 基于ROS2开发,使用ROS规范,可以让RoboMaster软件开发可以更加规范。同时拥抱ROS社区,可以直接使用许多ROS社区中的高级功能包,避免重复造轮子,提高开发效率。
  • RoboMaster Ignition仿真项目rmoss_ign 是令人兴奋的另一个点,基于仿真环境,可以快速的测试一些算法应用,同时也为没有RM机器人,但对RM感兴趣的同学也能使用仿真环境开发RoboMaster软件应用。

RoboMaster OSS是一个开源项目,也是一个开源社区,如果有志同道合的同学也想要参与RoboMaster OSS的开发,欢迎联系一起交流讨论。

(本文遵循开源协议:CC-BY-SA 4.0。首发于RoboMaster论坛


写BUG不易,希望各位看官可以在Github上给个star支持一下(●'◡'●)

https://github.com/robomaster-oss

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345

推荐阅读更多精彩内容