前 言
本文主要介紹創龍科技TL3576-MiniEVM評估板演示基于Ubuntu的ROS系統(版本:ROS2 Foxy)使用說明,包括鏡像編譯、鏡像替換,以及ROS系統測試的方法。適用開發環境如下。
Windows開發環境:Windows 10 64bit
Linux虛擬機環境:VMware16.2.5、Ubuntu22.04.5 64bit
U-Boot:U-Boot-2017.09
Kernel:Linux-6.1.115
ROS:ROS2 Foxy
ROS(Robot Operating System,下文簡稱"ROS")是一個適用于機器人的開源的元操作系統。它提供了操作系統應有的服務,包括硬件抽象,底層設備控制,常用函數的實現,進程間消息傳遞,以及包管理。它也提供用于獲取、編譯、編寫、和跨計算機運行代碼所需的工具和庫函數。
我司ROS系統源碼基于ROS官方獲取,并基于瑞芯微官方參考文檔編譯。更多詳細信息請查看“6-開發參考資料Rockchip官方參考文檔LinuxApplicationNote”目錄下的《Rockchip_Instruction_Linux_ROS2_CN》文檔。
請先按照調試工具安裝、開發環境搭建相關文檔,安裝SecureCRT串口調試終端、VMware虛擬機等相關軟件。無特殊說明情況下,本文默認使用Power IN/USB TO UART0作為調試串口,使用eMMC啟動系統,通過路由器與PC機進行網絡連接,請確保PC機、Ubuntu系統可正常訪問互聯網。
評估板簡介
創龍科技TL3576-MiniEVM是一款基于瑞芯微RK3576J/RK3576高性能處理器設計的4核ARM Cortex-A72 + 4核ARM Cortex-A53 + ARM Cortex-M0國產工業評估板,Cortex-A72核心主頻高達2.2GHz,Cortex-A53核心主頻高達2.0GHz。評估板由核心板和評估底板組成,核心板CPU、ROM、RAM、電源、晶振等所有元器件以及評估底板元器件均采用國產工業級方案,國產化率100%。同時,評估底板大部分元器件亦采用國產工業級方案,國產化率約為99%(按元器件數量占比,數據僅供參考)。核心板經過專業的PCB Layout和高低溫測試驗證,支持選配屏蔽罩,質量穩定可靠,可滿足各種工業應用環境要求。
評估板引出2路Ethernet、2路USB、Micro SD、UART等通信接口,同時引出2路MIPI CSI、MIPI DSI、DP Display、HDMI OUT、MIC IN/HP OUT等音視頻多媒體接口,支持4K@60fps H.265/H.264視頻編碼、8K@30fps H.265/4K@60fps H.264視頻解碼。
評估板體積小巧,尺寸為80mm*130mm,可作為卡片式電腦使用,且便于產品集成,方便用戶快速進行產品方案評估與技術預研。
評估板硬件資源圖解1
評估板硬件資源圖解2
ROS系統測試
請使用網線將評估板ETH1 RGMII網口、PC機連接至同一個路由器,執行如下命令,安裝netifaces庫。
Target# apt-get update
Target# apt-get install python3-netifaces
圖 1
執行如下命令,配置評估板測試環境。
Target# export COLCON_CURRENT_PREFIX=/opt/ros
Target# source /opt/ros/local_setup.sh
圖 2
執行如下命令,創建Log目錄,用于保存ROS程序運行的Log。
Target# mkdir -p /root/.ros/log
圖 3
執行如下命令,啟動ROS節點訂閱消息。
Target# ros2 run demo_nodes_py listener &
圖 4
執行如下命令,啟動ROS節點發布消息,實現訂閱消息節點與發布消息節點之間的通信。此時評估板串口調試終端將會打印兩節點間通信的信息,如下圖所示。按"Ctrl + C"可退出測試程序,即讓發布消息的節點退出。
Target# ros2 run demo_nodes_py talker
圖 5
執行如下命令,查看并根據系統進程號關閉所有ROS節點。進程號請以實際情況為準。
Target# ps -a
Target# kill 1667
Target# kill 1668
圖 6
基于C++的通信功能測試
執行如下命令,啟動ROS節點訂閱消息。
Target# ros2 run demo_nodes_cpp listener &
圖 7
執行如下命令,啟動ROS節點發布消息,實現訂閱消息節點與發布消息節點之間的通信。此時評估板串口調試終端將會打印兩節點間通信的信息,如下圖所示。按"Ctrl + C"可退出測試程序,即讓發布消息的節點退出。
Target# ros2 run demo_nodes_cpp talker
圖 8
執行如下命令,根據系統進程號關閉所有ROS節點。進程號請以實際情況為準。
Target# ps -a
Target# kill 1765
Target# kill 1766
圖 9
turtlesim(小海龜)測試
請使用HDMI線將HDMI顯示器與評估板HDMI OUT接口連接。然后執行如下命令,配置評估板測試環境。
執行如下命令,后臺運行小海龜程序。
Target# ros2 run turtlesim turtlesim_node &
圖 10
圖 11
執行如下命令,發布話題消息,使小海龜轉圈。
Target# ros2 topic pub --rate 1 /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}}"
圖 12
參數解析:
(1) ros2 topic pub:發布消息到主題;
(2) --rate 1:發布消息速率,設置為1次每秒;
(3) /turtle1/cmd_vel:主題名稱;
(4) geometry_msgs/msg/Twist:發布消息類型;
(5) {linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}}:發布消息的內容,線速度(linear)為x方向上的2.0、角速度(angular)為z軸方向上的1.8。
圖 13
ROS開發
請先參考《Ubuntu系統使用手冊》文檔“SDK安裝”章節正確安裝SDK。本小節主要演示基于Ubuntu的ROS系統編譯與鏡像制作方法。
開發環境搭建
打開Ubuntu終端,執行如下命令,安裝編譯所需的colcon工具。
Host# sudo apt-get install curl
Host# curl -s https://packagecloud.io/install/repositories/dirk-thomas/vcstool/script.deb.sh | sudo bash
Host# sudo apt update
Host# sudo apt-get install -y python3-pip python3-rosdep2 python3-rosinstall-generator python3-vcstool build-essential
Host# pip3 install -U colcon-common-extensions
Host# pip3 uninstall empy
Host# pip3 install empy==3.3.4
圖 14
圖 15
圖 16
圖 17
圖 18
圖 19
執行如下命令,配置環境變量。
Host# export PATH=${PATH}:/home/tronlong/.local/bin
圖 20
編譯ROS軟件包
請根據交叉編譯工具鏈實際解壓路徑,執行如下命令,配置交叉編譯工具鏈。
Host# source /home/tronlong/RK3576/rk3576_linux6.1_release/ubuntu/environment
圖 21
執行如下命令,創建ROS軟件包的工作目錄,并進入該目錄,目錄可命名為任意名稱。
Host# mkdir ros2_project_test
Host# cd ros2_project_test
圖 22
執行如下命令,創建ROS軟件包源碼目錄,并進入該目錄。
Host# mkdir src
Host# cd src
圖 23
執行如下命令,在源碼目錄下生成my_package包。本案例以構建CPP功能包為例,如需構建Python功能包可將參數ament_cmake改為ament_python。
Host# ros2 pkg create --build-type ament_cmake --node-name my_node my_package
圖 24
參數解析:
--build-type ament_cmake :指定軟件包的構建類型為ament_cmake;
--node-name my_node:為軟件包指定了一個my_node節點;
--my_package:軟件包的名稱為my_package。
完成構建后,ROS軟件包源碼目錄結構如下所示。可根據實際需要對"my_package/src/my_node.cpp"進行修改。
圖 25
返回ROS軟件包工作目錄,編譯軟件包。
Host# cd ..
Host# colcon build
圖 26
編譯完成后在當前目錄下生成如下目錄,目錄內容如下表所示。
圖 27
ROS軟件測試
請將完成編譯的ROS軟件包中install目錄拷貝至評估板文件系統"/opt/ros/"目錄下,執行如下命令配置ROS的運行環境與命令行工具。
Target# export COLCON_CURRENT_PREFIX=/opt/ros
Target# source /opt/ros/local_setup.sh
圖 28
執行如下命令,加載ROS軟件包環境。
Target# export COLCON_CURRENT_PREFIX=/opt/ros/install
Target# source /opt/ros/install/local_setup.sh
圖 29
執行如下命令,運行ROS軟件包,可以看到當前ROS軟件包程序運行打印結果。
Target# ros2 run my_package my_node
圖 30
想了解更多資料,可前往創龍科技官網或微信公眾號。
審核編輯 黃宇
-
ARM
+關注
關注
134文章
9332瀏覽量
375941 -
評估板
+關注
關注
1文章
742瀏覽量
30054
發布評論請先 登錄
全國產!瑞芯微 RK3576 ARM 八核 2.2GHz 工業開發板—LVGL應用開發案例

國產開發板的端側AI測評-基于米爾瑞芯微RK3576
國產高性能CPU--米爾瑞芯微RK3576賦能AIoT、工業、智能顯示終端
【米爾RK3576開發板評測】+項目名稱【米爾RK3576開發板評測】一個視頻和你共同認識一下米爾RK3576開發板
國產!瑞芯微RK3576(八核@2.2GHz+6T NPU)工業核心板規格書
國產!瑞芯微RK3576(八核@2.2GHz+6T NPU)工業開發板規格書
米爾瑞芯微RK3576核心板上新!8核6T高算力,革新AIoT設備

評論