ARM技术论坛
直播中

Tronlong创龙科技

3年用户 721经验值
擅长:嵌入式技术 存储技术 处理器/DSP EDA/IC设计 MEMS/传感技术
私信 关注

ROS让机器人开发更便捷,基于RK3568J+Debian系统发布!

本帖最后由 Tronlong创龙科技 于 2024-7-19 17:18 编辑

ROS系统是什么
ROS(Robot Operating System)是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。



图1


随着工业智能化的快速发展,智能机器人设备已成为工业自动化体系的佼佼者,而智能机器人设备核心—ROS系统,是机器人领域的集大成者,主要应用于机器人控制领域,如AGV工业机器人控制器、智能机械臂控制器、机器人导航系统等。

ROS系统主要特点有哪些

(1) 提供丰富的机器人算法库
机器人的各种控制以及通信离不开算法库的支持,ROS系统提供丰富且功能强大的机器人算法库,如坐标变换、运动控制等。机器人开发者可根据开发需要,简单快捷地调用合适的算法库,以提高开发效率,加快开发进程。


(2) 开源免费,架构精简
ROS系统是一个开源免费,架构精简的机器人操作系统。ROS被设计为尽可能精简,以便为ROS编写的代码可与其他机器人软件框架一起使用,如ROS已与OpenRAVE、Orocos和Player集成。正是由于这一特点,探索开发ROS系统的人员众多,遍布世界各地,形成一种“百花齐放,家争鸣”局面,促使ROS功能日益强大。“开源免费、架构精简”这也更是意味着可大大降低产品开发成本,缩短产品开发周期,提高产品开发效率。


(3) 支持实时控制与通信,数据安全可靠
如今ROS系统支持实时控制与通信,并且数据安全可靠。“实时性”、“安全性”是如今工业自动化行业的普遍追求,特别是对于AGV开发,若AGV机器人的主控制器、雷达、摄像头、GPS等部件的控制、通信的实时性与安全性得不到保障,导致的后果将是核心数据泄露、路线控制偏离、系统通信异常等严重后果。而ROS系统凭借其优势,已成为AGV开发利器,广泛应用于各种机器人开发,并逐渐成为主流。

RK3568J + Debian的ROS2系统演示案例

创龙科技SOM-TL3568是一款基于瑞芯微RK3568J/RK3568B2处理器设计的四核ARM Cortex-A55全国产工业核心板,主频高达2.0GHz。核心板CPU、ROM、RAM、电源、晶振、连接器等所有器件均采用国产工业级方案,国产化率100%,并提供国产化率认证报告。


我司RK3568J平台提供的ROS系统启动镜像文件update.img位于产品资料“4-软件资料Demoplatform-demosros2_foxybin”目录下,请先参考《Linux系统启动卡制作及系统固化》文档,将镜像文件update.img通过“瑞芯微创建升级磁盘工具”制作SD启动卡(即ROS系统启动卡),然后将SD启动卡插至评估板Micro SD卡槽。亦可通过SD升级卡或USB固化方式将系统固化至eMMC。


基于Python语言的通信演示
案例功能:基于Python语言,启动ROS节点发布与订阅消息,实现订阅消息节点与发布消息节点之间的实时通信。
请将评估板上电启动,执行如下命令,配置评估板测试环境。
Target#export COLCON_CURRENT_PREFIX=/opt/ros
Target#       source /opt/ros/local_setup.sh



图 2



执行如下命令,启动ROS节点订阅消息。
Target#         ros2 run demo_nodes_py listener &


图 3



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



图 4



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


图 5



基于C++语言的通信演示
案例功能:基于C++语言,启动ROS节点发布与订阅消息,实现订阅消息节点与发布消息节点之间的实时通信。
请将评估板上电启动,执行如下命令,配置评估板测试环境。
Target#export COLCON_CURRENT_PREFIX=/opt/ros
Target#       source /opt/ros/local_setup.sh


图 6



执行如下命令,启动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 1332
Target#         kill 1333


图 9




图10



图11


图12

更多回帖

发帖
×
20
完善资料,
赚取积分