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

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

3天内不再提示

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

A面面观 来源:Tronlong创龙科技 作者:Tronlong创龙科技 2023-11-30 14:41 次阅读

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。核心板CPUROMRAM电源、晶振、连接器等所有器件均采用国产工业级方案,国产化率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

图 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

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

    关注

    1

    文章

    271

    浏览量

    16681
  • 创龙科技
    +关注

    关注

    1

    文章

    129

    浏览量

    7549
  • RK3568
    +关注

    关注

    4

    文章

    433

    浏览量

    4127
  • Debian
    +关注

    关注

    0

    文章

    71

    浏览量

    1003
收藏 人收藏

    评论

    相关推荐

    Micro-ROS:把ROS2放在MCU上

    了机器人的发展。   ROS便是为机器人在研发的过程中的代码复用提供支持的开源框架,大量的机器人开源项目,从感知到控制、从定位到构图、从导航到可视化,几乎都使用ROS作为基础。   Micro-ROS从何而来?   Micro-
    的头像 发表于 04-07 07:13 6611次阅读

    系统镜像Ubuntu_ROS2ROS2是什么意思,带有ROS2开发环境吗?

    请问一下,百度文库资料里面,下图所示的系统镜像Ubuntu_ROS2ROS2是什么意思,带有ROS2开发环境吗?与前面4GB版本的镜像
    发表于 03-01 23:06

    【Toybrick RK3399Pro AI开发板试用体验】Fedora系统安装ROS

    RK3399Pro开发板烧写固件。2、开机远程登录Toybrick RK3399Pro开发板,如果开发板接显示屏也可以直接在显示屏上的终端操作,如果调试机器人的话,最好还是通过SS
    发表于 07-07 17:36

    ROS2的安装与使用 精选资料推荐

    ros2的乌龟仿真turtlesim,介绍topic,service,action等元素及其使用,介绍ros的基本操作
    发表于 08-30 08:24

    如何在ROS2中运行小乌龟呢

    ROS2中运行小乌龟,其实主要就是安装两个工具,turtlesim和rqt。A: 安装turtlesim。输入【sudo apt update】输入【sudo apt install
    发表于 11-05 06:08

    ROS简介

    目录一、ROS简介1、什么是ROS2ROS产生、发展和壮大的原因和意义二、在Ubuntu系统中,安装对应版本的ROS软件1、确定Ubunt
    发表于 12-17 08:24

    RT-Thread实时操作系统ROS2是怎样进行通信的

    的 API,主要区别就在于 rosserial 是针对 ROS1,而 micro_ros 是针对 ROS2 。第一代的 ROS 发展很多年
    发表于 04-01 11:38

    基于无线wifi网络的X3派和PC虚拟机通过ROS2实现跨设备通信

    1、X3派和PC虚拟机都连接无线wifi网络的情况下通过ROS2实现跨设备通信多机通信是ROS的基础能力之一,相比于ROS1,ROS2通过非常简单的配置即可实现多机通信。对于两个安装了
    发表于 07-13 15:13

    【昉·星光 2 高性能RISC-V单板计算机体验】四:在 VisionFive2 上安装 ROS2 humble

    在 VisionFive2 上安装 ROS2 humble ROS(Robot Operating System)是一种用于编写机器人软件的灵活框架。它是一个工具(tools)、库
    发表于 09-04 03:33

    【昉·星光 2 高性能RISC-V单板计算机体验】五:在 VisionFive2 上体验 ROS2 humble

    在 VisionFive2 上体验 ROS2 humble 一、系统准备 参考 在 VisionFive2 上安装 ROS2 humble
    发表于 09-04 04:59

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

    逐渐成为主流。 RK3568J + DebianROS2系统演示案例 龙科技SOM-TL3568
    发表于 11-30 16:01

    DDS在ROS2中的应用

    DDS在ROS2中的应用 DDS在ROS2系统中的位置至关重要,所有上层建设都建立在DDS之上。在这个ROS2的架构图中,蓝色和红色部分就是DDS。 刚才我们也提到,DDS是一种通信的
    的头像 发表于 11-24 17:54 426次阅读
    DDS在<b class='flag-5'>ROS2</b>中的应用

    ROS2中自带例程测试

    如果你是一个ROS2的开发者,可能对刚才我们使用的ROS2命令比较熟悉,这时你可能也会产生一个问题:我们之前也安装了ROS2系统,那ROS2
    的头像 发表于 11-28 16:29 411次阅读
    <b class='flag-5'>ROS2</b>中自带例程测试

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

    ,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。 图1 随着工业智能化的快速发展,智能机器人设备已成为工业自动化体系的佼佼者,而智能机器人设备核心—ROS系统,是机器人领域的集大成者,主要应用于
    的头像 发表于 11-30 16:29 256次阅读
    <b class='flag-5'>ROS</b>让机器人开发更便捷,基于<b class='flag-5'>RK3568J+Debian</b><b class='flag-5'>系统</b>发布!

    在TogetherROS中如何安装ROS2功能包

    ,这里我们就把ROS2必要的功能包都安装一下,让系统的功能模块更加完整。 熟悉ROS2的同学,应该对这些指令并不陌生,和ROS2官方手册中的安装步骤一致,不过还是建议大家跟着课程的步骤
    的头像 发表于 12-01 16:02 457次阅读
    在TogetherROS中如何安装<b class='flag-5'>ROS2</b>功能包