还可以这样实现ARM+ROS(机器人操作系统)
如何低成本搭建ARM+ROS的硬件载体?本文将为读者提供一个全新的技术方案。全文分概述、硬件与底层、ROS搭建三个章节,敬请订阅。
1. ROS简介
ROS是机器人操作系统(Robot Operating System)的英文缩写,是用于编写机器人软件程序的一种具有高度灵活性的软件架构,其原型源自斯坦福大学的Stanford Artificial Intelligence Robot (STAIR) 和 Personal Robotics (PR)项目。
ROS是一个用于实现机器人编程和开发复杂机器人应用程序的开源软件框架,依托于Linux之类的操作系统上,所以ROS也被称为元操作系统或中间件软件框架。ROS提供了各类成熟的功能包,如:摄像头驱动、OpenCV图像处理、SLAM建图导航等。功能包中的代码可以是C++、Python、Octave等不同的编程语言编写,虽然不同模块基于不同语言编写,但仍可以被ROS组合起来一起使用。这意味着,当开发新款机器人时,开发者不需要做基础的传感器驱动、甚至不必实现某些应用,直接调用ROS自带的功能包,同时ROS是分布式架构,对于大型复杂机器人而言,可以把各个功能分别部署在不同控制板上。
2. 硬件介绍
本文档使用本司的HDG2L-IoT评估套件来实现ROS应用环境,硬件产品如下所示。
硬件平台环境条件如下所示:
表2.1 硬件平台资源
3. 技术总结
目前实现ROS的方式主要有两种:
-
Ubuntu系统+ROS;
-
Ubuntu系统+docker+ROS镜像;
相对而言,使用dockers运行ROS镜像的部署方式,可以大大加快设备部署、移植工作。第二章节也将基于方案2去实现ROS,组成项目的各个部分功能如下所示: