0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RK3562 单板机嵌入式 ROS2 开发指南:环境搭建与工程编译

Tronlong创龙科技 来源:Tronlong创龙科技 作者:Tronlong创龙科技 2026-03-27 11:26 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前 言

本文档主要演示ROS系统(版本:ROS2 Foxy)使用说明,包括镜像编译、镜像替换,以及ROS系统测试的方法。

开发环境

Windows开发环境:Windows764bit、Windows1064bit

Linux开发环境:VMware16.2.5、Ubuntu20.04.664bit

sysroot:rk3562-Tronlong-Desktop-20.04-sysroot-[版本号].tar.gz

系统版本:Tronlong-Desktop20.04(类Ubuntu)、Linux-5.10.209、U-Boot-2017.09

ROS:ROS2 Foxy

备注:本文基于2GByte LPDDR4X、16GByte eMMC配置单板机进行演示。

术语表

为便于阅读,下表对文档出现的关键术语进行解释;对于广泛认同释义的术语,在此不做注释。

wKgZO2nF97iAKC5OAAArLWuxTw4763.png

注意事项

(1)我司ROS系统源码基于ROS官方获取,并基于瑞芯微官方参考文档编译。更多详细信息请查看“6-开发资料Rockchip官方参考文档cnLinuxApplicationNote”目录下的《Rockchip_Instruction_Linux_ROS2_CN》文档。

(2)无特殊说明情况下,本文默认从eMMC启动系统,使用DEBUG作为调试串口,使用欣瑞达的XT070YTA23R_A6LVDS电阻屏作为显示输出。

wKgZPGmdHbiAXPQgAAthB9zoGQQ118.png图 1

1ROS系统测试

执行如下命令,配置单板机测试环境。

Target# export COLCON_CURRENT_PREFIX=/opt/ros

Target# source /opt/ros/local_setup.sh

wKgZPGnF98WAZrQ5AAAMA0_OgvU700.png图 2

1.1基于Python通信功能测试

执行如下命令,创建Log目录,用于保存ROS程序运行的Log。

Target# mkdir -p /root/.ros/log

wKgZPGnF982AQ_WTAAAGjA-gmBI152.png图 3

执行如下命令,启动ROS节点订阅消息。

Target# ros2 run demo_nodes_py listener &

wKgZPGnF99SAOzIjAAAJgPWy4Ig017.png图 4

执行如下命令,启动ROS节点发布消息,实现订阅消息节点与发布消息节点之间的通信。此时单板机串口调试终端将会打印两节点间通信的信息,如下图所示。按"Ctrl + C"可退出测试程序,即让发布消息的节点退出。

Target# ros2 run demo_nodes_py talker

wKgZPGnF9-CAavapAACFHozgSd8312.png图 5

执行如下命令,查看并根据系统进程号关闭所有ROS节点。进程号请以实际情况为准。

Target# ps -a

Target# kill 2827

Target# kill 2830

wKgZO2nF9-iAcxIEAAAlHLLzgoc818.png图 6

1.2基于C++的通信功能测试

执行如下命令,创建Log目录,用于保存ROS程序运行的Log。

备注:若已创建Log目录,可跳过此步骤。

Target# mkdir -p /root/.ros/log

wKgZPGnF982AQ_WTAAAGjA-gmBI152.png图 7

执行如下命令,启动ROS节点订阅消息。

Target# ros2 run demo_nodes_cpp listener &

wKgZO2nF9_iAX_zXAAAJh4YS2Io892.png图 8

执行如下命令,启动ROS节点发布消息,实现订阅消息节点与发布消息节点之间的通信。此时单板机串口调试终端将会打印两节点间通信的信息,如下图所示。按"Ctrl + C"可退出测试程序,即让发布消息的节点退出。

Target# ros2 run demo_nodes_cpp talker

wKgZO2nF9_-AFwKDAACcdTbhAtU324.png图 9

执行如下命令,根据系统进程号关闭所有ROS节点。进程号请以实际情况为准。

Target# ps -a

Target# kill 3060

Target# kill 3062

wKgZO2nF-AeAaeKCAAAkugOvkjg066.png图 10

1.3turtlesim(小海龟)测试

请通过DVI线将LVDS显示屏连接至单板机LVDS OUT接口。然后执行如下命令,配置单板机测试环境。

备注:若已配置单板机测试环境,可跳过此步骤。

Target# export COLCON_CURRENT_PREFIX=/opt/ros

Target# source /opt/ros/local_setup.sh

wKgZO2nF-A6AZHmmAAAMH3C1k8U374.png图 11

执行如下命令,创建Log目录,用于保存ROS程序运行的Log。

备注:若已创建Log目录,可跳过此步骤。

Target# mkdir -p /root/.ros/log

wKgZPGnF982AQ_WTAAAGjA-gmBI152.png图 12

执行如下命令,后台运行小海龟程序。

Target# ros2 run turtlesim turtlesim_node &

wKgZO2nF-B6AUIq-AAAmt_xCCDM153.png图 13

wKgZPGnF-CGAI4iJAPsHBlawpdA364.png图 14

执行如下命令,发布话题消息,使小海龟转圈。

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}}"

wKgZPGnF-C2AAqsmAACBn-pu9Gk260.png图 15

参数解析:

ros2 topic pub:发布消息到主题;

--rate 1:发布消息速率,设置为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}}:发布消息的内容,线速度(linear)为x方向上的2.0、角速度(angular)为z轴方向上的1.8。

wKgZO2nF-DeAfx7cAQPN0Cfc91o311.png图 16

2ROS开发

请先参考《开发环境搭建》文档进行VMware虚拟机与Ubuntu安装,并参考《应用开发手册》文档正确安装sysroot。本小节主要演示基于上位机Ubuntu的ROS系统编译与镜像制作方法。

2.1开发环境搭建

打开Ubuntu终端,执行如下命令,安装编译所需的colcon工具。

Host# sudo apt 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

wKgZO2nF-EmAdm8NAAEzef4NUSY894.png图 17

wKgZO2nF-EmAJUbTAAGj8bKNB60289.png图 18

wKgZO2nF-EmAJ1wBAAFk_bP5uZQ222.png图 19

wKgZPGnF-EmAHTeNAACd1F_czAY413.png图 20

wKgZPGnF-EmAOfPVAAE_6NrYOmE115.png图 21

wKgZO2nF-EmAEzkrAACvU1XcTAY266.png图 22

wKgZPGnF-EmAD27cAAGZELv-kGU802.png图 23

执行如下命令,配置环境变量。

Host# export PATH=${PATH}:/home/tronlong/.local/bin

wKgZPGnF-NeAa8X4AAAqZ_R0zNg281.png图 24

由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注Tronlong创龙科技微信公众号或官网,或者评论区留言,感谢您的支持!

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5208

    文章

    20586

    浏览量

    336259
  • 单板机
    +关注

    关注

    1

    文章

    50

    浏览量

    18908
  • 编译
    +关注

    关注

    0

    文章

    696

    浏览量

    35246
  • RK3562
    +关注

    关注

    0

    文章

    107

    浏览量

    738
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RK3562 单板机 Linux-RT 系统开发指南:内核配置、实时性优化与案例详解

    本文为创龙科技RK3562 单板机 Linux-RT 开发指南,核心聚焦实时内核的性能测试与开发应用。内容包括 Linux 与 Linux-RT 实时性对比、CPU 负载测试、内核配置
    的头像 发表于 02-10 11:49 1.8w次阅读
    <b class='flag-5'>RK3562</b> <b class='flag-5'>单板机</b> Linux-RT 系统<b class='flag-5'>开发指南</b>:内核配置、实时性优化与案例详解

    RK3562 单板机图形用户界面开发完全手册:Qt Creator 配置与 LVGL 案例详解(二)

    本节为创龙科技RK3562 单板机 Qt 开发指南,核心包含开发环境配置、工程
    的头像 发表于 02-27 10:42 6012次阅读
    <b class='flag-5'>RK3562</b> <b class='flag-5'>单板机</b>图形用户界面<b class='flag-5'>开发</b>完全手册:Qt Creator 配置与 LVGL 案例详解(二)

    嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Windows版 - 3]

    嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Windows版 - 1]《嵌入式
    发表于 12-06 09:36 0次下载
    《<b class='flag-5'>嵌入式</b> - STM32<b class='flag-5'>开发指南</b>》手把手教你<b class='flag-5'>搭建</b>STM32<b class='flag-5'>开发</b><b class='flag-5'>环境</b> [Windows版 - 3]

    嵌入式开发必备-RK3562演示Linux常用系统查询命令(上)触觉智能出品

    实用干货!嵌入式开发学习必备-RK3562演示Linux常用系统查询命令(上)关注触觉智能持续为大家带来更多嵌入式开发内容
    的头像 发表于 12-31 10:51 117次阅读
    <b class='flag-5'>嵌入式开发</b>必备-<b class='flag-5'>RK3562</b>演示Linux常用系统查询命令(上)触觉智能出品

    RK平台ROS2适配全指南:从编译到运行,手把手搞定嵌入式机器人开发

    嵌入式机器人与智能硬件领域,瑞芯微(Rockchip)的 RK356x、RK3588 等 arm64 芯片凭借高性能、低功耗的优势,成为众多开发者的首选硬件平台;而
    的头像 发表于 02-06 16:42 4803次阅读
    <b class='flag-5'>RK</b>平台<b class='flag-5'>ROS2</b>适配全<b class='flag-5'>指南</b>:从<b class='flag-5'>编译</b>到运行,手把手搞定<b class='flag-5'>嵌入式</b>机器人<b class='flag-5'>开发</b>

    性能与性价比兼得!迅为RK3562开发板开启嵌入式开发新选择

    性能与性价比兼得!迅为RK3562开发板开启嵌入式开发新选择
    的头像 发表于 12-23 16:10 1560次阅读
    性能与性价比兼得!迅为<b class='flag-5'>RK3562</b><b class='flag-5'>开发</b>板开启<b class='flag-5'>嵌入式开发</b>新选择

    RK3562单板机系统使用与开发手册:基础操作、升级部署与工具链配置(一)

    本文为创龙科技RK3562 单板机 Linux 系统使用指南,核心包含系统配置、升级部署与组件安装三大模块。内容涉及静态 IP 配置、恢复出厂设置、OTA/U 盘升级,以及 Python
    的头像 发表于 01-27 15:05 329次阅读
    <b class='flag-5'>RK3562</b><b class='flag-5'>单板机</b>系统使用与<b class='flag-5'>开发</b>手册:基础操作、升级部署与工具链配置(一)

    RK3562 单板机系统开发完全手册:U-Boot/Kernel/Rootfs 开发与性能优化

    本文为创龙科技RK3562 单板机 Linux 系统开发指南,核心包含 SDK 配置、内核与文件系统开发、分区配置及 CPU/GPU/NPU 调频等关键技术。文档详细说明镜像制作、程序
    的头像 发表于 02-05 17:20 455次阅读
    <b class='flag-5'>RK3562</b> <b class='flag-5'>单板机</b>系统<b class='flag-5'>开发</b>完全手册:U-Boot/Kernel/Rootfs <b class='flag-5'>开发</b>与性能优化

    RK3562 单板机 Linux 应用开发实战手册:LED/CAN/TCP/UART 案例与 Python 开发(二)

    本文为创龙科技RK3562 单板机应用开发指南,核心包含交叉编译工具链部署、GDB 远程调试,以及 LED、CAN、TCP/UDP、MQTT 等实战案例。文档支持 C/C++ 与 Py
    的头像 发表于 02-25 11:35 1284次阅读
    <b class='flag-5'>RK3562</b> <b class='flag-5'>单板机</b> Linux 应用<b class='flag-5'>开发</b>实战手册:LED/CAN/TCP/UART 案例与 Python <b class='flag-5'>开发</b>(二)

    RK3562 单板机图形用户界面开发完全手册:Qt Creator 配置与 LVGL 案例详解(一)

    本节为创龙科技RK3562 单板机 Qt 开发指南,核心包含开发环境配置、工程
    的头像 发表于 02-26 11:41 1292次阅读
    <b class='flag-5'>RK3562</b> <b class='flag-5'>单板机</b>图形用户界面<b class='flag-5'>开发</b>完全手册:Qt Creator 配置与 LVGL 案例详解(一)

    RK3562 单板机多媒体开发完全手册:视频输入输出与 GStreamer 案例详解(二)

    本节为创龙科技RK3562 单板机视频处理核心指南,涵盖两大核心内容:一是视频图像处理框架,含输入输出接口、编解码及算法加速模块;二是 gst_dec_display 案例,实现
    的头像 发表于 03-17 09:49 154次阅读
    <b class='flag-5'>RK3562</b> <b class='flag-5'>单板机</b>多媒体<b class='flag-5'>开发</b>完全手册:视频输入输出与 GStreamer 案例详解(二)

    RK3562 单板机嵌入式 eMMC 健康监测开发指南:数据采集与状态分析

    本文为创龙科技RK3562 单板机 eMMC 健康管理开发指南,围绕 emmc_get_info 案例,详解 eMMC 的 EXT_CSD 寄存器查询、多品牌寿命评估(擦写次数、坏块、寿命消耗
    的头像 发表于 03-31 15:07 104次阅读
    <b class='flag-5'>RK3562</b> <b class='flag-5'>单板机</b><b class='flag-5'>嵌入式</b> eMMC 健康监测<b class='flag-5'>开发指南</b>:数据采集与状态分析

    RK3576 单板机系统使用手册:配置、升级与组件安装指南(一)

    本文为创龙科技RK3576 单板机系统使用指南,全面覆盖系统基础配置、升级流程与组件安装。详解内存存储分区、网络静态 IP 配置、OTA/U 盘升级操作,以及常用开发组件部署方法。创龙
    的头像 发表于 04-02 10:46 105次阅读
    <b class='flag-5'>RK</b>3576 <b class='flag-5'>单板机</b>系统使用手册:配置、升级与组件安装<b class='flag-5'>指南</b>(一)

    RK3576 单板机系统使用手册:配置、升级与组件安装指南(二)

    本文为创龙科技RK3576 单板机系统使用指南,全面覆盖系统基础配置、升级流程与组件安装。详解内存存储分区、网络静态 IP 配置、OTA/U 盘升级操作,以及常用开发组件部署方法。创龙
    的头像 发表于 04-03 11:39 284次阅读
    <b class='flag-5'>RK</b>3576 <b class='flag-5'>单板机</b>系统使用手册:配置、升级与组件安装<b class='flag-5'>指南</b>(二)

    RK3576 单板机系统使用手册:配置、升级与组件安装指南(三)

    本文为创龙科技RK3576 单板机系统使用指南,全面覆盖系统基础配置、升级流程与组件安装。详解内存存储分区、网络静态 IP 配置、OTA/U 盘升级操作,以及常用开发组件部署方法。创龙
    的头像 发表于 04-07 11:40 45次阅读
    <b class='flag-5'>RK</b>3576 <b class='flag-5'>单板机</b>系统使用手册:配置、升级与组件安装<b class='flag-5'>指南</b>(三)