拓冰建站拓冰建站
首页 / 资讯中心 / 正文

模块化家庭服务机器人实战:移动充电、SLAM导航与语音中枢设计

最近半年我一直在折腾一个挺有意思的家庭项目——一台我自己起的名字叫“小明”的模块化家庭移动服务机器人。说白了它就是一台能在家里到处跑的小车身上挂了几个可以随时拆装的功能模块既能给手机、平板这类设备移动充电也能当个会跑的投影仪或者音箱同时还能兼着做智能家居的控制中枢。这篇博文就把我踩过的坑、选型的思路、以及整个方案是怎么一步步落地的完整记录下来。先说结论整个项目最核心的价值不在某一个功能多强悍而在“移动”和“模块化”这两个词上。固定位置的服务机器人网上方案一大堆但真正能跟着人走的、能按需换模块的做起来比想象中麻烦得多。这篇文章适合正在做家庭服务机器人、移动充电底座、或者打算把智能音箱和屏幕做成可移动形态的开发者参考里面涉及的大量选型细节和排查经验我尽量按“为什么这么做”的逻辑讲透。1. 整体设计与思路拆解1.1 为什么做模块化而非一体机最早我其实想做一台高度集成的一体机屏幕、音箱、充电模块、投影全部焊死在一个壳子里。但真正画完框图就发现问题了一体机形态一旦定下来后续想升级某个部件或者家里人提出“能不能把投影拆下来拿到卧室用”就完全没法应对。更麻烦的是重量和散热所有模块装在一起底盘要非常大电机功耗直线上升电池续航反而缩水。模块化思路是把机器人拆成两个大层次底盘层是通用的移动平台负责导航、避障、供电和数据通信功能层是各种可插拔模块通过统一的物理接口和通信协议与底盘连接。这样底盘只做一件事——稳定地移动而充电模块、媒体模块、中枢模块各自独立开发互不干扰。这种做法的好处有三点。第一开发节奏快底盘先跑起来功能模块一个个往上加每个模块独立调试第二故障隔离好媒体模块硬件坏了不影响移动功能拔下来单独修即可第三也是最重要的——可以持续迭代。今天用这块投影模块明天换个更高分辨率的接口不变就行。接口设计上我参考了Pogo Pin加定位销的方案。底盘顶部开了一个类似“标准化挂载区”的区域布置了两排共12个弹簧针脚其中4个用于电源输入两正两负支持大电流6个用于数据通信走的是UART加I2C双总线带设备ID识别剩下2个是保留引脚以后接扩展总线用。定位销的作用是防止用户插歪这个在实际使用中真的非常有必要家里老人孩子插模块时不会去对孔位拔插歪了容易把针脚压弯。1.2 三个功能模块的价值排序很多人做这类项目喜欢把媒体播放放在第一位但我的实际调研结果完全相反。家里最痛的点是充电——沙发上、床上、厨房里线不够长、插头不够用是高频发生的矛盾。所以我在设计中把移动充电作为第一优先级媒体娱乐排第二智能中枢排第三。移动充电模块的核心竞争力是“机器人主动找用户”而不是“用户找插座”。用户躺在沙发上玩手机电量跌到20%小明的充电模块能通过UWB定位或者视觉识别追踪到用户的位置自动开过来把无线充电板递到用户手边。这种体验一旦用过再回到满屋子找充电线就会觉得很原始。媒体模块我选择的是“投影加蓝牙音箱”的轻量组合而不是直接挂一块大屏幕。原因很简单屏幕的重量和耗电对底盘影响太大而且屏幕只能朝一个方向看投影可以投天花板、投白墙、投厨房的瓷砖面使用自由度完全是两个量级。当然投影也有问题后面我会专门讲抖动和梯形校正的坑。智能中枢模块本质上是一个带麦克风阵列和红外发射器的语音盒子。它能做两件事语音交互指令以及通过红外和Wi-Fi控制家里的传统家电。为什么把中枢放最后因为这部分网上开源方案成熟讲语音识别的教程一抓一大把反倒是移动底盘和充电对准这块能抄的现成作业很少更值得集中精力。2. 移动底盘、导航与安全避障的实现细节2.1 底盘运动方案的选择与计算底盘是整个机器人的根基我比较过履带、普通两轮差速和麦克纳姆轮三种方案。履带适合地毯和门槛跨越但转弯时滑移严重室内定位容易漂而且履带噪音大晚上运行会吵到家人两轮差速结构最简单但原地转向需要比较大的空间而且前边需要万向轮支撑稳定性一般麦克纳姆轮可以实现全向移动——横向平移、斜向移动、原地旋转都行虽然机械结构和控制算法略复杂但换来的是在家里狭窄空间里极其灵活的机动性。最终选了麦克纳姆轮。四个轮子单独用直流减速电机驱动电机带霍尔编码器方便做速度闭环。底盘尺寸控制在长40厘米、宽32厘米这是经过多次试错得出的“黄金尺寸”——比这更大家里的过道会卡比这更小模块挂载区和电池仓就塞不下。运动控制上我用了Arduino加电机驱动板做底层上层主控是树莓派4B两者通过串口通信。树莓派负责跑SLAM导航算法计算出速度指令后发给ArduinoArduino做PID闭环控制把指令变成PWM信号驱动电机。底层和上层分开的原因在于实时性——导航算法偶尔卡顿几百毫秒没关系但电机控制卡顿几十毫秒就会导致运动不平稳。电机的功率选型建议算一下别凭感觉。我的底盘加满模块整车重量约6千克设计最大速度0.6米每秒加速度0.3米每秒平方。按F等于ma加摩擦力估算需要的最大牵引力大约在30牛顿左右对应到每个电机大概需要输出7.5牛顿。考虑到齿轮箱效率和路面损耗我把这个需求翻倍到15牛顿每轮最终选了额定扭矩约18牛顿厘米的带减速箱电机实测推起来轻松爬家里的缓坡整体余量充足。2.2 SLAM导航方案激光雷达加视觉的取与舍导航方案我对比过单激光雷达、纯视觉、以及激光加视觉融合三种。纯视觉方案成本低但环境光照变化一大就出问题晚上关灯基本没法用激光加视觉融合效果最好但调试复杂度翻倍而且需要本身就比较贵的深度相机。考虑到家庭环境的结构化程度很高墙、门、家具的轮廓都是稳定的几何特征单线激光雷达其实就够用。我用的是RPLIDAR A1这类低成本单线激光雷达扫描半径12米配合Cartographer算法做建图和定位。实际测下来在80平方米左右的户型里建图精度能控制在5厘米以内对于家用服务机器人来说完全够。地图构建的过程需要在房间里推着机器人为速让它缓慢走一遍所有区域角落和门框位置多停留几秒减少点云畸变。导航部分用的TEB局部规划器这个算法在动态障碍物避让上表现不错。家里最大且变化最频繁的动态障碍就是人腿和猫TEB可以实时修正局部路径不至于动不动就停下来重规划。我还给机器人加了一圈共6个超声波传感器作为近距离辅助分别布置在车头、车尾和四个角用来补激光雷达近处盲区的漏检。避障逻辑我是按优先级设计的超声波检测到20厘米内有障碍物时直接急停不做任何犹豫激光雷达识别到动态障碍物时减速绕行只有在判定前方是静态墙体时才按全局规划路径正常通行。这套策略实际运行了四个月撞到脚和撞到家具腿的次数降到了接近零唯一的例外是地面上的玩具小零件因为激光扫描平面比较低小物件有时候探测不到后来我加装了向下的传感器才解决。2.3 导航到人位置的对准策略移动充电最核心的技术点之一是“机器人怎么准确地停到用户手边”。停得歪了用户要伸着手去够无线充电板停得太远充电板根本够不到手机。我测试过三种对准策略。第一种是纯UWB定位在手机上装一个UWB标签底盘上的UWB锚点测距定位。这个方案的优势是测距准、不受光线影响但UWB的基础设施部署复杂而且用户不一定愿意在手机上装额外标签。第二种是视觉识别用RGB摄像头检测人手和手机然后做端到端的视觉伺服。这个方案最自然但对算力要求高而且家庭环境中光照复杂逆光、暗光场景经常识别失败。第三种是混合策略也是我最终采用的先用激光雷达和声源定位做初步位置判断靠近后用用户手机发出的蓝牙信号强度做最后的距离确认配合一个简单的摄像头检测手势确认方位。实际体验下来从房间门口到用户沙发旁边整个过程大约10秒最终停车位置误差可以控制在正负15厘米内用户伸手就能把手机放到充电板上。3. 移动充电模块的方案选型与热管理3.1 无线充电协议与功率的纠结移动充电模块的方案设计我花了将近两周时间最难的部分就两个充电口怎么对准以及充电时怎么散热。无线充电协议上我直接排除了市面上通行的Qi协议理由很现实——Qi充电板和手机线圈之间必须保持极小的对准偏差偏差一变大充电效率立刻暴跌。我的机器人停靠精度就算控制在15厘米这个偏移量对于Qi面板来讲还是太大了。最终我选了磁吸对齐加私有协议的方式在充电板上嵌入几块小磁铁手机贴上充电板时会被自动吸到最佳位置再用两个铜触点做物理接触充电效率可以稳定在92%以上。这里有个小坑要提醒磁铁会干扰部分手机内部的电子罗盘导致手机指南针短暂失效。解决办法是磁铁和手机之间加了一层坡莫合金屏蔽片实测干扰基本消失。充电功率我也做了权衡。最高其实可以做到100瓦但那个级别的高压大电流在家庭场景里既用不上也带来了明显的发热和安全隐患。最终定在15瓦刚好满足手机和平板的基本充电需求充电板表面温度控制在45摄氏度以内。3.2 散热设计与电池安全策略散热是我踩坑最多的地方。第一版充电模块用的是被动散热连续充30分钟后充电板表面温度就飙到接近60摄氏度不仅烫手而且电池寿命受影响。第二版加了主动散热——一个小型涡轮风扇加铝散热片。风道设计需要注意进风口要在模块侧面出风口要在底部避免热风直接吹到用户手上。实测效果很明显连续快充2小时温度可以稳定在40摄氏度左右。电池安全策略上我选择了磷酸铁锂电池组容量规格是12V20Ah额定能量约240瓦时。磷酸铁锂的热失控温度比三元锂高得多而且分解时产气量更少对于家庭环境来说安全冗余更重要。电池管理用的是带均衡功能的BMS支持过充过放短路保护配合充电模块上的温度传感器检测到温度异常时立刻切断充电回路。这里要单独提醒一下家庭机器人的电池不是容量越大越好。超过一定能量规格在一些地区会受运输和保险条款限制维修和替换成本也会高很多。240瓦时这个规格储能足够支撑连续运行4到5小时大部分家庭日常使用已经绰绰有余。3.3 电源管理的中枢作用底盘电池不只是给运动系统供电还要通过挂载区给功能模块供电。12V主电源进挂载区后每个模块内部自己再转压媒体模块转成19V给投影供电中枢模块转成5V给语音板供电充电模块则把12V转成无线充电的高频交流信号。这种分布式电源设计的好处是模块之间电源完全隔离任何一路短路不会拖垮整个系统。每一路都加了自恢复保险丝和TVS管实际测试中确实遇过一次媒体模块电压转换芯片爆炸的情况但底盘和充电模块完全没受影响直接换模块就恢复了。4. 媒体模块的功能设计与系统交互4.1 投影加音箱的轻量组合媒体模块的硬件核心是三个东西微型投影光机、全频段蓝牙音箱、以及一块5英寸触摸屏作为交互入口。微型投影光机我选的DLP方案分辨率为854乘480亮度标称200流明。这个亮度在白天阳光直射的客厅里基本不可用但在拉上窗帘或者晚上开灯的环境下投出60到80英寸的画面完全没问题。要追求更高亮度体积和功耗都会成倍增长对移动底盘的压力实在太大得不偿失。投影画面最头疼的问题是抖动。机器人移动时的颠簸会直接传导到光机画面在墙上就表现为明显的抖动。解决办法是给光机加了一个小型稳定云台用陀螺仪检测姿态变化反向补偿光机角度。这个方案不算完美但至少能把日常走路移动时的抖动降低80%以上。当然最稳定的方案还是让机器人停下来再投影我在系统里做了逻辑判断检测到底盘静止超过3秒才允许自动打开投影移动中投个10秒内的临时画面没问题。蓝牙音箱的选型反而简单选了一颗支持蓝牙5.0的模组加一套全频段扬声器低音靠被动辐射器弥补。实测家庭室内环境音质可以接受唯一要注意的是蓝牙连接延迟看视频时会出现音画不同步。为了解决这个问题我在软件层做了AV同步补偿采集播放时间戳和音频缓冲状态动态调整延迟。4.2 核心交互场景客厅与卧室双模式媒体模块之所以要挂在会跑的机器人上是因为不同的活动空间需要不同的投影方向和高度。客厅模式时机器人自动停到电视墙对面把投影光轴抬到大约1.2米高度投射焦距调整到适合客厅观看的80英寸画面卧室模式时机器人开进卧室把投影光轴放低直接投到天花板人在床上躺着就能看这个体验比固定电视舒服太多了。切换场景的指令可以通过语音、手机App或者模块上的触摸屏触发。检测到用户说“小明去卧室”机器人会先执行导航回充到客厅的路径规划然后重新规划到卧室床尾的固定停靠点整个过程无需人工干预。为了适配这两种模式我加了一个电动两轴云台来控制投影光机的俯仰和水平方向垂直范围负10度到正30度水平范围负15度到正15度覆盖日常使用绰绰有余。云台的校准逻辑参考了相机的自动对焦辅助每次启动时先投一个网格图案用摄像头拍摄后自动调整到画面方正。4.3 与手机和电视的投屏联动媒体模块的软件层我基于Android系统开发了一个投屏接收端支持DLNA、Miracast和AirPlay三种主流协议。这意味着不管家里用的是iPhone、iPad还是安卓手机都能一键把视频投到小明身上小明再通过投影播放。对这个功能来说Wi-Fi网络的稳定性至关重要我建议在家庭路由器上启用独立的5GHz频段专用SSID给机器人使用避免和2.4GHz频段上十几个智能设备互相抢信道。投屏播放器还做了记忆播放位置的功能投影中途被用户打断去充电再次回到同一视频时可以直接继续这个体验细节用户反馈非常好但开发时容易忽略。5. 智能中枢模块与家居场景联动5.1 语音交互的硬件基础智能中枢模块的角色相当于机器人的“耳朵”和“嘴”。硬件上用的是4麦克风环形阵列配合一块独立的语音处理板负责唤醒词检测和声源定位。麦克风阵列不是简单堆数量关键在算法层面做波束成形和回声消除家里开着电视、放着音乐的时候还能识别出用户说“小明同学”的指令这个效果很大程度上归功于麦克风的间距和阵列形状。唤醒词我用的开源训练工具自定义了“小明同学”这个唤醒词训练数据集里混合了不同年龄、不同口音的语音样本。识别引擎用的是离线版本的语音识别模型保证在家庭Wi-Fi断网的情况下基本控制指令也能正常运行。在线语音识别的云端服务我试过几种识别率确实更高但响应延迟和隐私顾虑对家庭场景真的很不友好。5.2 中枢如何控制第三方家电家庭智能中枢最大的价值是串联控制现有的电器而不是要用户全部换成同一生态的智能家电。我设计的方案是双通道控制对于传统红外遥控家电比如空调、风扇、电视、机顶盒用模块上的红外发射器直接学习并复现遥控器信号对于智能家电通过Matter协议和Wi-Fi局域网指令进行控制。这样老电器和新电器都能统一并入上下语境通过自然语言就能调配。红外码库的收录是最花时间的过程。虽然网上有现成的红外码库但国内家电品牌型号实在太多很多小品牌的码完全不标准必须用学习模式现场录入。我花了大概一周时间把家里的空调、电视、投影仪、风扇全部录入了“小明”的红外库。需要提醒的是红外发射器在机器人快速移动时没有办法稳定控制目标设备因为发射角度和位置都在变化所以我在逻辑上做了约束——红外控制指令只在机器人静止时执行并且控制前会自动调整机头朝向目标设备所在方向。Matter协议这块我家里的智能灯泡和智能插座用的都是支持Matter的设备中枢模块通过Wi-Fi加入家庭Matter网络后可以直接把设备状态同步到语音交互的上下文中。比如用户说“把客厅灯调暗”语音识别出来后通过Matter指令直接改变灯泡亮度这些都在本地局域网内完成响应时间可以做到200毫秒以内。5.3 中枢与底盘的协同逻辑中枢模块和底盘导航的协同是最能体现“家庭服务机器人”区别于“固定智能音箱”的地方。语音指令中包含位置信息时比如“把客厅的空调打开”中枢模块解析出“客厅”和“空调”两个实体然后交给任务管理引擎任务管理引擎调用导航服务把机器人移动到客厅区域再触发红外控制。这里面有个优先级抢占问题需要考虑如果机器人正在执行充电任务忽然收到新的语音指令是停下来执行新任务还是继续充电我的策略是分级处理——安全类指令比如“停”和“救命”永远最高优先级然后是特定位置的任务充电任务属于中等优先级可以被客厅任务打断但打断前会先确认电池电量是否足够。电量低于20%时禁止一切非必要移动任务强制回充。这种决策逻辑用了一个简单的状态机来管理每个任务带有优先级字段和截止时间任务调度器每100毫秒扫描一次任务队列输出当前最优控制指令。这套逻辑虽然简单但非常实用避免了机器人同时收到多个指令时的行为混乱。6. 系统架构、软硬件接口与数据流设计6.1 多控制器架构与通信链路“小明”的整个系统可以拆分成三个计算节点树莓派4B作为主控负责全局导航、任务调度和用户交互逻辑Arduino Mega作为底盘运动控制器负责电机闭环和超声波避障语音处理板作为中枢模块的独立计算单元负责唤醒词和语音识别。三个节点之间通过串口和局域网两种方式通信。底盘和主控之间走了串口每秒通信频率50赫兹传输内容包括速度指令、编码器反馈、超声波距离和电池电压。主控和中枢模块之间走了局域网通过MQTT协议交换消息。MQTT的好处是Topic结构直观而且天然支持消息发布订阅方便以后接入更多功能模块。数据流设计上有一条关键原则传感器数据优先在底层处理只有语义级信息才传给主控。底盘上的超声波数据在Arduino内直接参与避障不会全部打包发给主控语音模块解析出的文本意图才通过MQTT发给主控。这样的好处一是减少通信带宽二是避免高层逻辑被海量底层数据淹没。6.2 软件框架与ROS的取舍导航部分我一开始打算直接用ROS机器人操作系统毕竟学术界和开源社区的资源都在ROS上。但实际部署时发现ROS的完整安装体积大而且版本依赖复杂在树莓派上跑完整版ROS略显吃力。最终我选了一条折中的路子底层导航算法基于ROS2的导航栈单独拉出来编译不跑完整的ROS2系统这样既保留了成熟的导航规划功能又极大减轻了系统负担。用户交互层我单独写了一个Python服务负责管理语音语义、任务脚本和媒体播放控制。这里有个设计心得尽量把业务逻辑和算法逻辑分开。业务逻辑变化频繁比如今天加一个“查天气”的指令明天加一个“读新闻”的功能不应该动到底层的导航和充电模块。目前“小明”已经支持大概40种指令其中80%是在主框架之上后来添加的底层算法完全没动过。6.3 模块通信协议与状态监控模块接入底盘后要通过通信协议上报自己的能力特征和工作状态。我定义的协议数据包格式包括设备ID、固件版本、所在槽位、运行状态四部分。底盘主控每隔500毫秒轮询一次所有已挂载模块的状态一旦发现模块掉线或者异常就把异常信息上报给状态监控中心。状态监控中心是一个简单的Web页面运行在树莓派的8080端口可以在电脑或手机上查看每个模块的温度、电压、电流和运行时间。这个监控页面实际帮了大忙——有段时间媒体模块经常重启排查了硬件都正常后来通过监控发现是电流在投影启动瞬间飙到5安培超过了模块供电电路的额定值触发了过流保护。通过监控定位到这个原因后给媒体模块加了一个软启动电路解决问题。电源管理方面底盘电池通过挂载区可提供的总功率上限设计为60瓦每个模块在协议握手时会申报自己的最大功耗主控根据所有模块的总功耗动态调整运动功耗。比如充电模块正在全速充电时底盘如果还在高速移动总功耗会超限这时主控会临时降低充电功率来保证运动优先级。这个功耗协商逻辑是保证系统稳定运行的核心建议所有做模块化机器人的同行都要把这个机制设计进去。7. 常见问题与排查技巧实录7.1 导航漂移与地图优化最大的坑出现在建图的稳定性上。最初建图是在白天做的地图建好之后当天运行正常但到了第二天早上机器人在走廊里出现了严重的定位漂移走路歪歪扭扭甚至撞到了墙角。排查后发现是建图时窗户透进来的阳光和当前时刻的光照差异导致激光雷达点云里出现了一些细微的变化定位算法误判了位置。解决方法是重新建图并且在早上、中午、傍晚各跑一次建图地图选取特征最全的一版作为标准地图。实际经验是建图时间选在傍晚室内的家具轮廓和墙角线最清晰而且后续使用时早晚光照变化的干扰最少。另外地图建好之后一定要固定家具位置移动了沙发或者椅子之后机器人定位精度会明显下降最好重新建图而不是试图在旧地图上继续硬跑。还有一个小技巧在走廊尽头和房间转角处贴几块高反光的反光贴增强激光雷达在长直线走廊上的特征识别。因为单线激光雷达在长走廊场景下前后对称容易出现“全局定位模糊”反光贴可以提供不对称的参考点实测定位稳定性提升明显。7.2 充电模块发热与接口氧化充电模块早期版本存在接触不良的问题。铜触点用了一个月左右表面开始出现黑色的氧化层导致充电时电压降大、发热严重。后来我换成了镀金触点氧化问题才基本解决。镀金触点成本会高不少但对长期运行的家庭设备来说这笔钱省不了。另外充电板表面容易积灰家里有宠物的更要警惕毛屑附着在触点上会导致接触电阻变大。建议每两周做一次清洁用无水酒精棉片擦拭充电触点和磁吸面即可。如果你的机器人充电模块支持防水可以直接用清水冲洗但我的模块内部有裸露电路所以只能用酒精擦拭的方式。发热问题还和充电功率设置有关。有些时候用户希望充得快一点把功率调到30瓦甚至更高这时候表面温度会很快突破50度。我的建议是家里用默认15瓦就够即使晚上睡觉前放在充电板上充到早上15瓦也完全来得及充满一部手机。为了那30分钟的快充体验牺牲安全余量不值得。7.3 语音唤醒在复杂环境下的误识别语音中枢上线初期最让人崩溃的问题不是识别不了而是误唤醒。家人正常聊天中提到“小明”两个字中枢就会被触发然后一本正经地回答“我在”。家里人被吓到过好多次后来我发现是因为唤醒词训练数据里包含了太多“小明”单字发音的变体导致泛化过度。解决办法有两个层面。一是重新采集训练数据刻意加入更多带有环境噪音的负样本告诉模型哪些情况下不应当唤醒二是调整唤醒灵敏度阈值阈值调高一些误唤醒率明显下降但代价是远场和嘈杂环境下唤醒率也变低。最终我把阈值调到大概每24小时误唤醒1至2次的可接受水平配合物理按键一键静音来兜底。还有一个容易被忽略的点电视播放的语音节目偶尔也会触发“小明”唤醒。后来我加了一个声纹特征确认功能简单说就是只对家庭成员的特定声纹特征响应外人或者电视声触发时直接忽略。这个功能的效果非常明显后续几乎再没遇到电视误唤醒的情况。7.4 常见问题速查表现象可能原因排查方法解决方案导航路线漂移环境光照变化、家具移动查看实时点云地图选择傍晚重新建图固定家具充电效率下降触点氧化、积灰检查触点颜色和压降更换镀金触点定期酒精清洁语音频繁误唤醒唤醒泛化过强查看唤醒日志调高唤醒阈值加声纹确认投影画面抖动底盘移动中观察机器人状态增加稳定云台静止后自动投影模块频繁断电重启启动瞬间过流查看状态监控电流数据添加软启动电路投屏音画不同步蓝牙音频延迟检查延迟时间戳软件层做AV同步补偿8. 最后再分享一点项目过程中的心得做了这个小明机器人之后我对“家庭服务机器人”这件事有了更实际的认识。很多人的第一反应是希望它像个全能管家什么都能干。但真实使用中用户最频繁、最愿意用的功能往往就那么两三个——在我家是移动充电、投屏到天花板看视频、以及躺着动嘴关灯开空调。功能宁可选精也别盲目做全。模块化的架构让后续维护轻松了很多。上个月投影光机坏了我在淘宝上买了个兼容件直接拔掉旧模块插上新模块五分钟搞定。如果是传统一体机光拆机就要拆半天。如果你也想做类似的家庭机器人我给的第一条建议是先把底盘的移动和避障做扎实这是所有上层功能的地基。底盘不稳后面加上去的充电、媒体、语音模块都会跟着出各种奇奇怪怪的问题。第二条建议是从一开始就做好模块标准和通信协议哪怕第一版合作协议写得粗糙一点也没关系后面迭代再完善。这个项目后续我打算再加一个机械臂模块用来做简单的桌面整理和抓取小物件到时候接口不变只需要在底盘挂载区直接替换中枢模块的位置就行。整个设计的最初目标——让家里的智能设备活起来跟着人走而不是固定在墙上或者角落里——目前来看算是基本达到了。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门