当前位置: 首页 > article >正文

OTTO奥托机器人开发总结

OTTO机器人是一个开源外壳,硬件和软件的桌面机器人项目,非常适合新手研究和拓展。

我一直希望找一个合适的项目入手研究机器人,这种项目最好是软硬件都开源的,可以随着自己的想法无限的扩展和私人订制,做为初学者,我希望这个项目简简单单并且容易入手,最好能够学习尽可能多的传感器,最好支持更多的平台,比如arduino,esp8266,esp32,stm32,51等,这样可以通过一个项目学习到更多知识,最好能通过视觉,听觉,说话,运动能力并与人交互,无意间在github发现OTTO。经过初步的研究, 虽然没有视觉和语音,但可以通过esp32,离线语音等拓展实现一些简单的对话,感觉这个项目很适合练手。

这个项目很早就开源了,经过了非常多的迭代。最原始的版本由一个arduino芯片和四个舵机加一个超声波传感器组成,这对于初学者非常友好。通过简简单单的学习,就可以掌握arduino初步的开发知识,以及舵机控制和超声波雷达的应用知识,最主要的是掌握用舵机模拟机器人行走和其他动作。

后来的迭代中,有大佬又给机器人添加了手臂,添加了声音传感器,触摸传感器,手机蓝牙操控,离线语音等功能,全部掌握,就可以制作了一个功能还算不错的桌面机器人。当然,原始版本只支持arduino,而arduino的缺陷也很明显,内存和rom很小,当你的代码过多时,你就要考虑是吃鱼还是选择熊掌了。所幸这并不是一个问题,OTTO发展到现在,经过各路大佬的努力,他已经不限于arduino平台,esp32,stm32都可以,这使得我们可以通过切换到更强的芯片上来拓展他。

otto的核心就是一块arduino nano和四个舵机,初入手的可以从这个入手只购买arduno,四个舵机和外壳。想美观一些的话,可以加个超声波,需要买一个外壳或者打印一个外壳,外壳一般二十块左右,四个舵机十块出头,arduino加上拓板十块出头,超声波二三块,整体五十块不到。这样可以做一个会自已运行跳舞的机器人,完成了这一步,差不多就可以了,不会代码的需要下载别人定义好动作的,懂代码的可以自己定义各种有趣的动作和动作组合。

后面如果想要控制,需要自己购买蓝牙模块,然后可以通过手机app控制。还可以添加无源蜂鸣器,这样机器会发一些简单的声音,添加oled屏或者led灯屏,这样可以做一些简单的表情动作增加趣味性。语音可以使用离线语音,替代掉蓝牙,实现语音控制,两者本质是一样的,arduino固件完全一样,只不会使用语音模块的串口替代下蓝牙的串口和arduino通信。

这是我组装的arduino,使用asrpro语音控制芯片,也可以使用蓝牙,蓝牙模块最好使用经典蓝牙或者双模,我网上下载的app只支持经典的,hc05或者06,jdy31b双模也可以,hc的相对比较贵,听说出口的,可能质量比较好,用起来差不多。外壳有老式的,不带手臂的,也可以买新工带手臂的,价格差不多,老式的壳有些小,我的电池装不进去,max7219点阵屏也只能放外面。

代码:
GitHub - blogercn/OTTO-DIY---app: OTTO DIY app created for bluetooth conectivity

也可以使用下面的代码:
https://github.com/blogercn/OttoDIY_Vbot/tree/master

代码里有个android app,手机蓝牙可以使用,功能有超声波,无源蜂鸣器,声音传感器,max7219点阵模块,蓝牙等,不需要修改代码,把有的元件插上就行,没的空着不影响使用。添加离线语音并不需要修改固件,只是把蓝牙手机发送的指令使用语音模块发出来就行了。隔天把我自己写的蓝牙测试app传上去。

下面是蓝牙或者语音的串口控制指令,M是移动和跳舞指令,H是综合指令,可以既有动作,也带屏和声音,S是音乐指令,可以播放一些声音,手机或者语音模块通过串口把这些指令发给arduino就可以了,

+CONNECTING<<FC:02:96:A8:A0:97
CONNECTED

S
J 4
S
M 1 1000
S
S
M 2 1000
S
S
M 3 1000
S
S
M 4 1000
S
M 8 1000
S
M 19 1000
S
M 12 1000
S
M 6 1000
S
M 20 1000
S
M 14 1000
S
M 17 1000
S
M 15 1000
S
M 11 1000
S
M 5 1000
S
M 9 1000
S
L 111000000000000000000000000000000 H 2
H 1
H 6
H 4
H 12
H 7
H 10
H 11
H 3
H 8
H 9
H 13
H 5
K 1
S
K 14
S
K 3
S
K 4
S
K 5
S
K 6
S
K 7
S
K 8
S
K 9
S
K 10
S
K 11
S
K 12
S

http://www.kler.cn/news/318487.html

相关文章:

  • 2024java高频面试-数据库相关
  • 将python代码文件转成Cython 编译问题集
  • python中实用工具与自动化脚本
  • typename、非类型模板参数、模板参数的特化、模板类成员函数声明和定义分离、继承等的介绍
  • 滚雪球学SpringCloud[6.3讲]: 分布式日志管理与分析
  • 常见统计量与其抽样分布
  • python异步处理
  • [SDX35+WCN6856]SDX35 + WCN6856 WiFi 起来之后,使用终端连接会导致系统重启
  • dotnet4.0编译问题
  • 【系统架构设计师】专题:系统质量属性和架构评估
  • 康养为松,智能为鹤:华为全屋智能画出的松鹤长春图
  • 2024.9.24 数据分析
  • 努比亚z17努比亚NX563j原厂固件卡刷包下载_刷机ROM固件包下载-原厂ROM固件-安卓刷机固件网
  • 智慧城市主要运营模式分析
  • [附源码]宠物领养管理系统+SpringBoot
  • css实现居中的方法
  • C++ prime plus-4-编程练习
  • vue echarts tooltip使用动态模板
  • Web3技术在元宇宙中的应用:从区块链到智能合约
  • 搜维尔科技:手指舞测试Manus VR数据手套手指追踪功能
  • HtmlCss 基础总结(基础好了才是最能打的)五
  • 代码随想录算法训练营第二十八天| 122.买卖股票的最佳时机 II、55. 跳跃游戏、45.跳跃游戏 II、1005.K次取反后最大化的数组和
  • 线程知识点补充
  • uniapp map设置高度为100%后,会拉伸父容器的高度
  • 练习题 - Django 4.x Models Meta 元数据选项
  • C++类和对象(中)【下篇】
  • 考研数据结构——C语言实现插入排序
  • 2024百度的组织架构和产品分布
  • Java Collectors工具类
  • js进阶——词法作用域