├── README.md └── docs ├── mecanum.pdf └── two_wheel_differential_drive.pdf /README.md: -------------------------------------------------------------------------------- 1 | # 智能战车 DIY 活动 2 | 3 | 欢迎大家参与一起 DIY 智能战车活动,本次活动的成果将是制作出一辆属于自己的智能战车,活动过程中,会涉及到方方面面的知识,需要大家持续学习。相关的资料全部开源/开放。 4 | 5 | ## 功能要求 6 | 7 | ### 基本功能:遥控智能车 8 | 9 | * 本功能需要完成底盘运动控制系统,进而通过底盘的电机控制战车能够前进、后退、左转、右转、旋转、加速、减速!并实现通过编码器反馈速度,通过PID算法控制速度。战车可以支持不同类型的底盘,如:麦克纳姆轮、后轮差速驱动、前轮舵机转向,后轮动力驱动等等。也支持通过PWM或者CAN进行控制的电机! 10 | 11 | * 除此之外,还需要实现遥控系统,以达成使用遥控器对战车进行遥控指挥!我们可以支持大多数遥控器,比如:PS2遥控、航模遥控器、手机或PC通过Wi-Fi遥控! 12 | 13 | ### 高级功能:云台和射击功能 、自动识别目标 14 | 15 | 16 | * 完成这一部分,参与者也许会遇到一些挑战,但只有遇到过挑战才能体会“会当凌绝顶”的快意不是吗?我们需要完成射击系统,通过二轴云台控制射击装置的运动,实现射击装置可上下、左右转动,以瞄准射击目标。支持红外射击(通过红外激光进行发射)、水弹射击(通过拨弹轮和摩擦轮控制射击,对机械要求高),以上射击方式可自选。我们将使用LED灯管或者LCD屏标识血量,被射中的战车可以显示失血。并实现战车在射击和被击中都会发出声音! 17 | 18 | * 为了避免沙雕战车敌我不分的情况,我们还需要完成目标识别系统。这里需要通过摄像头进行图像采集,使用机器视觉对采集的图像进行目标识别,然后控制射击系统对目标进行射击! 19 | 20 | ### 扩展功能:自由发挥 21 | 22 | * 平衡车、履带车、避障、路径规划、竞速、图像视觉、语音等 23 | 24 | ## 时间安排 第一阶段 4 周 25 | 26 | ### 第一周 27 | 28 | 1. 第一阶段硬件环境准备,控制板、车模底盘及其他配件 29 | * 控制板,自行选择,如 IoT Board,Robomaster,imxRT 等,官方使用 IoT Board; 30 | * https://item.taobao.com/item.htm?id=583527145598 31 | * https://github.com/RT-Thread/IoT_Board 32 | * 底盘自行选择,参考底盘: 33 | * https://item.taobao.com/item.htm?spm=a1z0d.6639537.1997196601.220.61187484ephkBL&id=35831296664 34 | * https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-16331967916.36.26fd22bfp3xr3H&id=550450598518 35 | * https://item.taobao.com/item.htm?spm=2013.1.20160405.12.afaf11b7lLmKUu&scm=1007.13066.127283.0&id=579913504272 36 | * 电机驱动板参考 37 | * https://item.taobao.com/item.htm?spm=a1z0d.6639537.1997196601.255.61187484ephkBL&id=578999575475 38 | * 遥控器自选,PS2 / 航模遥控 / 大疆遥控器,参考: 39 | * https://item.taobao.com/item.htm?spm=a1z0d.6639537.1997196601.202.61187484ephkBL&id=536581090144 40 | 41 | 2. 软件项目准备 42 | * 熟悉 Git、Github、Markdown 43 | * 参考 https://github.com/yqiu2018/pandora_robot 创建自己的 github 仓库 44 | * 向 https://github.com/yqiu2018/chariot_notice/blob/master/README.md 提交 pr, 登记信息 45 | 46 | 3. 在控制板上移植 RT-Thread,FinSH 能正常运行 47 | * 使用 RT-Thread 3.1.3 版本,下载地址:https://pan.baidu.com/s/1mgIAyWo#list/path=%2Fsharelink4264488348-458281830578469%2FRT-Thread%E5%8F%91%E5%B8%83&parentPath=%2Fsharelink4264488348-458281830578469 48 | * 入门资料: https://www.rt-thread.org/document/site/ 49 | * API手册:https://www.rt-thread.org/document/api/index.html 50 | * STM32 运行:https://github.com/RT-Thread/rt-thread/tree/master/bsp/stm32 51 | * ENV工具:ENV工具可以通过以下链接获取:https://pan.baidu.com/s/1cg28rk#list/path=%2F 52 | 53 | 4. PWM 驱动或者CAN 驱动调试成功 54 | * 参考 https://www.rt-thread.org/document/site/programming-manual/device/pwm/pwm/ 55 | 56 | 完成文档报告例如:“[一起 DIY 智能战车]软硬件环境准备”。介绍软硬件环境的准备过程,提交到自己的 github 仓库,并发布到至少一个论坛; 57 | 58 | ### 第二周 59 | 60 | 1. 实现智能车开环控制功能 61 | * 阅读 RT-Robot 源码 62 | * 阅读 RT-Robot 设计文档 63 | * 实现智能车的开环控制功能,智能车能前进/后退/左转/右转 64 | 65 | 完成文档报告例如:“[一起 DIY 智能战车]创建智能车应用,实现开环控制”。提交到自己的 github 仓库,并发布到至少一个论坛; 66 | 67 | ### 第三周 68 | 69 | 1. 实现遥控器控制功能 70 | * 控制板如有 Wi-Fi 功能,先可使用 Wi-Fi 实现 Telnet 进行控制 71 | * 其他的可以使用 PS2 / 航模 / 大疆遥控器进行控制 72 | 73 | 完成文档报告例如:“[一起 DIY 智能战车]创建智能车应用,实现遥控器控制”。提交到自己的 github 仓库,并发布到至少一个论坛; 74 | 75 | ### 第四周 76 | 77 | 1. 实现编码器驱动或者其他测速驱动 78 | 2. 调试 PID 控制算法,实现闭环控制 79 | 80 | 完成文档报告例如:“[一起 DIY 智能战车]创建智能车应用,实现闭环控制”。提交到自己的 github 仓库,并发布到至少一个论坛; 81 | 82 | ## 第二阶段 83 | 84 | ### 待安排 85 | 86 | ## 奖励 87 | 88 | 项目完成后会对大家最终完成的作品进行评奖,标准如下: 89 | 90 | * 过程 50%:每周的文档报告质量;任务完成及时性; 91 | * 结果 50%:最终作品的功能、性能; 92 | 93 | * 优秀作品将获得 1000 元现金奖励 94 | * 本次报名活动时缴纳100元活动经费,在实现基本功能智能遥控小车后退还,未完成者的费用将会作为优秀作品选手的额外奖励; 95 | 96 | ## 要求 97 | * 请按时完成任务,原则上第一阶段完成时间不超过6周; 98 | * 本次活动需花费较多时间,请合理安排时间。 99 | * 请在微信群中多沟通,大家互相帮助,一起 DIY,一起加油! 100 | 101 | ## 智能车项目列表 102 | 103 | | 队伍名 | 项目名 | Github 地址 | 104 | | --------- | ---------------- | ------------------------------------------- | 105 | | 狂暴战车 | 潘多拉差速智能车 | https://github.com/yqiu2018/pandora_robot/ | 106 | | MiniDream | IFRobot | https://github.com/leazer/MiniDream_IFRobot | 107 | | GeekRobot | 麦轮智能车 | https://github.com/michaelzhang1987/GeekRobot.git | 108 | | 橘子战队 | juzi_robot | https://github.com/shenjinpeng/juzi_robot | 109 | | 鲲鹏战队 | roc_robot | https://github.com/Eronwu/roc_robot | 110 | | 影 | robo_car | https://github.com/lixing3204/rm_car | 111 | | 牛奔奔战队 | miaomiao_car | https://github.com/XiaojieFan/miaomiao_car | 112 | | SnowStorm战队 | snowstorm_car | https://github.com/bluesky-ryan/snowstorm_car.git | 113 | | 1+1战队 | 1+1战队的小车 | https://github.com/271359695/xiaoche_car.git | 114 | |我是田甜做梦都想得到的男人|SLAMUGV |https://github.com/HE585858/SLAMUGV.git | 115 | | 中天战队 | 潘多拉麦克纳姆智能车 | https://github.com/sundm75/pandora_zhongtian_car | 116 | | 滑稽小队 | funny_car | https://github.com/iamluoyijie/funny_car | 117 | | 妖魔战队 | 差速三轮车 | https://github.com/yaojinrun/yaomo_car | 118 | | KeepAhead战舰 | Seven_Robot | https://github.com/yanchunqing2010/Seven_Robot | 119 | | 肥宅快乐队 | 智能履带小车 | https://github.com/wonderword/gaygay | 120 | | ONE_T战队 | 亚博智能战车 | https://github.com/wang84947/4wdcar_stm32103| 121 | | air | kingcobra_car | https://github.com/FindYGL/-kingcobra_car | 122 | | 群山之翼 | block_robot | https://github.com/work4blue/block-robot | 123 | | 狂飙的小野马| Rcar | https://github.com/Yangs17/dir_car.git | 124 | 125 | ## 参考文献 126 | 127 | - [两轮差分动力学模型](docs/two_wheel_differential_drive.pdf) 128 | - [麦克纳姆轮动力学模型](docs/mecanum.pdf) 129 | 130 | -------------------------------------------------------------------------------- /docs/mecanum.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yqiu2018/chariot_notice/d1bfc9693a2cb8854d8c0e424a6ff196f66b65b1/docs/mecanum.pdf -------------------------------------------------------------------------------- /docs/two_wheel_differential_drive.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yqiu2018/chariot_notice/d1bfc9693a2cb8854d8c0e424a6ff196f66b65b1/docs/two_wheel_differential_drive.pdf --------------------------------------------------------------------------------