还未设置个性签名
成为VIP会员 享9项特权: 开通会员

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

3天内不再提示

如何才能让机器人在预先定义的路径上精确移动

科技观察员 来源:hackster.io 作者:hackster.io 2022-06-07 11:24 次阅读

该项目旨在让机器人在预先定义的路径上精确移动,无需使用GPS或WiFi或蓝牙进行定位,甚至无需地图或建筑布局规划。并实时绘制其实际路径(按比例)。蓝牙可以代替有线,用于传输实时位置信息。

poYBAGKexECAQkEsAAXk1Nr4yXA055.png

背景

我们一直在为基于Arduino的机器人的室内导航寻找强大的解决方案。在为此应用选择正确的运动传感解决方案时,我们考虑了Oblu(一种开源IMU)。它的低成本和开源性质使其成为可能的候选者。这里棘手的部分是oblu的开源程序适用于脚踏式室内行人航位推算(PDR)或行人导航,简而言之。Oblu作为一款脚装式IMU在室内的PDR性能令人印象深刻。一个很大的优点是免费的Android应用程序(Xblu)的实时位置跟踪。但是,我们不确定如何利用其现有的基于人类步行模型的行人导航算法。

Oblu的内部计算基于人类行走。Oblu给出两个连续步骤之间的位移和航向变化。当脚与地面接触时,鞋底的速度为零,即鞋底处于静止状态。这样,Oblu可以检测“步骤”并纠正一些内部错误。这种频繁的错误纠正会带来出色的跟踪性能。所以我们的机器人也以同样的方式行走——移动、停止、移动、停止。

我们选择了Oblu,很快我们就可以组装我们的机器人和跟踪系统。

它是如何工作的:

机器人以预先编程的路径移动,并将其实际移动信息(通过蓝牙)传输到手机以进行实时跟踪。

Arduino预编程了路径,oblu用于感知机器人的运动。oblu定期向Arduino传输运动信息。在此基础上,Arduino控制轮子的运动,让机器人遵循预定义的路径。

poYBAGKexDuASJyDAAJpqB8UR64588.png

机器人的路径被编程为一组直线段。每个线段由其长度和相对于前一个线段的方向定义。机器人的运动保持谨慎,即它以直线运动,但在较小的部分(为简单起见,我们称之为“步幅”)。在每一步结束时,oblu将步长和偏离程度(方向变化)从直线传输到Arduino。如果Arduino发现与预定义的直线有偏差,则Arduino在收到此类信息的每一步都会纠正机器人的对齐方式。

根据程序,机器人总是应该直线移动。但是,由于表面不平整、机器人装配质量不平衡、直流电机的结构或电气不平衡或前自由运转轮的随机方向等非理想情况,它可能会偏离直线,并可能以一定的角度或倾斜的路径行走。

迈出一步→纠正你的前进方向→前进

如果机器人的行程超过该特定线段的编程长度,它也会向后移动。

下一个步长取决于该特定直线段要覆盖的剩余距离。当要行进的距离较大时,机器人会大步走,而在接近目的地(即每个直线段的末端)时,机器人会小步走。

IMUOblu同时将数据传输到Arduino和手机(通过蓝牙)。Xblu(Android应用程序)根据从机器人接收到的运动信息执行一些简单的计算来构建路径,用于在手机上进行实时跟踪。使用Xblu构建路径如下所示:

pYYBAGKexDeAHOhuAAHx8ZAHyO4347.png

总而言之,Obl可以感知运动并定期将运动信息传达给Arduino和手机。根据编程路径和运动信息(由oblu发送),Arduino控制车轮的运动。除启动/停止命令外,机器人的运动不受远程控制。

路径建模:

如果机器人只在直线段上行走,它可能会最容易控制。因此,必须首先将路径建模为一组直线段。下面的图片包含几个示例路径及其在位移和方向方面的表示。这就是在Arduino中对路径进行编程的方式。

pYYBAGKexDKAbP5lAAEH5tQ_73E653.png

同样,任何作为一组直线段的路径都可以在Arduino中定义和编程。

通讯协议:

第1步:Xoblu向oblu发送START命令

第2步:oblu通过向Xblu发送适当的ACK来确认接收命令

第3步:oblu在每一步向Xoblu发送包含每个步幅的位移和方向信息的DATA包。(步骤=每当检测到零运动或检测到静止时)。

第4步:Xblu通过向oblu发送适当的ACK来确认接收到最后一个DATA数据包。(重复第3步和第4步的循环,直到Xblu发送STOP。收到STOP命令后,oblu执行第5步)

第5步:停止-(i)在oblu中停止处理(ii)在oblu中停止所有输出

连接示意图:

pYYBAGKexC6AclfeAAHaWZh_CmY969.png

  • 机器人
    +关注

    关注

    196

    文章

    21690

    浏览量

    188966
  • Arduino
    +关注

    关注

    169

    文章

    2705

    浏览量

    176194
收藏 人收藏

    评论

    相关推荐

    如何使用Arduino IDE进行ESP32双核编程

    ESP 模块因其 Wi-Fi 功能而广受欢迎,例如ESP8266、ESP-12E等。这些都是具有 W....
    的头像 科技观察员 发表于 08-18 17:20 100次 阅读
    如何使用Arduino IDE进行ESP32双核编程

    将ADXL345加速度计与Arduino UNO连接的方法

    在这里,我们讨论的是ADXL345 加速度计,它用于测量 x、y 和 z 轴的加速度或速度变化。这些....
    的头像 科技观察员 发表于 08-18 17:15 45次 阅读
    将ADXL345加速度计与Arduino UNO连接的方法

    构建一个简单的RFID门锁

     RFID(射频识别)是一种廉价且易于使用的技术。它可用于许多应用,如访问控制、安全、资产跟踪、人员....
    发表于 08-18 17:10 36次 阅读
    构建一个简单的RFID门锁

    使用无芯直流电机和nRF24L01构建最快Arduino遥控车

    在这个项目中,我们将 使用 Arduino 构建一个完全不同类型的 RC 汽车,主要这辆车的目标是达....
    的头像 科技观察员 发表于 08-18 16:50 54次 阅读
    使用无芯直流电机和nRF24L01构建最快Arduino遥控车

    桥田打造快换装置等产品实现中高端国产替代

    自动化、智能化生产已经成为制造业发展的热点方向,未来的工厂必定是能够实现小批量多品种生产且可以个性化....
    的头像 SHqiaotian888 发表于 08-18 16:27 47次 阅读

    如何使用Arduino生成的PWM来控制交流风扇的速度

    在这个项目中,我们将演示使用 TRIAC 的 Arduino 交流风扇速度控制。这里使用交流信号的相....
    的头像 科技观察员 发表于 08-18 16:26 68次 阅读
    如何使用Arduino生成的PWM来控制交流风扇的速度

    如何使用YAKINDU Statechart Tools创建数字手表

    如何使用YAKINDU Statechart Tools创建数字手表并在使用 LCD Keypad ....
    的头像 科技观察员 发表于 08-18 16:03 41次 阅读
    如何使用YAKINDU Statechart Tools创建数字手表

    常用的标定方法:九点标定

    在实际控制中,相机检测到目标在图像中的像素位置后,通过标定好的坐标转换矩阵将相机的像素坐标变换到机械....
    的头像 倩倩 发表于 08-18 15:54 35次 阅读

    4511 7位七段显示模块

    电子发烧友网站提供《4511 7位七段显示模块.zip》资料免费下载
    发表于 08-18 15:11 6次 阅读
    4511 7位七段显示模块

    基于Arduino的编程计算器

    电子发烧友网站提供《基于Arduino的编程计算器.zip》资料免费下载
    发表于 08-18 14:38 4次 阅读
    基于Arduino的编程计算器

    PCB Arduino圣诞之声

    电子发烧友网站提供《PCB Arduino圣诞之声.zip》资料免费下载
    发表于 08-18 14:37 4次 阅读
    PCB Arduino圣诞之声

    PCB设计的模型火车布置的车站公告

    电子发烧友网站提供《PCB设计的模型火车布置的车站公告.zip》资料免费下载
    发表于 08-18 11:12 7次 阅读
    PCB设计的模型火车布置的车站公告

    云天励飞荣获可信人工智能实践优秀案例

    发展可信AI正在成为行业共识,作为AI产业的重要一员,云天励飞一直积极响应号召,为可信AI实践贡献力....
    发表于 08-18 11:07 41次 阅读

    ABB机器人故障处理大全

    处理方式:检查电机是否过热,如电机温度正常则检查连接电缆是否正常(可能是控制柜处航空插头没插好λ如果....
    发表于 08-18 10:51 92次 阅读

    使用arduino和传感器制作声纳护目镜/夜视镜

    电子发烧友网站提供《使用arduino和传感器制作声纳护目镜/夜视镜.zip》资料免费下载
    发表于 08-18 10:47 6次 阅读
    使用arduino和传感器制作声纳护目镜/夜视镜

    Arduino机器人避障

    电子发烧友网站提供《Arduino机器人避障.zip》资料免费下载
    发表于 08-18 10:20 8次 阅读
    Arduino机器人避障

    DIY arduino UNO防护罩

    电子发烧友网站提供《DIY arduino UNO防护罩.zip》资料免费下载
    发表于 08-18 10:15 6次 阅读
    DIY arduino UNO防护罩

    用于俄罗斯Cansat比赛的火箭机载计算机的印刷电路板

    电子发烧友网站提供《用于俄罗斯Cansat比赛的火箭机载计算机的印刷电路板.zip》资料免费下载
    发表于 08-18 10:12 8次 阅读
    用于俄罗斯Cansat比赛的火箭机载计算机的印刷电路板

    SlieldClon mClon电路板设计

    电子发烧友网站提供《SlieldClon mClon电路板设计.zip》资料免费下载
    发表于 08-18 10:06 6次 阅读
    SlieldClon mClon电路板设计

    Dtuino的资料分享

    描述 DayTec的Dtuino 跨平台开发板,通过 USB 和 DayTec 引导加载程序或 ICSP 选项进行编程。 DTuino 旨在...
    发表于 08-18 06:32 109次 阅读

    设计一个电动卡丁车数据记录仪

    描述 这是一个小型 pcb,设计用于电动卡丁车,用于显示秒表、电机转速和车速,并将这些数据记录在带有时间戳的 SD 卡上以供分...
    发表于 08-18 06:12 68次 阅读

    如何使用Arduino制作Buzz Wire游戏

    Arduino 在构建爱好项目和游戏方面非常受欢迎,我们之前使用 Arduino 构建过贪吃蛇游戏、....
    的头像 科技观察员 发表于 08-17 16:50 94次 阅读
    如何使用Arduino制作Buzz Wire游戏

    谷歌机器人技术新突破 可执行更复杂的任务

    8月17日消息,谷歌实验室的研究人员最近展示了新的机器人技能,用各种塑料玩具原料制作出了汉堡。这个机....
    的头像 物联网星球 发表于 08-17 16:43 190次 阅读

    如何使用Arduino构建餐厅智能点餐系统

    在这个项目中,我们正在使用 Arduino、TFT 显示器和 433MHz 射频发射器/接收器模块构....
    发表于 08-17 16:34 54次 阅读
    如何使用Arduino构建餐厅智能点餐系统

    如何使用Arduino构建可调电子负载

    在本教程中,我们将学习如何使用 Arduino 构建我们自己的可调电子负载,最大输入电压为 24V,....
    发表于 08-17 16:10 45次 阅读
    如何使用Arduino构建可调电子负载

    使用红外传感器构建一个Arduino计数机

    在这个项目中,我们正在使用红外传感器构建一个Arduino 计数机。这台机器在红外传感器的帮助下对不....
    的头像 科技观察员 发表于 08-17 15:59 87次 阅读
    使用红外传感器构建一个Arduino计数机

    如何使用Arduino构建数字键盘安全门锁

    在这个项目中,我构建了一个Arduino 键盘门锁,它可以安装到您现有的任何门上,以使用数字密码保护....
    发表于 08-17 15:49 59次 阅读
    如何使用Arduino构建数字键盘安全门锁

    安川MOTOMAN-GP25机器人使用说明书

    安川MOTOMAN-GP25机器人使用说明书免费下载。
    发表于 08-17 14:40 10次 阅读

    安川机器人报警代码

    安川机器人报警代码表免费下载。
    发表于 08-17 14:39 11次 阅读

    用于Arduino nodeMCU的Thinger IO温度和湿度传感器

    电子发烧友网站提供《用于Arduino nodeMCU的Thinger IO温度和湿度传感器.zip....
    发表于 08-17 11:36 8次 阅读
    用于Arduino nodeMCU的Thinger IO温度和湿度传感器

    Arduino松弛振荡器开源案例

    电子发烧友网站提供《Arduino松弛振荡器开源案例.zip》资料免费下载
    发表于 08-17 11:26 7次 阅读
    Arduino松弛振荡器开源案例

    如何选择搭配机器人的控制设计

    集中式的机器人系统,机器人的控制柜会集中驱动系统的大多数电子模块,而在分散式系统中,这些模块中的其中....
    发表于 08-17 11:25 57次 阅读

    JAE SD卡座连接器非常适合用于机器人和机床等工业设备

    无论是用于工业设备还是消费电子产品,以下这些连接器都采用坚固耐用的设计,可以很好的避免触点变形,满足....
    发表于 08-17 10:33 52次 阅读

    ARDUINO IR控制继电器开源分享

    电子发烧友网站提供《ARDUINO IR控制继电器开源分享.zip》资料免费下载
    发表于 08-17 10:26 8次 阅读
    ARDUINO IR控制继电器开源分享

    G27 G29变速踏板转USB带ARDUINO PRO MICRO 5V 16MHZ

    电子发烧友网站提供《G27 G29变速踏板转USB带ARDUINO PRO MICRO 5V 16M....
    发表于 08-17 09:49 8次 阅读
    G27 G29变速踏板转USB带ARDUINO PRO MICRO 5V 16MHZ

    Juego con Arduino UNO开源分享

    电子发烧友网站提供《Juego con Arduino UNO开源分享.zip》资料免费下载
    发表于 08-17 09:47 8次 阅读
    Juego con Arduino UNO开源分享

    Arduino nano到uno适配器板

    电子发烧友网站提供《Arduino nano到uno适配器板.zip》资料免费下载
    发表于 08-17 09:44 8次 阅读
    Arduino nano到uno适配器板

    锐驰智光荣登2022年度北京“专精特新”企业

    日前,由北京市经济和信息化局主持的【2022年度北京“专精特新”企业】评审已结束公示,锐驰智光(北京....
    的头像 锐驰智光 发表于 08-17 09:44 131次 阅读

    Wi-Fi技术提供强大的物联网优势

      “Wi-Fi 6 现在还可以支持工业用例的许多要求,增强延迟、确定性和功率效率。在智能工厂中,W....
    的头像 星星科技指导员 发表于 08-17 09:18 214次 阅读

    机器人控制设计多核异构成趋势,不同内核优势各异的处理元件多样搭配

    电子发烧友网报道(文/李宁远)工业机器人我们通常分为几个部分:控制器系统、机械手(驱动系统)、示教器....
    的头像 Robot Vision 发表于 08-17 08:50 359次 阅读
    机器人控制设计多核异构成趋势,不同内核优势各异的处理元件多样搭配

    阶梯医疗开发植入大脑中的超柔性微纳电极

    通过脑机接口,用意念直接控制机器、实现交互,在科幻电影里很常见。但现实中,电光火石间,大脑上百亿个神....
    发表于 08-16 15:37 77次 阅读

    使用Arduino在FreeRTOS中实现信号量和互斥量的方式

    信号量和互斥(互斥)是用于同步、资源管理和保护资源免受损坏的内核对象。在本教程的前半部分,我们将了解....
    的头像 科技观察员 发表于 08-16 15:34 146次 阅读
    使用Arduino在FreeRTOS中实现信号量和互斥量的方式

    制作一个刺猬机器人的教程

    我制作了一个机器人刺猬,它可以四处行动(通过器),并且可以浏览多达5种不同的地方。
    发表于 08-16 15:01 57次 阅读
    制作一个刺猬机器人的教程

    arduino学习超声波测距之零距离问题

    源代码是从网上找的,超声波模块应该都是差不多一样的,接5V和GND,然后Trig接A0,Echo接A1,代码如下: int TrgPin ...
    发表于 08-16 14:57 631次 阅读

    线跟随机器人开源项目

    电子发烧友网站提供《线跟随机器人开源项目.zip》资料免费下载
    发表于 08-16 11:12 9次 阅读
    线跟随机器人开源项目

    24v至5v稳压器开源项目

    电子发烧友网站提供《24v至5v稳压器开源项目.zip》资料免费下载
    发表于 08-16 10:35 6次 阅读
    24v至5v稳压器开源项目

    Arduino PLC项目开关输出LED卡(第4张,共5张)

    电子发烧友网站提供《Arduino PLC项目开关输出LED卡(第4张,共5张).zip》资料免费下....
    发表于 08-16 10:33 9次 阅读
    Arduino PLC项目开关输出LED卡(第4张,共5张)

    Arduino PLC项目输入LED卡(第3张,共5张)

    电子发烧友网站提供《Arduino PLC项目输入LED卡(第3张,共5张).zip》资料免费下载
    发表于 08-16 10:32 8次 阅读
    Arduino PLC项目输入LED卡(第3张,共5张)

    Arduino PLC项目继电器卡(第1张,共5张)

    电子发烧友网站提供《Arduino PLC项目继电器卡(第1张,共5张).zip》资料免费下载
    发表于 08-16 10:31 8次 阅读
    Arduino PLC项目继电器卡(第1张,共5张)

    Arduino PLC项目(第2张,共5张)

    电子发烧友网站提供《Arduino PLC项目(第2张,共5张).zip》资料免费下载
    发表于 08-16 10:29 10次 阅读
    Arduino PLC项目(第2张,共5张)

    Arduino心电图屏蔽

    电子发烧友网站提供《Arduino心电图屏蔽.zip》资料免费下载
    发表于 08-16 10:26 8次 阅读
    Arduino心电图屏蔽

    用于控制4-20mA测量设备的数据记录器板

    描述 数据记录器 con atmega32U4 它是用于控制 4-20mA 测量设备的数据记录器板。它用于电气面板或任何特定过程的自动化。它...
    发表于 08-16 07:21 461次 阅读

    适用于Arduino和M5Stack的MH-Z19B二氧化碳传感器

    描述 MH-Z19B 用于 M5Stack MH-Z19B是一款易于使用的二氧化碳传感器,适用于 Arduino 和 M5Stack。 我做了这...
    发表于 08-16 07:03 832次 阅读

    基于STM32F373的AIWM六足控制板

    描述 AIWM六足控制板 这是AIWM六足机器人的控制板。基于STM32F373微控制器的板子,可以使用WIFI-UART桥...
    发表于 08-15 06:10 500次 阅读

    自制一个arduino项目

    描述 你自己的arduino项目 这个项目最适合初学者到高级制作自己的 arduino 是每个人都想做的梦想,在这里您只需单击一下即可...
    发表于 08-15 06:03 440次 阅读

    用I2C级联扩展器做一个时钟盒子

    最近因为优惠活动就囤了一些硬件模块,其中包括几块OLED显示屏。当它们整齐的摆放在一起时我突然想到能不能把它门同时点亮并...
    发表于 08-12 10:58 2261次 阅读

    Arduino MEGA电池监控屏蔽

    描述 Arduino MEGA 电池监控屏蔽 该防护罩旨在测试使用过的飞机镍镉 (NiCd) 电池,以重新用作电源墙。该屏蔽能够测量...
    发表于 08-12 07:06 1865次 阅读

    带有Octavo OSD3358的arduino外形处理器板

    描述 ArdOSD3358是带有 Octavo OSD3358 (PocketBeagle) 的 arduino 外形处理器板。它有 2 个 WLAN、以太网和 4 个...
    发表于 08-12 06:39 1605次 阅读