基于瑞芯微RK3576国产ARM八核2.2GHz A72 工业评估板——ROS2系统使用说明

发布时间:2025-4-21 15:31    发布者:Tronlong--
关键词: ROS系统 , 瑞芯微 , Ubuntu , 嵌入式开发 , 工业评估板
本文主要介绍创龙科技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官方参考文档\Linux\ApplicationNote\”目录下的《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

基于Python的通信功能测试
执行如下命令,启动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
想了解更多资料,可前往创龙科技官网或微信公众号。

本文地址:https://www.eechina.com/thread-886111-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • 无线充电基础知识及应用培训教程2
  • PIC18-Q71系列MCU概述
  • 想要避免发生灾难,就用MPLAB® SiC电源仿真器!
  • 了解一下Microchip强大的PIC18-Q24 MCU系列
  • 贸泽电子(Mouser)专区

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表