实现ARM+ROS(机器人操作系统)之环境搭建!

发表时间:2022-09-28 09:31

    如何低成本搭建ARM+ROS的硬件载体?上文为大家介绍了实现的思路及原理,本文将为读者实际操作,展示ROS部署前的筹备工作及步骤分解。


1. 方案概述


本文重点介绍低成本搭建ARM+ROS的硬件及底层实现。开发板选用HDG2L-IoT评估套件,默认配置为2G内存、8G存储,搭载可玩性极高的Ubuntu系统。


搭建ARM+ROS


开发套件默认的Ubuntu系统大概占用3.1G空间,剩余3.2G空间,在构建docker+ROS环境时可能会报eMMC空间不足的错误,所以需要调整HDG2L-IoT的启动参数,将启动参数改为引导到TF空间中。市面上常见的树莓派部署ROS方案也是如此操作。


2. 方案准备


首先,需要用到的硬件如下所示。


搭建ARM+ROS硬件准备

硬件参数



3. TF卡挂载Ubuntu固件修改


本小节将介绍如何实现HDG2L-IoT挂载TF卡内的文件系统,步骤如下:

1)制作启动卡;

2)解压目标文件系统到TF卡内;

3)修改uboot启动参数;


3.1制作启动卡


首先制作启动卡,格式化TF卡的操作可通过瑞萨提供的shell脚本实现,在PC端的Ubuntu开发环境下,执行以下命令来下载操作脚本。


Ubuntu开发环境


将需要被用作启动卡的TF卡插入到PC机内,用虚拟机来操作,调整步骤如下。首先打开虚拟机的USB 3.1功能,以免TF卡读取失败。


Ubuntu开发环境


然后将TF卡导入Ubuntu虚拟机中,如下所示。


TF卡导入Ubuntu虚拟机


系统能识别后,执行刚才下载的usb_sd_partition.sh脚本,如下所示。


7.jpg


脚本执行成功后,TF卡将分为两个分区,分区1为fat32,分区2为ext4。


8.jpg


(注:当前新版本的Windows系统比较少支持ext4格式的TF卡,所以在Windows环境下一般只看到分区1,分区2会提示需要格式才能识别,请忽略。)


3.2拷贝目标文件到TF中


将HDG2L-IoT配套的Ubuntu压缩包解压到ext4分区中,虚拟机内自动挂载到/media/${USER}/sdb2内。本机的解压命令如下所示。


9.jpg


将HDG2L-IoT配套的内核镜像拷贝到Windows下识别的TF分区中(FAT32系统允许被Windows系统识别,ext4系统不被识别),拷贝后如下所示。


10.jpg



3.3修改uboot启动参数


最后需要调整HDG2L-IoT的uboot启动启动参数,引导其使用TF卡内的内核与文件系统,首先上电,在倒计时前进入uboot菜单,如下所示。


11 (2).jpg


将上一步中制作好的TF卡插入HDG2L-IoT板卡的TF卡槽中,在U-Boot提示符下设定以下变量,bootargs变量用于指定文件系统的载体,在系统内,TF卡槽占用的设备名为/dev/mmcblk1p2。


12.jpg


然后设置从TF的分区1内获取内核镜像和内核设备树,命令如下所示。


13.jpg


设置完成后,通过以下命令保存uboot的环境变量,命令如下所示。

14.jpg

重新启动后,若TF卡正常,整体存储空间情况如下所示。


15.jpg


若TF卡没插入,uboot的启动会报错误信息,错误信息如下所示。


16.jpg



4. 安装docker环境


正常启动之后,开始搭建docker环境。


4.1安装docker软件


首先,烧录后的第一次上电的板卡需要更新内部的软件版本,命令如下所示。update更新失败注意检测网络状态和date日期。部分软件可能体积过大,需要耐心等待。


17.jpg


然后清除旧版本的docker软件,再重新安装docker.io。


18.jpg


启动docker。


19.jpg


使能docker开机自启动。


20.jpg


检查docker运行状态。



21.jpg

22.jpg



4.2获取镜像


运行此命令可以从Docker Hub上下载现成镜像。


23.jpg


查看本地的镜像文件命令如下所示。


24.jpg

25.jpg



4.3创建容器


容器就是加载模板后运行的沙盒环境,具有运行时所需的可写文件层、应用程序也处于运行状态。概念上可能会与PC端常用的虚拟机混淆,虚拟机是包括内核、应用运行环境和其他系统环境的,而Docker容器就是独立运行的一个或一组应用以及他们必须的运行环境。

创建容器时,需要指定使用的镜像文件,这里使用上面用pull指令下载下来的镜像文件,创建命令如下所示。


26.jpg


查看容器状态,命令如下所示,每个容器都有自己的CONTAINER_ID与NAMES,供后面的命令操作使用(可使用docker rename命令修改容器名,便于简便使用)。


27.jpg


28.jpg


4.4启动容器


容器创建后,通过CONTAINER_ID与NAMES来操作容器,启动命令如下所示。


29.jpg


上文所说,容器是运行一个或一组进程,docker ps命令里的COMMAND即为容器运行的进程,当前显示bash,即进入命令交互进程。通过以下命令进入容器内部。


30.jpg


进入后,可以操作容器内的命令,如下所示。


31.jpg


通过exit命令,可退出容器,退出后容器就处于停止状态,如下所示。


32.jpg


通过以上操作,我们就完成了硬件与底层的搭建,为ROS运行在这套开发板上做好了准备,下一章节将为大家带来ROS的部署方法。


文章列表
`overlayroot` 是一种使用 OverlayFS 实现的功能,可将根文件系统挂载为只读,并通过一个临时的写层实现对文件系统的修改。这种方法非常适合嵌入式设备或需要保持系统文件完整性和安全性的场景。下文以 RK3568 平台为例,介绍制作 overlayroot 的详细步骤。1. 制作精简文件系统ramdisk1.1   环境准备1. 目标系统:确保系统支持 OverlayFS(内核...
RK3506是一款高性能三核Cortex-A7处理器,内部集成Cortex-M0核心, 适合于工业控制、工业通信、人机交互等应用场景。为方便开发、使用,万象奥科推出HD-RK3506G-MINI单板机,仅需99元即可入手。单板机接口包含:以太网、RS232/RS485、CAN总线、液晶屏,支持接口扩展!产品特点:  多核异构3xCortex-A7+Cortex-M0,低功耗、高实时  外设接...
RK3506 是瑞芯微推出的MPU产品,芯片制程为22nm,定位于轻量级、低成本解决方案。该MPU具有低功耗、外设接口丰富、实时性高的特点,适合用多种工商业场景。本文将基于RK3506的设计特点,为大家分析其应用场景。RK3506核心板主要分为三个型号,各型号间的区别如下图:图 1  RK3506核心板处理器型号场景1:显示HMIRK3506核心板显示接口支持RGB、MIPI、QSPI输出,...
RK3506单板机(卡片电脑)是一款高性能三核Cortex-A7处理器,内部集成Cortex-M0核心,RK3506单板机具有接口丰富、实时性高、显示开发简单、低功耗及多系统支持等特点,非常适合于工业控制、工业通信、人机交互等应用场景。 多核异构3xCortex-A7+Cortex-M0 外设接口丰富,板载网络、串口、CAN总线 支持Buildroot、Yocto系统,支持AMP混合部署 支...
作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!
UGFC是Unified Gold Finger Core Board的缩写(意指:统一接口定义金手指核心板),为武汉万象奥科电子有限公司基于企业标准定义的一种针对嵌入式、低功耗、通用型的小型计算机模块标准,采用204Pin金手指连接器,基于ARM架构的MPU平台,主要面向泛工业领域的数据采集、边缘数据处理、接口通讯与人机交互等应用场景。
1. 概念SMARC(Smart Mobility ARChitecture,智能移动架构)是一种通用的小型计算机模块定义,基于ARM和X86技术的模块化计算机低功耗嵌入式架构平台,旨在满足低功耗、低成本和高性能的应用需求。这些模块通常使用与平板电脑和智能手机中相似的ARM SOC,或其他低功耗SOC和CPU。  图片(314 Pin金手指)2. 起源SMARC最初名为ULP-COM,主要发...
网络时间协议NTP(Network TimeProtocol)是用于互联网中时间同步的标准互联网协议,可以把计算机的时间同步到某些时间标准。NTP对于我们产品来说有什么用呢,简单的讲,当你的设备时间不准确了,你可以接入到互联网,从网上同步一下时间,非常方便。
在 Android 开发中,源码管理是一项至关重要且颇具挑战性的任务。面对包含数百个 git 库的 Android 源码,如何高效地进行下载、管理和协作开发成为了开发者们必须攻克的难题!
加密芯片是一种专门设计用于保护信息安全的硬件设备,它通过内置的加密算法对数据进行加密和解密,以防止敏感数据被窃取或篡改。如下图HD-RK3568-IOT工控板,搭载ATSHA204A加密芯片,常用于有安全防护要求的工商业场景,下文将为大家介绍安卓APP开发中,如何使用此类加密芯片。1. Android Studio工具配置JNI(Java Native Interface,Java 本地接口...
武汉万象奥科电子有限公司
服务热线:027-59218026
销售邮箱:sales@vanxoak.com
主营产品:ARM核心板、ARM工控板
工业网关、软硬件定制设计
地址:武汉东湖新技术开发区大学园路长城园路8号海容基孵化园B5

扫描二维码
关注公众号
产品及方案咨询
专业专注   合作共赢
移动电话:181 2058 0511 (湖北)
移动电话:175 7010 9551 (华南、华中)
移动电话:133 0386 9667 (华东、华北)
移动电话:187 3812 7320 (其他)