在工业智能化浪潮中,智能机器人设备是成为工业自动化体系的璀璨之星,而其核心 ——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创龙科技)查看,快来开启探索之旅吧!

一文读懂ROS开发,解锁RK3562J + Ubuntu工业平台应用的更多相关文章

  1. 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现

    一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现 导读:近日,马云.马化腾.李彦宏等互联网大佬纷纷亮相2018世界人工智能大会,并登台演讲.关于人工智能的现状与未来,他们提出了各自的观点,也引 ...

  2. 一文读懂高性能网络编程中的I/O模型

    1.前言 随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力.本文(和下篇<高性能网络编程(六):一文读懂高性能网络编程中的线程模型>)旨在为大家提供有用的 ...

  3. 从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

    本文原作者阮一峰,作者博客:ruanyifeng.com. 1.引言 HTTP 协议是最重要的互联网基础协议之一,它从最初的仅为浏览网页的目的进化到现在,已经是短连接通信的事实工业标准,最新版本 HT ...

  4. [转帖]一文读懂 HTTP/2

    一文读懂 HTTP/2 http://support.upyun.com/hc/kb/article/1048799/ 又小拍 • 发表于:2017年05月18日 15:34:45 • 更新于:201 ...

  5. [转帖]从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

    从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路   http://www.52im.net/thread-1709-1-2.html     本文原作者阮一峰,作者博客:r ...

  6. 即时通讯新手入门:一文读懂什么是Nginx?它能否实现IM的负载均衡?

    本文引用了“蔷薇Nina”的“Nginx 相关介绍(Nginx是什么?能干嘛?)”一文部分内容,感谢作者的无私分享. 1.引言   Nginx(及其衍生产品)是目前被大量使用的服务端反向代理和负载均衡 ...

  7. 【FIORI系列】SAP 一文读懂SAP Fiori是什么

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FIORI系列]SAP 一文读懂SAP Fio ...

  8. kubernetes基础——一文读懂k8s

    容器 容器与虚拟机对比图(左边为容器.右边为虚拟机)   容器技术是虚拟化技术的一种,以Docker为例,Docker利用Linux的LXC(LinuX Containers)技术.CGroup(Co ...

  9. 大数据篇:一文读懂@数据仓库(PPT文字版)

    大数据篇:一文读懂@数据仓库 1 网络词汇总结 1.1 数据中台 数据中台是聚合和治理跨域数据,将数据抽象封装成服务,提供给前台以业务价值的逻辑概念. 数据中台是一套可持续"让企业的数据用起 ...

  10. 一文读懂MySQL的事务隔离级别及MVCC机制

    回顾前文: 一文学会MySQL的explain工具 一文读懂MySQL的索引结构及查询优化 (同时再次强调,这几篇关于MySQL的探究都是基于5.7版本,相关总结与结论不一定适用于其他版本) 就软件开 ...

随机推荐

  1. jquery datatable 全选,反选 参考文档

    1 版本号 DataTables 1.10.12 2 API文档地址 http://datatables.club/reference/option/ 官方option http://datatabl ...

  2. RAG 系统高效检索提升秘籍:如何精准选择 BGE 智源、GTE 阿里与 Jina 等的嵌入与精排模型的完美搭配

    RAG 系统高效检索提升秘籍:如何精准选择 BGE 智源.GTE 阿里与 Jina 等的嵌入与精排模型的完美搭配 Text Embedding 榜单:MTEB.C-MTEB <MTEB: Mas ...

  3. golang之路由库gorilla/mux

    gorilla/mux是 gorilla Web 开发工具包中的路由管理库.gorilla Web 开发包是 Go 语言中辅助开发 Web 服务器的工具包.它包括 Web 服务器开发的各个方面, 有表 ...

  4. PHP模块之ssh2

    php远程copy文件以及在远程服务器中执行命令时,所用到的模块是ssh2,以后所有的操作都依据ssh2连接句柄完成. libssh: https://www.libssh2.org/ ssh2: h ...

  5. 在不同形式的for循环中使用break、continue、return的效果

    我们在循环中,经常会有跳出循环,跳出本次循环继续下次循环等的场景,今天我们简单分享下.主要使用到的关键字是,break.continue.return.先将结果总结: ①在foreach中不能使用br ...

  6. QPushButton长度固定,不随文字变化

    QPushButton不随text长度变化 设置SizePolicy中的水平策略 没有设置为 忽略

  7. ChatGPT生成测试用例的最佳实践(一)

    前面介绍的案例主要展示了ChatGPT在功能.安全和性能测试用例生成方面的应用和成果.通过ChatGPT生成测试用例,测试团队不仅可以提升工作效率,还可以加快测试工作的速度,尽早发现被测系统中的问题. ...

  8. 一款可以完整保留排版的PDF翻译,GitHub增长第一

    最近看论文较多,顺手给大家推荐一个用下来觉得不错的开源PDF翻译工具:PDFMathTranslate 目前这款开源项目在GitHub上已经收获了7.6K Star,而且由于一直处于增长趋势榜第一的位 ...

  9. Java JUC&多线程 基础完整版

    Java JUC&多线程 基础完整版 目录 Java JUC&多线程 基础完整版 1. 多线程的第一种启动方式之继承Thread类 2.多线程的第二种启动方式之实现Runnable接口 ...

  10. 【MyBatis】学习笔记06:各种查询所返回数据的数据类型

    [Mybatis]学习笔记01:连接数据库,实现增删改 [Mybatis]学习笔记02:实现简单的查 [MyBatis]学习笔记03:配置文件进一步解读(非常重要) [MyBatis]学习笔记04:配 ...