實現ARM+ROS(機器人作業系統)之環境搭建!
如何低成本搭建ARM+ROS的硬體載體?上文為大家介紹了實現的思路及原理,本文將為讀者實際操作,展示ROS部署前的籌備工作及步驟分解。
1. 方案概述
本文重點介紹低成本搭建ARM+ROS的硬體及底層實現。開發板選用HDG2L-IoT評估套件,預設配置為2G記憶體、8G儲存,搭載可玩性極高的Ubuntu系統。
開發套件預設的Ubuntu系統大概佔用3.1G空間,剩餘3.2G空間,在構建docker+ROS環境時可能會報eMMC空間不足的錯誤,所以需要調整HDG2L-IoT的啟動引數,將啟動引數改為引導到TF空間中。市面上常見的樹莓派部署ROS方案也是如此操作。
2. 方案准備
首先,需要用到的硬體如下所示。
3. TF卡掛載Ubuntu韌體修改
本小節將介紹如何實現HDG2L-IoT掛載TF卡內的檔案系統,步驟如下:
1) 製作啟動卡;
2) 解壓目標檔案系統到TF卡內;
3) 修改uboot啟動引數;
3.1 製作啟動卡
首先製作啟動卡,格式化TF卡的操作可透過瑞薩提供的shell指令碼實現,在PC端的Ubuntu開發環境下,執行以下命令來下載操作指令碼。
將需要被用作啟動卡的TF卡插入到PC機內,用虛擬機器來操作,調整步驟如下。首先開啟虛擬機器的USB 3.1功能,以免TF卡讀取失敗。
然後將TF卡匯入Ubuntu虛擬機器中,如下所示。
系統能識別後,執行剛才下載的usb_sd_partition.sh指令碼,如下所示。
指令碼執行成功後,TF卡將分為兩個分割槽,分割槽1為fat32,分割槽2為ext4。
(注:當前新版本的Windows系統比較少支援ext4格式的TF卡,所以在Windows環境下一般只看到分割槽1,分割槽2會提示需要格式才能識別,請忽略。)
3.2 複製目標檔案到TF中
將HDG2L-IoT配套的Ubuntu壓縮包解壓到ext4分割槽中,虛擬機器內自動掛載到/media/${USER}/sdb2內。本機的解壓命令如下所示。
將HDG2L-IoT配套的核心映象複製到Windows下識別的TF分割槽中(FAT32系統允許被Windows系統識別,ext4系統不被識別),複製後如下所示。
3.3 修改uboot啟動引數
最後需要調整HDG2L-IoT的uboot啟動啟動引數,引導其使用TF卡內的核心與檔案系統,首先上電,在倒數計時前進入uboot選單,如下所示。
將上一步中製作好的TF卡插入HDG2L-IoT板卡的TF卡槽中,在U-Boot提示符下設定以下變數,bootargs變數用於指定檔案系統的載體,在系統內,TF卡槽佔用的裝置名為/dev/mmcblk1p2。
然後設定從TF的分割槽1內獲取核心映象和核心裝置樹,命令如下所示。
設定完成後,透過以下命令儲存uboot的環境變數,命令如下所示。
重新啟動後,若TF卡正常,整體儲存空間情況如下所示。
若TF卡沒插入,uboot的啟動會報錯誤資訊,錯誤資訊如下所示。
4. 安裝docker環境
正常啟動之後,開始搭建docker環境。
4.1 安裝docker軟體
首先,燒錄後的第一次上電的板卡需要更新內部的軟體版本,命令如下所示。update更新失敗注意檢測網路狀態和date日期。部分軟體可能體積過大,需要耐心等待。
然後清除舊版本的docker軟體,再重新安裝docker.io。
啟動docker。
使能docker開機自啟動。
檢查docker執行狀態。
4.2 獲取映象
執行此命令可以從Docker Hub上下載現成映象。
檢視本地的映象檔案命令如下所示。
4.3 建立容器
容器就是載入模板後執行的沙盒環境,具有執行時所需的可寫檔案層、應用程式也處於執行狀態。概念上可能會與PC端常用的虛擬機器混淆,虛擬機器是包括核心、應用執行環境和其他系統環境的,而Docker容器就是獨立執行的一個或一組應用以及他們必須的執行環境。
建立容器時,需要指定使用的映象檔案,這裡使用上面用pull指令下載下來的映象檔案,建立命令如下所示。
檢視容器狀態,命令如下所示,每個容器都有自己的CONTAINER_ID與NAMES,供後面的命令操作使用(可使用docker rename命令修改容器名,便於簡便使用)。
4.4 啟動容器
容器建立後,透過CONTAINER_ID與NAMES來操作容器,啟動命令如下所示。
上文所說,容器是執行一個或一組程式,docker ps命令裡的COMMAND即為容器執行的程式,當前顯示bash,即進入命令互動程式。透過以下命令進入容器內部。
進入後,可以操作容器內的命令,如下所示。
透過exit命令,可退出容器,退出後容器就處於停止狀態,如下所示。
透過以上操作,我們就完成了硬體與底層的搭建,為ROS執行在這套開發板上做好了準備,下一章節將為大家帶來ROS的部署方法。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70009145/viewspace-2916527/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 實現ARM+ROS(機器人作業系統)之執行ROS!ROS機器人作業系統
- 還可以這樣實現ARM+ROS(機器人作業系統)ROS機器人作業系統
- 寫作業系統之搭建開發環境作業系統開發環境
- 作業系統實驗 & bochs 環境配置作業系統
- 配置《Orange's一個作業系統的實現》環境心得作業系統
- 虛擬機器環境搭建之vagrant虛擬機
- 作業系統的執行環境作業系統
- Windows 作業系統部署ActiveMQ環境Windows作業系統MQ
- 寫作業系統之實現程式作業系統
- 作業系統-002- 環境配置作業系統
- andriod環境搭建(Mac機器)Mac
- NAO 機器人windows下Python開發環境搭建機器人WindowsPython開發環境
- Linux系統環境搭建Linux
- EAS系統環境的搭建
- 麒麟系統開發筆記(一):國產麒麟系統搭建開發環境之虛擬機器安裝筆記開發環境虛擬機
- 定製AIX作業系統的shell環境(轉)AI作業系統
- RHEL9.4搭建虛擬機器實驗環境虛擬機
- 量化交易系統開發(機器人搭建)機器人
- 移動機器人如何在陌生環境中實現智慧導航?機器人
- 作業系統之“實驗一”作業系統
- 在windows系統環境下實現NBU異機恢復Windows
- 個人網站搭建之伺服器環境搭建網站伺服器
- RedHat/CentOs系統搭建lnmp環境RedhatCentOSLNMP
- 虛擬機器配置和環境搭建虛擬機
- Elementary OS 作業系統:PHP 開發環境配置 (一)作業系統PHP開發環境
- 學習N點虛擬主機系統環境搭建
- Rust 之環境搭建Rust
- 作業-安裝虛擬機器以及CentOS作業系統虛擬機CentOS作業系統
- ROS 2 Crystal Clemmys版機器人作業系統補充說明ROS機器人作業系統
- ROS 2 Crystal Clemmys版機器人作業系統安裝說明ROS機器人作業系統
- 【機器人】工業機器人典型控制系統及結構;中國工業機器人系統整合行業發展趨勢;工業機器人在PCB行業的應用機器人行業
- 虛擬機器arm虛擬環境搭建虛擬機
- 作業系統(3)程式及其實現作業系統
- 【工業機器人】工業機器人技術最新知識大全;工業機器人驅動與控制系統機器人
- lamp環境搭建與phpwind,wordprss實現LAMPPHP
- 麒麟系統開發筆記(五):製作安裝麒麟系統、物理機安裝麒麟系統搭建Qt開發環境筆記QT開發環境
- 計算機作業系統|作業系統引論計算機作業系統
- ADA智慧機器人系統搭建開發原理機器人