ROS系统是什么?ROS系统主要特点有哪些?创龙RK3568J+Debian的ROS2系统案例

描述

      Tronlong创龙科技ROS让机器人开发更便捷;我们来看看具体的。

  ROS系统是什么

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

  随着工业智能化的快速发展,智能机器人设备已成为工业自动化体系的佼佼者,而智能机器人设备核心—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-软件资料\Demo\platform-demos\ros2_foxy\bin\”目录下,请先参考《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

  RK3568

  图 2

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

  Target# ros2 run demo_nodes_py listener &

  RK3568

  图 3

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

  Target# ros2 run demo_nodes_py talker

  RK3568

  图 4

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

  Target# ps -a

  Target# kill 1256

  Target# kill 1257

  RK3568

  图 5

  基于C++语言的通信演示

  案例功能:基于C++语言,启动ROS节点发布与订阅消息,实现订阅消息节点与发布消息节点之间的实时通信。

  请将评估板上电启动,执行如下命令,配置评估板测试环境。

  Target#export COLCON_CURRENT_PREFIX=/opt/ros

  Target# source /opt/ros/local_setup.sh

  RK3568

  图 6

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

  Target# ros2 run demo_nodes_cpp listener &

  RK3568

  图 7

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

  Target# ros2 run demo_nodes_cpp talker

  RK3568

  图 8

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

  Target# ps -a

  Target# kill 1332

  Target# kill 1333

  RK3568

  图 9

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分