机甲大师机器人控制(一):概念与流程
本文是机甲大师机器人控制的系列博客之一。本文主要介绍了机甲大师机器人以及博主在开发其控制策略时所采用的流程。本系列博客的模型和代码已经上传CSDN资源。
系列博客:
机甲大师机器人控制(一):概念与流程
机甲大师机器人控制(二):功能分析
机甲大师机器人控制(三):软件架构设计
机甲大师机器人控制(四):软件单元
机甲大师机器人控制(五):软件单元测试
机甲大师机器人控制(六):集成测试
机甲大师机器人控制(七):购买清单
文章目录
- 1 机甲大师机器人
- 2 软件开发流程
1 机甲大师机器人
博主第一次接触机甲大师机器人,是在网购的时候首页推荐的一款大疆教育机器人RoboMaster S1。博主当时就被视频里炫酷的外形深深吸引了。
根据介绍,该款机器人具有非常强大的功能。
- 通过特殊构造的麦克纳姆轮可以使机器人实现全向运动;
- 可以通过手柄或者手机操控机器人;
- 通过水弹枪瞄准目标并发射水单;
- 通过摄像头实现行人跟踪、目标检测等机器视觉相关功能;
无奈该产品价格非常昂贵,博主实在舍不得掏钱购买。不过转念一想,作为一名资深的汽车工程师(其实只有一年多工作经验),自己购买零件组装一个这样的机器人,并且使用基于模型的设计方法来搭建控制模型应该也不会很难。
所以花费了近半年的时间,克服了若干问题后,终于DIY了一个机甲大师机器人,成品效果图如下。
后文会讲解博主是如何通过<基于模型的设计>方法来完成机甲大师机器人的控制策略的。
2 软件开发流程
本文参考汽车行业的软件开发流程,并加以简化,得出一个适合自己业余DIY的软件开发流程。
汽车行业按照V模型开发软件。从纵向看,软件越来越细化、越来越深入;从横向看,左边的设计和右边的验证一一对应,如下图所示。
本文借鉴这个流程,按照下图中简化版V模型开发机甲大师机器人的软件模型,只有5个步骤,如下图所示。
每个步骤的含义如下:
- 功能分析:在DIY机甲大师之前,心里就想好自己做的东西想要实现那些功能。这些功能必须是可实现的和可验证的;
- 软件架构设计:根据上一步得出的功能需求,设计模型的架构、子系统以及输入输出接口;
- 软件单元:在模型中设计每个子系统以及嵌套的子系统里面具体的策略;
- 软件单元测试:根据软件架构在模型中测试每个子系统的输入输出是否达到了该子系统的需要;
- 集成测试:将模型生成代码,与其他STM32项目代码集成,下载到控制器中;将硬件全部组装、焊接完成,测试实物的控制效果;
本系列博客会针对每一个步骤具体说明博主开发机甲大师机器人控制软件的过程。另外需要注意,博主自己总结的简化版V模型只是用于DIY创客制作,对于汽车行业的软件开发是远远不够的。
>>返回个人博客总目录
机甲大师机器人控制(一):概念与流程相关推荐
- 机甲大师机器人控制(三):软件架构设计
本文是机甲大师机器人控制的系列博客之一.在功能分析的基础上,本文设计软件的架构以及定义输入输出接口. 系列博客: 机甲大师机器人控制(一):概念与流程 机甲大师机器人控制(二):功能分析 机甲大师机器 ...
- 机甲大师机器人控制(四):软件单元
本文是机甲大师机器人控制的系列博客之一.在软件架构设计的基础上,本文设计每个模块中的控制算法. 系列博客: 机甲大师机器人控制(一):概念与流程 机甲大师机器人控制(二):功能分析 机甲大师机器人控制 ...
- 机甲大师机器人控制(六):集成测试
本文是机甲大师机器人控制的系列博客之一.在软件单元测试阶段完成后,进行集成测试.本文内容与功能分析阶段相对应.另外,阅读本文的内容需要一些STM32调试经验. 系列博客: 机甲大师机器人控制(一):概 ...
- 机甲大师机器人控制(二):功能分析
本文是机甲大师机器人控制的系列博客之一.本文介绍了博主在开发控制策略的前期对其进行的功能分析并熟悉一些基本原理. 系列博客: 机甲大师机器人控制(一):概念与流程 机甲大师机器人控制(二):功能分析 ...
- 机甲大师机器人控制(七):购买清单
本文详细介绍博主在DIY机甲大师机器人的过程中所购买的零件和工具. 系列博客: 机甲大师机器人控制(一):概念与流程 机甲大师机器人控制(二):功能分析 机甲大师机器人控制(三):软件架构设计 机甲大 ...
- RoboMaster机甲大师——视觉组——总结、未来期望与比赛经验分享
RoboMaster机甲大师--视觉组--总结与未来期望 FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 入坑指南 各兵种需要的视觉: 步兵-每年必备 ...
- RoboMaster机甲大师:裁判系统服务器搭建(完全版)
RoboMaster机甲大师:裁判系统服务器搭建(完全版) 更新 2022.03.28 更新 2022.03.23 前言 准备 搭建步骤 MySQL安装 配置环境 组建局域网 路由器端(Router) ...
- python 常量_大疆机甲大师Python开发: 两只老虎
大疆机甲大师演奏<两只老虎>https://www.zhihu.com/video/1168271599123320832 之前大疆机甲大师Python开发: 中文命名变量初尝试说到跳过了 ...
- 大疆机甲大师教育机器人Python开发:中文命名变量初尝试
简言之, 官方例程中的Twister程序, 略加修改添加了一个中文变量, 运行成功! def start()速度 = 120...chassis_ctrl.set_rotate_speed(速度)gi ...
最新文章
- CIC滤波器溢出处理
- C# 学习笔记(7) 进程
- js 实时计算文本框字数限制
- vs code python 插件_工具篇-vscode效率提升插件
- html5首页图标怎么除掉,移动端H5页面端如何除去input输入框的默认样式
- 【图像处理】MATLAB:频域处理
- bzoj 2281: [Sdoi2011]黑白棋 bzoj 4550: 小奇的博弈(Nimk博弈+DP)
- java不带括号_java – 打印数组,不带括号和逗号
- 计算机普通话培训开班简报,普通话培训第四期简报.doc
- paip.c++ 指针跟引用的区别.
- 回弹怎么用计算机计算,回弹法检测混凝土抗压强度标准差和推定值的计算方法 公式...
- 什么是ISO9000质量管理体系认证以及认证流程
- 一个大学计算机教师的英文简历,大学教师英文简历模板范文
- 三角网导线平差实例_附合导线平差步骤
- 仿QQ登录界面UI设计
- 美国音乐学院计算机音乐专业排名2015年,美国音乐学院排名前100
- 5GC 网元AMF、SMF、UPF、PCF、UDM等介绍
- 火车票分段分批放票的时间
- 如何用ChemDraw实现3D建模
- 好用的Mac免费视频后期软件推荐