Skip to content

mfkiwl/BTP_DM

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Birdiebot Target perception And Decision Making Framework

Birdiebot目标感知与决策框架

Birdiebot目标感知与决策框架(Birdiebot Target perception And Decision Making Framework, BTP&DM)是一个针对RMUC/RMUL/RMUT开发的一款开源框架,你可以通过BTP&DM快速构建机器人。该项目受到上海工程技术大学上海市大学生创新创业基地木鸢机甲工作室的资助,参与该项目请联系zyhbum@foxmail.com

BTP&DM包含了以下内容:

  • 高度解耦的模块化设计能够通过在框架中添加不同层的方式实现新的任务
  • 基于opencv的传统视觉目标特征检测,包含装甲板识别及能量机关识别
  • BCP(Birdiebot Communication Protocol,birdiebot通讯协议)
  • 使用深度学习完成目标识别与分类
  • BCPViewer对使用BCP数据的实时UI显示
  • 对于赛场环境的决策处理

教程及wiki

为了帮助快速上手BTPDM,你可以参考下面的视频教程:

【SUES木鸢机甲工作室】RoboMaster算法组基础培训
【SUES木鸢机甲工作室】RoboMasterBTPDM开源框架讲解(更新中...)
2021RoboMaster青年工程师大会哨兵机器人答辩

欢迎访问BTPDM的wiki页面,你可以在这里发现BTPDM的详细框架设计及功能模块说明

系统框架概述
环境配置和依赖工具
文件目录结构及文件用途说明
设计思想与设计模式
木鸢通讯协议概述
性能分析
功能模块:任务调度器
功能模块:装甲板识别及自瞄任务
功能模块:能量机关识别及击打任务
功能模块:木鸢通讯协议
功能模块:BCPloger及BCPViewer
算法分析:位姿解算
测试分析及效果展示
BTPDM优化方向和Roadmap

编码风格指南

BTP&DM推荐使用PEP8编码规范编写的python代码,在开始修改BTP&DM前,请谨记:A Foolish Consistency is the Hobgoblin of Little Minds
在编辑和维护BTP&DM前,请保证代码可读性和规范,BTP&DM使用PEP-8编码风格

  • 养成良好的命名规范,正确对变量名进行命名
  • 正确的引入需要的packages
  • 请确保所有模块、重要功能模块添加了注释,请使用 Strunk and White, The Elements of Style 中推荐的注释风格
  • 对异常进行检查并抛出相应的异常信息,任何意外出现的异常都可能直接导致失去一局比赛

详细的编码风格请参阅PEP 8 -- Style Guide for Python Code

版权和许可信息

BTP&DM使用 Apache Licence 2.0许可证,鼓励在尊重木鸢机甲工作室及上海工程技术大学的著作权基础上的代码共享,欢迎各参赛队参与项目修改与维护,并作为开源或商业软件再次发布。
但注意

  • 您需要在修改的代码中保留Apache Licence
  • 如果你使用了修改了代码,需要在被修改的文件中说明。
  • 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他BTP&DM、木鸢机甲工作室及上海工程技术大学所规定需要包含的说明。
  • 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。 木鸢机甲工作对其发行的或与合作伙伴共同开发的BTP&DM,受各国版权法及国际版权公约的保护。
    对于上述版权内容,超越合理使用范畴、并未经木鸢机甲工作室书面许可的使用行为,木鸢机甲工作室均保留追究法律责任的权利。

相关法律

  • 《中华人民共和国刑法》(节录)
  • 《中华人民共和国商标法》
  • 《全国人民代表大会常务委员会关于维护互联网安全的决定》
  • 《计算机信息网络国际联网安全保护管理办法》
  • 《计算机软件保护条例》

About

Birdiebot Target Prception And Decision Making Framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 91.1%
  • Jupyter Notebook 8.8%
  • C++ 0.1%