机器人软件系统:从代码驱动到模型驱动的软件开发
1. 引言
随着机器人技术和认知科学的进步,人们对新一代机器人设备充满期待。这些机器人能在人类日常环境中与人交互合作,无缝融入复杂环境,适应不同系统层级,执行多种任务,并能适应不同情况和变化条件。然而,目前特定机器人能力和硬件的稳定提升,并未在现实环境中带来相应的机器人性能提升。简单的机器人设备,如扫地机器人和割草机器人,在商业上取得了成功,其关键在于鲁棒性和单一用途设计。而更复杂的机器人设备,如Care - O - Bot 3和PR2,尚未获得商业成功,其特点是硬件和软件复杂度高。
高级机器人系统是复杂的系统,其复杂性源于整合了大量异构资源(机器人、认知、计算、算法等)。尽管付出了努力,即使是复杂的系统,在现实环境的复杂场景中,仍无法达到预期的整体服务质量水平。服务质量包括系统在开放环境中正常运行所需的非功能性属性,如对异常情况的鲁棒性、在有限资源下的性能以及长时间的活跃度。由于高级机器人系统的关键功能由软件提供,且软件的主导地位日益增强,因此掌握软件复杂性对于发挥高级机器人组件和算法的能力至关重要。将现代软件工程方法应用于机器人领域,被认为是高级机器人系统集成取得重大进展的关键。
2. 机器人领域的软件工程
复杂系统很少从头开始构建,其设计通常根据各种技术关注点进行划分。在机器人领域,这些关注点包括机械、传感器和执行器、控制和算法、计算基础设施以及软件系统。一般来说,成功的复杂系统工程依赖于分治法来降低复杂性。成功的市场通常会为参与者和利益相关者明确分配角色,包括组件开发者、系统集成商、应用领域专家、商业顾问和最终用户。
传感器、执行器、计算机和机械部件等商业现货黑盒组件,具有精确的特
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



