第三次作业
VxWorks操作系统
VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的 F-16、FA-18 战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。
可靠性
操作系统的用户希望在一个工作稳定,可以信赖的环境中工作,所以操作系统的可靠性是用户首先要考虑的问题。而稳定、可靠一直是VxWorks的一个突出优点。自从对中国的销售解禁以来,VxWorks以其良好的可靠性在中国赢得了越来越多的用户。
实时性
实时性是指能够在限定时间内执行完规定的功能并对外部的异步事件作出响应的能力。实时性的强弱是以完成规定功能和作出响应时间的长短来衡量的。
VxWorks 的实时性做得非常好,其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,它们造成的延迟很短。 VxWorks 提供的多任务机制中对任务的控制采用了优先级抢占(Preemptive Priority Scheduling)和轮转调度(Round-Robin Scheduling)机制,也充分保证了可靠的实时性,使同样的硬件配置能满足更强的实时性要求,为应用的开发留下更大的余地。
可裁减性
用户在使用操作系统时,并不是操作系统中的每一个部件都要用到。例如图形显示、文件系统以及一些设备驱动在某些嵌入系统中往往并不使用。
VxWorks 由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。VxWorks 内核最小为 8kB,即便加上其它必要模块,所占用的空间也很小,且不失其实时、多任务的系统特征。由于它的高度灵活性,用户可以很容易地对这一操作系统进行定制或作适当开发,来满足自己的实际应用需要。
团队项目
实现一个两轴机械手的运动控制仿真,主要功能包括:
- 用户接口任务:负责接收来自用户的请求,并发送运动指令给轨迹插补任务。
- 轨迹插补任务:接收运动指令,实时计算各轴的位置和速度设定值。
- 物理引擎接口:基于ODE开源物理引擎,创建一个两轴机械手及环境的物理模型,用轨迹插补任务输出的各轴位置和速度设定值控制模型的运动,并把实时状态反馈给轨迹插补任务。
- 图形化用户接口:可基于qt把上述功能集成到一个GUI界面。
我的编程能力不足,从兴趣上出发,我比较喜欢图形化用户接口,课下自己学习qt,把上述功能集成到一个GUI界面。
团队协作的看法:
我参加了一个机器人团队,并且在里面做了两年比赛,所以对团队协作有比较深的看法。毫无疑问,团队协作能力非常重要,做一个比较大的工程,往往需要不同专业,不同专长的人来一起完成,任何一环都不能出现问题。例如做一个机器人,至少需要机械、电路、控制和视觉这个几个方向的人来完成。机械是基础,是最直接的体现,可以把它比作人的四肢;电路是机构动作与控制的链接桥梁,我把它比作血液;控制则富裕机器人什么,是人的大脑。各小组成员要相互信任,也要抱有强烈的责任心。机械组要尽快设计出合理的机构,给控制组争取留有较多的调试时间,而控制组要用心调试机构,要对得起机械组的心血。
同样,在一个软件开发过程中,也需要工程师们的合作,每个人擅长及兴趣不同,这时候需要分工合理,做大限度的发挥各个成员的能力。作为成员,我们要完成好自己的工作,不给队友挖坑,成员之间要多沟通,避免不必要的对接麻烦。