您好,请登录 免费注册
手机立创
  • 微信小程序

    找料更方便

  • 立创APP

    体验更友好

  • 立创公众号

    售前咨询,优惠活动

消息(0)
我的订单 购物车(0)
联系客服
  • 4000800709

    点击QQ咨询

  • 0755-83865666

    0755-83865666

    拨打电话咨询

帮助中心
供应商合作

温馨提示

您上传的BOM清单格式不准确,当前支持上传xls、xlsx、csv、JPG、PNG、JPEG格式,请检查后重新上传

BOM正在分析中...
首页 > 应用与分享 >手搓ROS机器人!全开源了!
  • 手搓ROS机器人!全开源了!

  • 2024-12-03 16:25:55 阅读量:577

做了一个【能走】【能看】【能听】【会说】【懂思考】的机器人——小白机器人!

疑似小白军训画面流出……

小白机器人

对标《超能陆战队》的小白机器人!(未来的目标)

小白

那么,小白有些什么功能软硬件怎么设计?结构设计有些什么小巧思?全开源了吗?

 

01
功能&亮点

 

功能亮点

演示一下!

语言交互,事事有回应▼

小白机器人

“视力不错”的活泼机器人一枚鸭~

小白机器人

 

02
硬件设计

做硬件前,首先要确定一下小白机器人的核心CPU

我有两种选择——近些年火热的【ESP32】和昂贵的【Linux SOC】,然而最终,我还是选择了能跑Linux的RK3566芯片。

为啥?明明它价格昂贵、功耗高、发热重、体积大……

但是!在Linux系统下,它编程更加自由,功能更加容易扩展,有大量的开源项目可供使用,不必自己重新造轮子,例如下文中会提到的强大的ros系统

我是如何让机器人【活】起来的?只确定核心CPU,可不够!

为了和用户进行人机交互,显示个表情包啥的,提供必要的情绪价值确定了处理器之后,机器人上肯定少不了一块液晶屏

要想让机器人能看见这个世界,还需要安装一个摄像头

要机器人能听会说麦克风扬声器也是必须要的

要实现机器人能走路,最简单的方式就是安装两个差速轮,并且为了支持它到处跑,电池供电也是必不可少的

另外为了机器人在室内环境中能够避障和导航,我还为小白机器人的顶部配备了单线激光雷达

为了实现机器人常见的离线命令词控制,内置了离线语音芯片

为了实现待机充电,在机器人内部做了电源切换充电电路

……

所以,电路具体怎么设计?下滑查看!

 

01 
电路图

通过香橙派3B+STM32控制板实现硬件部分。STM32控制板主要用于实现电源管理移动底盘控制

硬件整体框架

硬件整体框架

 

原理图1

原理图1

 

原理图2

原理图2

 

PCB图

PCB图

 

电池盒转接板

电池盒转接板

 

USB线转接板

USB线转接板

 

 USB串口板

USB串口板

 

02 
硬件参数

 

  • 产品型号:newbot1.0 

  • 主芯片SOC:Rockchip RK3566 

  • CPU:四核64位Cortex-A55 1.8GHz 

  • NPU:1T算力 支持TensorFlow/ONNX/PyTorch模型转换 

  • VPU:H.264/H.265/JPEG硬件编解码 

  • RAM:LPDDR4 2GB 

  • ROM:eMMC 32GB 

  • Wi-Fi+蓝牙:Wi-Fi 5+BT 5.0 

  • 控制芯片MCU:STM32F103C8T6 

  • 电池容量:两节18650共7000mAh 3.7V 

  • 机器人尺寸:直径12cm 高度约10cm 

  • 摄像头分辨率:1280x800 30FPS

  • 幕尺寸:1.28寸SPI圆形屏幕 

  • 操作系统:Ubuntu20.04 

  • ROS版本:ROS1 Noetic 

 

03 
采购清单

硬件采购清单如下,仅供参考

以下不包括底盘PCB单面SMT用到的元器件,如果两面全手工焊接需要根据原理图另行购买元器件

采购清单

 

03
软件设计

小白机器人的软件在ROS框架下构建

下图是本项目的三大主要软件功能,包括——语音交互、图像识别、移动导航

三大主要软件功能

图像识别移动导航的实际效果,如下图所示~

图像识别和移动导航

下面,分享一下图像采集流程:

  • 读取USB相机原始的JPEG格式数据

  • 解码和缩放,送入yolov6处理模块

  • 处理得到检测框和绘制了检测框的图像

  • 然后送入跟踪模块,得到绘制了跟踪结果的图像

  • 最后送到JPEG编码节点

  • 发布出去方便电脑或手机接收查看

注意这里的解码、缩放以及最后的编码都是调用了RK3566的硬件编解码能力,而yolov6使用了RK3566 RKNN的AI加速能力。

其他处理流程,包括:

  • 底盘控制节点base_control

  • 雷达驱动节点/m1c1_mini

  • 离线唤醒命令处理节点wakeup_process

  • 纯python编写的语音处理节点audio

  • 精确移动旋转命令执行节点/move_client_cmd和/move_server

其他流程

项目所有资料已全开源,可以前往开源网址了解详情:https://oshwhub.com/lw95/newbot

想完成小白机器人,需要掌握ROS的命令行工具、可视化工具、工程编译方法、ROS Launch文件、C++和Python语言等开发基础。如果需要相关的入门视频资料,也可以进入开源网址查看~

ROS(机器人操作系统,Robot Operating System)是专为机器人软件开发所设计出来的一套电脑操作系统架构。

 

04
结构

小白机器人外壳基于Solidworks软件绘制。

3D打印采用光固化打印。

3D打印

内部结构设计,在直径12厘米的圆柱体内,从下至上大致分成了电机、电池、主板、激光雷达四层空间,做到了体积小巧但功能丰富。

内部结构

激光雷达支持YDLidar X2、M1C1_MINI、乐动LD14等多款雷达。注意:根据激光雷达的类型不同,孔位位置不同,要选用不同的上壳结构:

不同的壳上结构

05
开源网址

本项目已开源!

——想复刻想给作者点赞复制开源网址 前往原文。

开源网址:https://oshwhub.com/lw95/newbot

您的浏览器版本过低(IE8及IE8以下的浏览器或者其他浏览器的兼容模式),存在严重安全漏洞,请切换浏览器为极速模式或者将IE浏览器升级到更高版本。【查看详情】
推荐您下载并使用 立创商城APP 或者最新版 谷歌浏览器火狐浏览器360浏览器搜狗浏览器QQ浏览器 的极(高)速模式进行访问。
© 深圳市立创电子商务有限公司 版权所有

提示

您确定要删除此收货地址的吗?

请填写订单取消原因

提示

您确定删除此收货地址吗?

成功提示

content

失败提示

content

微信咨询

关注公众号咨询客服

咨询客服
  • 在线客服热线

    0755-83865666

  • 服务时间

    工作日  8:30~20:30

    节假日  8:30~18:00

  • 服务投诉

QQ咨询
投诉意见

紧急问题投诉电话:

18826549599

更快的受理通道

对常规通道处理结果不满意

请在此扫码

此意见箱直通立创管理层

优惠券 建议反馈
填问卷 立创用户体验问卷调查 立即参与
活动规则
活动规则
展开客服