OTTO奥托机器人开发总结

news2024/11/17 3:47:36

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.coloradmin.cn/o/2162819.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计网】从零开始掌握序列化 --- 基础知识储备与程序重构

从零开始掌握序列化与反序列化 1 初识序列化与反序列化2 再谈Tcp协议3 程序重构3.1 Socket类3.2 回调函数设计3.3 最终的Tcp服务器类 1 初识序列化与反序列化 在刚学习计算机网络时&#xff0c;我们谈到过网络协议栈&#xff0c;其中最上层的就是应用层&#xff0c;那么这个应…

探索Llama 3.1:开源模型的本地部署与创新应用实践

文章目录 1 Llama 3.1模型的突破性进展2 Llama 3.1模型在业务场景中的实践案例3 使用教程4 Llama 3.1在客户服务中的运用 1 Llama 3.1模型的突破性进展 在数字化转型的浪潮中&#xff0c;大型语言模型&#xff08;LLM&#xff09;以其卓越的处理能力和广泛的应用潜力&#xff…

深度学习500问——Chapter14:超参数调整(3)

文章目录 14.5 如何改善GAN的性能 14.6 AutoML 14.6.1 什么是AutoML 14.6.2 自动化超参数搜索方法有哪些 14.6.3 什么是神经网络架构搜索&#xff08;NAS&#xff09; 14.6.4 NASNet的设计策略 14.6.5 网络设计中&#xff0c;为什么卷积核设计尺寸都是奇数 14.6.6 网络设计中&a…

Spring MVC 参数校验 总结

1. 简介 Sping MVC提供了参数校验的方便注解。 2.代码 在pom.xml中添加依赖&#xff1a; <dependency><groupId>org.hibernate.validator</groupId><artifactId>hibernate-validator</artifactId><version>8.0.0.Final</version&g…

Java | Leetcode Java题解之第435题无重叠区间

题目&#xff1a; 题解&#xff1a; class Solution {public int eraseOverlapIntervals(int[][] intervals) {if (intervals.length 0) {return 0;}Arrays.sort(intervals, new Comparator<int[]>() {public int compare(int[] interval1, int[] interval2) {return i…

海外仓系统如何成为数据管理效率的加速器?

在数字化信息时代&#xff0c;海外仓系统的数据管理效率对企业运营的重要性不言而喻。随着电子商务和跨境贸易的快速发展&#xff0c;高效的数据管理不仅影响着货物的流通速度、客户满意度&#xff0c;还关系到企业的盈利能力。为了在海外市场中立足&#xff0c;提升海外仓的数…

《机器学习》周志华-CH8(集成学习)

8.1个体与集成 集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务&#xff0c;有时也被称为多分类器系统&#xff0c;基于委员会的学习。 同质”集成“&#xff1a;只包含同种类型的个体学习器&#xff0c;同质集成中的个体学习器亦称“基学习器”&#xff0…

【html】基础(二)

本专栏内容为&#xff1a;前端专栏 记录学习前端&#xff0c;分为若干个子专栏&#xff0c;html js css vue等 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;js专栏 &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&#x1f69a; &am…

WGCLOUD 性能调优笔记

如果主控端server主机内存资源充裕的话&#xff0c;适当增加内存使用&#xff0c;提升server运算能力 修改server/start.sh中的 -Xms256m -Xmx512m &#xff0c;改为 -Xms1024m -Xmx1024m &#xff0c;重启server生效 也可以设置更高些&#xff0c;比如改为 -Xms2048m -Xmx20…

时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较

引言 近年来&#xff0c;民航旅客周转量一直是衡量国家或地区民航运输总量的重要指标之一。为了揭示民航旅客周转量背后的规律和趋势&#xff0c;本研究旨在综合分析1990年至2023年的相关数据。 通过单位根检验和序列分解&#xff0c;我们确定了民航旅客周转量数据的非平稳性&…

8.13霍夫变换-直线检测

基本概念 霍夫变换&#xff08;Hough Transform&#xff09;是一种用于检测图像中特定形状&#xff08;如直线、圆、椭圆等&#xff09;的技术。在OpenCV中&#xff0c;霍夫变换主要用于检测直线和圆形。这里我们将详细介绍如何使用OpenCV中的霍夫变换来检测直线。 霍夫变换&…

Linux 基础IO(个人笔记)

Linux基础 IO 1.C文件IO操作1.1 hello.c写文件1.2 hello.c读文件1.3 stdin&stdout&stderr 2.系统文件I/O2.1 hello.c写文件2.2 hello.c读文件2.3 open函数介绍2.4 文件描述符 fd2.4.1 文件描述符的分配规则2.4.2 重定向2.4.3 dup2系统调用2.4.4 C文件结构体FILE2.4.5 C…

文件上传、amrkdown编辑器

一、文件上传 这里我以图片为例&#xff0c;进行上传&#xff0c;上传到阿里云oss&#xff08;对象存在中&#xff09; 首先&#xff0c;我们先梳理一下&#xff0c;图片上传的流程 1、前端选择文件&#xff0c;提交文件 前端提交文件&#xff0c;我们可以使用ElementUI中的…

python如何实现日期加减

首先通过import datetime&#xff0c;导入日期处理库。 然后把日期转化成datetime标准格式&#xff0c;使用datetime.datetime.strptime()方法将字符串格式的时间转化为标准格式。 其中"%Y/%m/%d %H:%M:%S"为time字符串的时间格式&#xff1a;Y为年&#xff0c;m为月…

思维导图在线工具哪家强?2024年最新评测

你用过思维导图工具吗&#xff1f;如果品尝需要对事情进行逻辑理顺操作或者需要增强记忆点那我比较推荐使用思维导图在线工具来解决这些问题。这篇文章我将介绍几款思维导图工具来提高我们的效率。 1.福晰思维导图 链接一下&#xff1a;https://www.pdf365.cn/naotu/ 这款思…

JVM的基本组成

一、JDK\JRE\JVM JDK: 全称 "Java Development Kit" &#xff0c;Java 开发工具包&#xff0c;提供 javac 编译器、jheap、jconsole 等监控工具;JRE: 全称"Java Runtime Environment"&#xff0c;Java 运行环境&#xff0c;提供Class Library 核心类库 JV…

【leetcode练习·二叉树】用「遍历」思维解题 I

本文参考labuladong算法笔记[【强化练习】用「遍历」思维解题 I | labuladong 的算法笔记] 257. 二叉树的所有路径 | 力扣 | LeetCode | 给你一个二叉树的根节点 root &#xff0c;按 任意顺序 &#xff0c;返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点…

spring-boot、spring-cloud、spring-cloud-alibaba的常用依赖的依赖声明及pom文件

copy自若依 父工程pom文件&#xff0c;主要定义了依赖的版本号 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:sch…

什么是电商云手机?可以用来干什么?

随着电商行业的迅速发展&#xff0c;云手机作为一种创新工具正逐渐进入出海电商领域。专为外贸市场量身定制的出海电商云手机&#xff0c;已经成为许多外贸企业和出海电商卖家的必备。本文将详细介绍电商云手机是什么以及可以用来做什么。 与国内云手机偏向于游戏场景不同&…

什么是启发式过滤(Heuristic Filtering)?

定义 启发式过滤是一种技术方法&#xff0c;利用解决问题的技术和算法来识别数据中的模式、趋势或特征。 这种方法通常涉及使用预测分析和近似方法&#xff0c;以便快速做出决策或对信息进行分类。 启发式过滤通常应用于反垃圾邮件软件、防病毒程序和人工智能等领域&#xff0…