在工业智能化浪潮中,智能机器人设备是成为工业自动化体系的璀璨之星,而其核心 ------ROS系统,更是机器人领域的集大成者。今天,和大家分享一个ROS开发案例,基于RK3562J + Ubuntu工业平台。
ROS系统简介
ROS(Robot Operating System),即机器人操作系统,是一个适用于机器人的开源元操作系统。它犹如机器人的智慧中枢,提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。
图 1
随着工业智能化的快速发展,智能机器人设备已成为工业自动化体系的佼佼者,而智能机器人设备核心---ROS系统,是机器人领域的集大成者,主要应用于机器人控制领域,如AGV工业机器人控制器、智能机械臂控制器、机器人导航系统等。
ROS系统主要特点
丰富的机器人算法库
机器人的各种控制以及通信离不开算法库的支持,ROS系统提供丰富且功能强大的机器人算法库,如坐标变换、运动控制等。机器人开发者可根据开发需要,简单快捷地调用合适的算法库,以提高开发效率,加快开发进程。
开源免费,架构精简
ROS系统是一个开源免费、架构精简的机器人操作系统,支持与OpenRAVE、Orocos和Player等机器人软件平台集成。探索开发ROS系统的人员众多,遍布世界各地,形成了活跃的社区。大大降低了产品开发成本,缩短产品开发周期,提高产品开发效率。
实时通信,安全可靠
ROS系统支持实时控制与通信,数据安全可靠。"实时性"、"安全性"是如今工业自动化行业的普遍追求,特别是对于AGV开发,若AGV部件的控制与通信在安全性、实时性得不到保障,将会导致数据泄露、路线偏离等问题。ROS系统凭借其优势,已成为AGV开发利器,广泛应用于各种机器人开发,并逐渐成为主流。
图 2
RK3562J典型应用领域
图 3
RK3562J + Ubuntu的ROS2系统演示案例
本文主要介绍RK3562J基于Ubuntu的ROS2系统演示案例,适用开发环境如下。
Windows开发环境:Windows 7 64bit、Windows 10 64bit
Linux开发环境:VMware16.2.5、Ubuntu20.04.6 64bit
U-Boot:U-Boot-2017.09
Kernel:Linux-5.10.198
ROS:ROS2 Foxy
硬件平台:创龙科技TL3562-EVM工业评估板(基于RK3562J)
为了简化描述,本文仅摘录部分方案功能描述与测试结果。
turtlesim(小海龟)测试
请使用HDMI线将HDMI显示器与评估板HDMI OUT接口连接,并参考产品资料,配置评估板测试环境,然后执行如下命令,后台运行小海龟程序。
Target# ros2 run turtlesim turtlesim_node &
图 4
图 5
执行如下命令,发布话题消息,使小海龟转圈。
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}}"
图 6
图 7
如果各位工程师想要了解更多RK3562J相关的案例演示,可以通过公众号(Tronlong创龙科技)查看,快来开启探索之旅吧!