热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

送餐机器人产品设计

一、系统设计关键部件:器件选型2关键技术选型2.1基于二维码轮子里程计的机器人定位方案主流方案效果循线根据电磁线行走存在路线固定的问题纯视觉室内相似场景较多

一、 系统设计

关键部件:


器件选型

2 关键技术选型


2.1 基于二维码+轮子里程计的机器人定位方案


主流方案效果
循线根据电磁线行走存在路线固定的问题
纯视觉室内相似场景较多,存在重定位问题
纯激光成本高,存在漂移,环境中移动物体过多时容易出错
UWB定位误差十几厘米,信号容易遮挡
视觉二维码 + 轮子里程计

对比后最优方案是 视觉二维码+轮子里程计

基于二维码+轮子里程计方法,主要的传感器数据来源是机器人顶部的摄像头采集到的二维码图像信息以及轮子里程计在一个时间片内的脉冲数。轮子里程计信息属于高频信息,图像为低频信息。
根基机器人运动学来将轮子信息计算得到机器人的速度和位置,从图像信息中提取二维码的ID与位置,同时结合之前的二维码信息以及上一时刻的机器人位置来估计机器人坐标与新观测到的二维码坐标。
估计二维码的坐标通常采集的两幅图像之间会有十几帧轮子的信息,为降低计算量,我们可以采用滑动窗口的方法将采集的图像与轮子里程计数据放入窗口内,假设一个窗口中总共有十帧有效图像,将窗口中的机器人基于图像推测的状态和基于轮子信息推测的状态进行最小二乘优化,为降低计算量,可以采用谷歌的ceres库和eigen库来进行计算。


2.2 机器人建图方案

所谓建图就是定一个原点,然后测量出室内所有二维码标签相对于原点的空间坐标。
在选择机器人的位置后,通过控制机器人在室内移动,来实时计算机器人的位置以及室内二维码的位置,实现二维码slam的过程。
将机器人走的轨迹以及二维码坐标都保存在图片中。

建图技巧:在建图时最好让机器人走的轨迹形成一个闭环,这样slam算法会将机器人位置与整个地图中的二维码标签坐标进行优化,从而提高地图的精度。同时在建图过程中先让机器人走一些小环,然后再走一些大环,会比只走一个大环的效果要好。建图过程中走的轨迹要尽量远离障碍物,


2.3 机器人避障方案

方案一: 深度相机
在机器人下方安装深度相机,保证深度相机的视野可以覆盖机器人下一个控制周期内可以到达的位置空间。为了充分利用深度相机的视野,通常将相机斜向上30-45度安装,可以检测到地面以上的障碍物和空中的干扰物体。

方案二:激光雷达


2.4 主控系统方案

方案一:采用工控机 + linux + ros + qt,该方案适合应用于前期的功能验证,但是后期随着附加功能增多,开发效率会降低,成本变大。
方案二:全志arm主板+android + app,该方案便于后期的运维以及良好的人机交互体验,基于Java开发app也可以简单快捷。将上面开发的机器人定位导航系统打包成可执行程序,然后将机器人位置以及相关交互信息通过Restful接口与应用层程序进行通信。
在android中通过开发者模式进入调试工具中来调试日志,用户模式来给用户进行人脸识别,点餐送餐,点歌曲等app的使用。


2.5 机器人底盘方案

底盘包括电气控制和机械结构。
采用单片机作为底盘的嵌入式控制器,以说stm32f4系列为例,需要具备电机编码器接口,CAN接口,串口,电源管理系统,电机控制接口等。


2.6 相机自标定系统(应用于大批量生产中)


2.7 机器人定位校准系统(应用于大批量生产中)


2.8 机器人建图交互和地图修改软件(应用于大规模推广中)


2.9 配送app开发(餐厅实际使用中)


2.10 多机调度系统(应用于多机器人在拥挤室内工作)


2.11 机器人大数据管理系统(将机器人日常的数据采集到云端)


推荐阅读
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • Android源码中的Builder模式及其作用
    本文主要解释了什么是Builder模式以及其作用,并结合Android源码来分析Builder模式的实现。Builder模式是将产品的设计、表示和构建进行分离,通过引入建造者角色,简化了构建复杂产品的流程,并且使得产品的构建可以灵活适应变化。使用Builder模式可以解决开发者需要关注产品表示和构建步骤的问题,并且当构建流程发生变化时,无需修改代码即可适配新的构建流程。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 本文分享了一位Android开发者多年来对于Android开发所需掌握的技能的笔记,包括架构师基础、高级UI开源框架、Android Framework开发、性能优化、音视频精编源码解析、Flutter学习进阶、微信小程序开发以及百大框架源码解读等方面的知识。文章强调了技术栈和布局的重要性,鼓励开发者做好学习规划和技术布局,以提升自己的竞争力和市场价值。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • Google在I/O开发者大会详细介绍Android N系统的更新和安全性提升
    Google在2016年的I/O开发者大会上详细介绍了Android N系统的更新和安全性提升。Android N系统在安全方面支持无缝升级更新和修补漏洞,引入了基于文件的数据加密系统和移动版本的Chrome浏览器可以识别恶意网站等新的安全机制。在性能方面,Android N内置了先进的图形处理系统Vulkan,加入了JIT编译器以提高安装效率和减少应用程序的占用空间。此外,Android N还具有自动关闭长时间未使用的后台应用程序来释放系统资源的机制。 ... [详细]
  • 本文介绍了腾讯最近开源的BERT推理模型TurboTransformers,该模型在推理速度上比PyTorch快1~4倍。TurboTransformers采用了分层设计的思想,通过简化问题和加速开发,实现了快速推理能力。同时,文章还探讨了PyTorch在中间层延迟和深度神经网络中存在的问题,并提出了合并计算的解决方案。 ... [详细]
  • 华为鸿蒙系统官网2.0报名方法及适用设备
    本文介绍了华为鸿蒙系统官网2.0报名的适用设备、报名方法以及三种方式,包括在应用商店下载开发者联盟app、在官网中进行报名、在微信公众号中申请体验HarmonyOS 2.0 手机开发者Beta版本。同时提醒错过测试机会的用户可以等待后续的正式版发布。 ... [详细]
  • PL2303HXD电路图(USB转UART)介绍及应用
    本文介绍了PL2303HXD电路图(USB转UART)的特性和应用,该电路图可以实现RS232和USB信号的转换,方便嵌入到手持设备中。PL2303HXD作为USB/RS232双向转换器,可以将USB数据转换为RS232信息流格式发送给外设,并将RS232外设的数据转换为USB数据格式传送回主机。通过利用USB块传输模式和自动流量控制,PL2303HXD能够实现更高的数据传输吞吐量比传统的UART端口。 ... [详细]
  • 本文整理了Java中com.evernote.android.job.JobRequest.getTransientExtras()方法的一些代码示例,展示了 ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • Mono为何能跨平台
    概念JIT编译(JITcompilation),运行时需要代码时,将Microsoft中间语言(MSIL)转换为机器码的编译。CLR(CommonLa ... [详细]
author-avatar
彽丶蜩哋嫙侓
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有