|
前 言 本文档主要介绍创龙科技TL3588-EVM评估板演示基于Debain的ROS系统(版本:ROS2 Foxy)使用说明,包括镜像编译、镜像替换,以及ROS系统测试的方法。适用开发环境如下。 Windows开发环境:Windows 7 64bit、Windows 10 64bit 虚拟机:VMware16.2.5 Linux开发环境:Ubuntu20.04.6 64bit U-Boot:U-Boot-2017.09 Kernel:Linux-5.10.160 Debian:Debian 11 Docker:24.0.5 ROS:ROS2 Foxy LinuxSDK:LinuxSDK-[版本号](基于rk3588_linux_release_v1.2.1_20230720) ROS(Robot Operating System,下文简称"ROS")是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。 我司提供的ROS系统相关资料位于产品资料“4-软件资料\Demo\platform-demos\ros2_foxy\”目录下,具体说明如下表所示。
![]()
表 1
我司提供的LinuxSDK-[版本号].tar.gz开发包已自带Debian系统,位于LinuxSDK源码目录下(如下图)。
![]()
图 1
请先按照调试工具安装、开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件,按照《Debain系统使用手册》解压安装LinuxSDK开发包至Ubuntu。 无特殊说明情况下,本文默认使用USB TO UART2作为调试串口,使用SD启动卡(Micro SD方式)启动系统,使用HDMI线将HDMI显示器与评估板HDMI OUT接口连接,通过路由器与PC机进行网络连接,请确保PC机、Ubuntu系统可正常访问互联网。
ROS系统测试我司提供的ROS系统启动镜像文件update.img位于产品资料“4-软件资料\Demo\platform-demos\ros2_foxy\bin\”目录下,请先参考《系统启动卡制作及系统固化》文档,将镜像文件update.img通过“瑞芯微创建升级磁盘工具”制作SD启动卡(即ROS系统启动卡),然后将SD启动卡插至评估板Micro SD卡槽。亦可通过USB固化方式将系统固化至eMMC。 备注:目前暂不支持通过SD升级卡固化系统至eMMC方式。 基于Python的通信功能测试执行如下命令,配置评估板测试环境。 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 2835 Target# kill 2836
![]()
图 6
基于C++的通信功能测试执行如下命令,配置评估板测试环境。 Target# export COLCON_CURRENT_PREFIX=/opt/ros Target# source /opt/ros/local_setup.sh
![]()
图 7
执行如下命令,启动ROS节点订阅消息。 Target# ros2 run demo_nodes_cpp listener &
![]()
图 8
执行如下命令,启动ROS节点发布消息,实现订阅消息节点与发布消息节点之间的通信。此时评估板串口调试终端将会打印两节点间通信的信息,如下图所示。按"Ctrl + C"可退出测试程序,即让发布消息的节点退出。 Target# ros2 run demo_nodes_cpp talker
![]()
图 9
执行如下命令,根据系统进程号关闭所有ROS节点。进程号请以实际情况为准。 Target# ps -a Target# kill 3539 Target# kill 3540
![]()
图 10
小海龟测试请使用HDMI线将HDMI显示器与评估板HDMI OUT接口连接。然后执行如下命令,配置评估板测试环境。 Target# export COLCON_CURRENT_PREFIX=/opt/ros Target# source /opt/ros/local_setup.sh
![]()
图 11
执行如下命令,后台运行小海龟程序。 Target# ros2 run turtlesim turtlesim_node &
![]()
图 12
![]()
图 13
执行如下命令,发布话题消息,使小海龟转圈。 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}}"
![]()
图 14
参数解析: 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。
![]()
图 15
由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注创龙科技微信公众号或官网,或者评论区留言,感谢您的支持!
|