×

使用EASE和ROS遥控机器人

消耗积分:0 | 格式:zip | 大小:0.49 MB | 2023-06-30

吴湛

分享资料个

描述

您可以在Hackster.io和 Esmacat 官方网站上阅读有关此教程和其他 Esmacat 教程的更多信息。

另请查看我们的 EASE Crowd Supply 活动页面:https ://www.crowdsupply.com/harmonic-bionics/ease

概述

在本教程中,您将学习如何设置运行机器人操作系统 (ROS) 的 Esmacat Master S 作为 EtherCAT 主站。它将用于使用 Esmacat (EASE) Slave 设备的 EtherCAT Arduino Shield 控制差动驱动机器人。

  • 首先,讨论一些关于 EtherCAT Master 和 ROS 的一般信息。
  • 在学习设置 EtherCAT Master 之后,您将学习实施一个实际项目,以使用来自 LCD Shield 的模拟值输入和使用 ROS 的 EASE 在 Gazebo 模拟环境中遥控差动驱动机器人。

Esmacat (EASE) 的 EtherCAT Arduino 扩展板:

EASE是连接到 EtherCAT 主站(Raspberry Pi/PC/笔记本电脑/专用 EtherCAT 主站设备,如Esmacat Master SEsmacat Master C)的 EtherCAT 从站。它可以堆叠在 Arduino 顶部,其他带有 Arduino Uno 的 MCU 板外形尺寸和屏蔽层。该扩展板允许与用于高性能机器人应用的行业标准 EtherCAT 协议进行高速通信。Esmacat 简单易用的 Arduino 和 Mbed 库允许在基板上轻松编码,并且 Esmacat 的免费开源 EtherCAT 主软件具有高级抽象,因此用户可以在几分钟内运行应用程序!

 
 
 
poYBAGN-u9eAJvTlAABRJpSpJ8o025.png
 
1 / 2EASE EtherCAT 从站
 

特色亮点:

  • EASE 连接 Arduino 板、类 Arduino 板和 Arduino Shields,用于大规模应用。
  • EtherCAT 支持高速通信(200Mbps,比 CAN 总线快 200 倍),这是一种用于自动化的工业标准现场总线。
  • EtherCAT 硬件/软件仅存在于 EASE 上,因此 MCU 基板上没有性能损失。
  • EASE 具有 Arduino Uno 的外形尺寸,因此可以利用 Arduino 生态系统。
  • 多个 EASE 之间的菊花链连接简化了布线的拓扑结构。
  • Power-over-EtherCAT (POE) 技术减少了所需电线和电源插座的数量。
  • Arduino Board 和 EASE 之间的数据包通过 SPI 进行通信,使 EASE 可以与包括 Arduino 板和 MBed 板在内的许多不同类型的板兼容。
  • 由 Esmacat 库开发的 Arduino 和 Mbed 允许用户在几分钟内轻松开发基板和 EASE 之间的代码。
  • 此扩展板有 8 个寄存器,可用于通过 EtherCAT 主站通过连接到扩展板的以太网电缆在设备之间发送/接收数据。

更多信息:https ://www.esmacat.com/ease

推荐阅读:EASE 数据表。

Esmacat Master S:

Esmacat Master S是一款功能强大的 EtherCAT 主控硬件,能够满足大多数机器人应用的所有计算需求。它带有一个预加载的实时 Linux 操作系统(基于 Ubuntu 18.04),以及完整的 Esmacat Master 软件套件。

Esmacat Master S 具有在开发阶段用作台式 PC 所需的所有硬件(包括 Wi-Fi、HDMI、VGA 和 USB 端口),但也针对安装在最终机器人本身中进行了优化,其低功耗、无风扇设计、铝制结构和 SSD。这种二合一功能极大地提高了开发、测试、调试和最终部署之间过渡的平滑度。

将 Esmacat Master 软件加载为 C++ API 后,Esmacat Master S 还提供了在其上轻松运行其他自定义机器人算法的灵活性,而无需额外的计算硬件。

 
 
 
pYYBAGN-u9mADVviAAArgetgaWo640.png
 
1 / 3Esmacat Master S
 

更多信息:https ://www.esmacat.com/master-s

活性氧:

poYBAGN-u9yAdY3zAAAWoMizzWY637.png
罗斯标志
 

机器人操作系统 (ROS)是用于编写机器人软件的灵活框架。它是一组工具、库和约定,旨在简化在各种机器人平台上创建复杂且稳健的机器人行为的任务。

对于本教程,建议使用 Kinetic 以上的 ROS 版本。

按照官方 ROS 安装 wiki中提供的步骤安装 ROS 并在编译和执行此项目之前配置工作区。

注意:Esmacat Master S 预装了 ROS(Melodic desktop-full)。

需要注意的是,ROS1 的稳定版本目前仅适用于Linux。

硬件连接:

主要硬件组件包括:

  • EtherCAT Master ( Esmacat Master S)
  • EtherCAT 从站(使用 Arduino 轻松实现)
  • 树莓派(安装了 ROS)
  • 以太网供电(POE 注入器)
  • 以太网电缆
  • 直流适配器(用于 POE)和
  • 液晶屏

由于 EASE 使用 POE 注入器,因此无需单独为 Arduino 板供电。EASE 可以为板和通过 EtherCAT 连接的任何其他板供电!

连接如本教程“原理图”部分中的图片所示。“硬件设置示意图”概述了要进行的连接。

笔记:

  • 确保以太网连接牢固地插入插座。(连接松动可能导致从设备无法识别。)

所需库:

  • 一个用于 Arduino 的 EASE 库,用于与 Arduino 子系统进行通信。

EASE 库在 Arduino 的库管理器中可用(草图 -> 包含库 -> 管理库对话框)。在搜索栏中输入 EASE_Arduino Code 并安装库。

或者

该库的链接已包含在代码部分下。下载库并将其添加到 Arduino IDE(Sketch-> Include Library-> Add.ZIP library 并选择文件)以开始编码部分。

推荐阅读:EASE 入门。

软件 :

本教程所需的软件涉及编码

对 EtherCAT主站进行编程

  • 如果您是 Esmacat 客户,请使用提供的登录凭据为本教程克隆最新版本的 Esmacat 主软件。

对 Arduino 进行编码

打开 Arduino IDE 并创建一个新的草图文件。本教程的完整代码可在名为“arduino_with_ease_and_lcd_shield”的代码部分中找到。

编译并将此代码上传到与 EASE 连接的 Arduino 板上。

注意确保在 IDE 中检查 Board 和 Port 是否选择正确。

运行 Esmacat 主代码:

运行 Esmacat 主代码时,您会在终端上获得类似于以下的结果,显示 ROS 节点与 Esmacat 主节点通​​信以更新 EASE 寄存器。

EtherCAT 主站执行
 

结果:

至此,您已经成功编程了 Arduino 板和 EtherCAT 主站!自定义 ROS 主题可用于发布和订阅消息以与 Esmacat 硬件和 ROS 进行通信。

 

感谢您关注我们的教程!我们很高兴看到用户可以使用 EASE 创建什么!如果您有任何问题,请告诉我们。


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

评论(0)
发评论

下载排行榜

全部0条评论

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