当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]使用ROS的AMR,用于远程或自主移动的Particle Photon,以及用于实时数据存储和环境映射的Particle Cloud

自主移动机器人(amr)在工业、农业和教育领域提供了变革潜力,在这些领域,低成本、可扩展的自动化至关重要。这项研究提出了ROS Ranger Mini,这是一种紧凑型ROS AMR,集成了深度摄像头、超声波传感器和雷达,具有强大的环境感知和避障能力。该系统结合了用于高级处理的树莓派和Particle Photon 2开发板,可通过Wi-Fi实现远程控制和自主导航的双重操作模式。传感器和状态数据通过Particle Cloud实时传输和存储,实现远程监控和系统分析。该设计强调了可访问的技术,经过深思熟虑的整合,可以为各种现场应用创建适应性强且高效的机器人平台。

粒子云介绍

粒子云是一个物联网平台,可以实现安全的设备连接、实时数据存储和互联网远程控制。该项目促进了AMR和远程用户界面之间的无缝通信。

我们使用粒子光子2,一个强大的支持wi - fi的微控制器,很容易与粒子云集成。主要规格包括:

•处理器:200 MHz ARM Cortex-M33 (Realtek RTL8721DM)

•Wi-Fi: 802.11 b/g/n, 2.4 GHz

•内存:2mb

•Flash: 4mb

•Gpio: 20+可配置引脚

安全启动和OTA更新支持

该板处理实时数据传输,支持自主和远程控制功能。

硬件部分

在本节中,建立了电机驱动器,执行器,相机,超声波传感器,Particle Photon 2和树莓派之间的所有连接,以实现通信和反馈交换。我还在电路中加入了一个5A降压助推器,因为我们通常使用2S LiPo电池或2S 18650电池,产生7.4伏。由于Photon 2只能接受高达5.5伏特,如数据表中所述,降压升压器是必要的,以安全地调节电压。

这是我用Fusion EDA为这个机器人设计的电路图。

该电路有三个主要部分:粒子光子2,树莓派HAT和5-15V到5V降压电压转换器。摄像头通过USB端口或15针CSI连接器连接到树莓派。该图还包括两个超声波传感器,它们复制了激光雷达传感器的功能,有助于降低机器人的总体成本。Photon 2的D1和D2引脚连接到树莓派进行通信,发送确认和接收反馈。

集成光子2

首先,您需要在Particle网站上注册。之后,您可以检查设备是否已连接。我的设备出现在他们的平台上。

为了集成Photon,你首先需要下载VS Code并安装Particle CLI命令行。然后,你可以使用VS Code中的终端直接发送命令。

在使用粒子光子2编程时,请记住它有多种模式。了解RGB LED指示灯的含义很重要。

粒子光子上的标准RGB LED模式

然后,我们有两个选择:在VS code中编写代码或使用Particle Web IDE。最初,我使用VS Code,但遇到了一些问题,所以我决定切换到粒子Web IDE。它有一个非常容易理解的用户界面。我只是编写了代码,由于Web IDE已经连接到Particle Cloud,因此不需要编写任何额外的代码来连接Wi-Fi或云。

整合MIT App Inventor

MIT App Inventor是麻省理工学院开发的一个免费的、初学者友好的平台,用于使用可视化的、基于块的编程界面创建移动应用程序。

用于:

•开发无需编码的Android应用程序

•物联网接口原型

•教育项目和快速应用程序开发

下面是使用MIT app Inventor发明一个简单应用程序的简短分步指南:

•访问appinventor.mit.edu,用谷歌账户登录。

•点击“创建应用程序”→开始一个新项目。

•通过将组件(按钮、标签等)拖到手机屏幕来设计UI。

•转到块部分→通过连接代码块创建逻辑。

•使用MIT AI2 Companion应用程序通过USB或Wi-Fi连接手机。

•在手机上测试你的应用。

•导出或构建APK来安装或共享应用程序。

完成设计后,您可以进入Blocks部分。所有后端逻辑都是通过基于块的系统处理的,该系统充当应用程序和硬件之间的中介。

图片中的粉色块是MIT App Inventor中的文本块,其中包含web请求的URL和POST数据。

URL包含您的设备ID (0a10aced20219…)。

POST文本包含访问令牌(b648206178aff3a71dcdd8e3f3…)以及一些命令参数(arg=right, arg=left等)。

这个令牌和设备ID是唯一的标识符,允许你的应用程序通过粒子API与你的特定设备进行通信。

例子:

这是我的Photon2的设备ID:“0a10aced202194944a056838”在上面的URL

对于应用程序中的每个按钮,我使用了相应的参数:

•转发:参数= forward&access_token = b648206178aff3a71dcdd8e3f32db6b99dac6d98

•向后:参数= backward&access_token = b648206178aff3a71dcdd8e3f32db6b99dac6d98

•左:参数= left&access_token = b648206178aff3a71dcdd8e3f32db6b99dac6d98

•右:参数= right&access_token = b648206178aff3a71dcdd8e3f32db6b99dac6d98

•站:参数= stop&access_token = b648206178aff3a71dcdd8e3f32db6b99dac6d98

对于每个按钮,我们使用一个令牌ID。这是我的设备的令牌ID:b648206178aff3a71dcdd8e3f32db6b99dac6d98

问题是,你在哪里可以找到你的令牌ID和设备ID

对于令牌ID,请进入粒子CLI并键入

请输入您在Particle注册时使用的邮箱和密码。

这是代币

我们已经完成了AMR的一部分

这就是它在这之后的样子!!

相机和超声波传感器与ROS的集成

本文介绍了一对安装在伺服电机上的HC-SR04超声波传感器如何与ROS 2一起使用,以执行2D环境映射。该系统从不同角度收集距离数据,并在RViz中可视化。

系统概述

Arduino使用伺服电机以小步(例如,每5°)从0°到180°旋转超声波传感器。

在每个角度,两个超声波传感器测量距离。

Arduino通过串行发送一行数据,格式如下:

角度:distance_left: distance_right

在Pi上运行的ROS 2节点:

读取这个串行数据。

将传感器读数作为ROS消息发布。

可选地将它们转换为二维笛卡尔坐标。

数据在RViz中可视化,以构建2D占用地图。

Arduino代码职责

扫描伺服电机从0°到180°。

触发超声波传感器并读取距离。

每隔X毫秒通过Serial.print()发送角度和距离。

ROS 2节点职责-

使用pyserial读取串行数据。

解析传入的字符串。

使用sensor_msgs/msg/PointCloud2或自定义消息(例如Point2D[])发布数据。

发布点/超声扫描或类似的主题。

可视化的RViz

可视化:

使用订阅扫描主题的配置启动RViz。

PointCloud2用于分散的点。

用于可视化标记的MarkerArray。

ROS 2包

1. serial_comms

用途:从Arduino读取和解析串行数据(距离,角度)

节点:serial_reader_node

发布:

/ sensor_data (custom_msgs / SensorData)

依赖关系:rclpy, pyserial

2. sensor_fusion_node

用途:融合超声波范围,伺服角度和里程计数据

节点:fusion_node

订阅:

/ sensor_data

/奥多姆

发布:

/ fused_scan (sensor_msgs /提升)

/ amr_pose (geometry_msgs / PoseStamped)

3. mapping_visualizer

目的:在RViz2中可视化融合数据

节点:rviz_mapper

订阅:

/ fused_scan

/ amr_pose

4. teleop_interface

用途:用于云命令的粒子光子板接口

节点:teleop_bridge_node

发布:

/ cmd_vel (geometry_msgs /扭曲)

特点:

•粒子云REST集成

•紧急停车命令

•安全模式回退

•系统工作流程

Arduino通过串口发送距离+伺服角度。

Serial_comms节点读取它并发布到/sensor_data。

sensor_fusion_node将此与odometry/IMU结合起来,并将伪扫描发布为/fused_scan。

mapping_visualizer在RViz2中显示了这一点。

teleop_interface监听Particle Cloud和issue /cmd_vel来控制机器人的运动。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭