实时控制软件第三次作业

1、个人知识基础和技术能力,应该采取何种学习和训练路径?

1.1、编程能力。

对某一种语言能很好的掌握,比如c/c++,matlab,或者Java什么的。还有诊断,提高效能的技术,一段代码拿来,能知道哪里出了问题,可以利用开发平台模拟代码的效率,通过改进算法提高代码的效率,这需要熟悉常见的算法。
学习的方法我觉得就是先看看入门的书籍,再加上自己大量的练习书上的例子,再尝试一些小的个人项目,就能全面地提升各方面的编程能力,比如《构建之法》中提到的自动生成算术题的程序。

1.2、对问题领域的知识和经验的积累。

如果是从事机器人有关的软件开发,除了基础的编程能力,应该还对多体运动学,轨迹规划,插补算法,有比较好的了解。机器人的位置描述中涉及了很多矩阵,刚好很适合用Matlab编程。还要对熟悉至少一种MCU,比如ARM。实时控制系统,比如我们现在正在接触的FreeRTOS。
最好的学习方法我觉得就是实践,最好能参加一些学校里机器人的比赛。

1.3、软件设计思想。

要提高软件设计的思想,光看别人的代码是不够的,还要自己大量的实践,也就是自己要多接触新的项目,多写代码吧。

1.4、职业技能。

包括自我管理的能力,表达和交流的能力,与人合作的能力,把任务按时按量完成的执行力。这些能力不管在什么行业都是很重要的。

2、基于模型的设计流程相对于其他开发流程的优缺点。

2.1、优点

图形化设计,便于交流,便于维护。
更高效的早期验证。
代码的自动生成,大大提升开发效率。
文档的自动化。

2.2、缺点

精确建模比较难,需要此领域的专家来开发。

2.3、例子

利用SVVPWM原理控制三相交流电机转速,基于模型的设计流程,再Simulink上要实现非常容易,里面有设计好的逆变器以及电机的模型,只要自己输入参数,就能很方便地进行仿真。但是如果是自己一行一行写代码,那工作量会大很多。

3、一点读后感

个人开发流程中的任务清单


这个表格以后编程可以用上。

以前写程序只是注重实现功能,现在知道还需要进行程序的效能分析。

最重要的还是实践,现在的水平还太低了,基本的c和c++都掌握的不是很好,现在先在尝试写那个生成题目的程序。

原文地址:https://www.cnblogs.com/zlll/p/7635956.html