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.rhkb.cn/news/431307.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue3:element-plus el-Table列表合计处理显示字符串类型/计算合计数值

需求整理 1.使用element组件库中的 el-table组件实现图上 底部当前页合计的功能。在一般的情况下&#xff0c;只需要计算数值部分的值&#xff0c;因为组件中的方法中处理的就是将值的类型转换成数值类型&#xff0c;像string类型的字符串的话&#xff0c;在进行转换的时候会出…

计算机毕业设计电影票购买网站 在线选票选座 场次订票统计 新闻留言搜索/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序

系统功能 ‌在线选票选座‌&#xff1a;用户可浏览电影场次&#xff0c;选择座位并生成订单。‌场次订票统计‌&#xff1a;系统实时统计各场次订票情况&#xff0c;便于影院管理。‌新闻发布与留言‌&#xff1a;发布最新电影资讯&#xff0c;用户可留言互动。‌搜索功能‌&a…

springboot整合nacos

docker安装nacos参考docker安装各个组件的命令 一、目录结构 二、引入必要依赖 <!-- nacos服务注册与发现 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>…

接口加解密及数据加解密

目录 一、 加解密方式介绍 1.1 Hash算法加密 1.2. 对称加密 1.3 非对称加密 二、 我们要讲什么&#xff1f; 三、 接口加解密 四、 数据加解密 一、 加解密方式介绍 所有的加密方式我们可以分为三类&#xff1a;对称加密、非对称加密、Hash算法加密。 算法内部的具体实现…

数集相等定义凸显“R各元x的对应x+1的全体=R”是几百年重大错误

黄小宁 变量x所取各数也均由x代表&#xff0c;x代表其变域&#xff08;x所有能取的数组成的集&#xff09;内任一元。设集A&#xff5b;x&#xff5d;表A各元均由x代表&#xff0c;&#xff5b;x&#xff5d;中变量x的变域是A。其余类推。因各数x可是数轴上点的坐标所以x∈R变换…

Unity进阶之C#知识补充

概述 Unity跨平台的基本原理 了解.Net相关知识 Unity跨平台的基本原理&#xff08;Mono&#xff09; Unity跨平台的基本原理&#xff08;IL2CPP&#xff09; IL2CPP 模式可能存在的问题处理 报错的话就去下载 用到的测试类 C#版本和Unity的关系 C#各版本新功能和语法 C# 1~4 功…

怎样写论文及论文格式?分享4款ai论文生成软件

撰写一篇学术论文是一项复杂而系统的工作&#xff0c;需要从选题、文献综述、研究方法到最终的写作和修改等多个步骤。本文将详细介绍如何写好一篇论文&#xff0c;并推荐四款AI论文生成软件&#xff0c;特别是千笔-AIPassPaper。 如何写好一篇论文 1. 选题与题目表达 选题是…

消息中间件常见面试题(RabbitMQ)

MQ场景&#xff1a; 异步发送&#xff08;验证码、短信、邮件&#xff09;MySQL、Redis、ES之间的数据同步分布式事务等 一、RabbitMQ 1.1 消息不丢失 提问&#xff1a;如果保证消息不丢失呢&#xff1f; 流程&#xff1a;生产者将消息发送给交换机&#xff0c;交换机发送给…

FortiWLC 控制器系统恢复操作介绍

简介 对于 FortiWLC 控制器在有些实际操作过程中,会由于某些原因导致升级失败, 无法升级,或是系统文件错乱等情况, 对于这些问题,我们可以通过重新恢复控制 器系统来解决这些问题. 本文详细说明恢复控制器系统的操作步骤. 注意: 本操作需要通过串口登录到控制器设备上,另外在控…

Kubernetes 深入浅出系列 | 容器剖析之容器基本实现原理

一、容器基本实现原理 Docker 主要通过如下三个方面来实现容器化&#xff1a; ① 使用操作系统的 namespace 隔离系统资源技术&#xff0c;通过隔离 网络、PID 进程、系统信号量、文件系统挂载、主机名和域名&#xff0c;来实现在同一宿主机系统中&#xff0c;运行不同的容器&…

Linux之我不会

一、常用命令 1.系统管理 1.1 systemctl start | stop | restart | status 服务名 案例实操 1 查看防火墙状态 systemctl status firewalld2 停止防火墙服务 systemctl stop firewalld3 启动防火墙服务 systemctl start firewalld4 重启防火墙服务 systemctl restart f…

uni-app进度条

<template><view><canvas canvas-id"ring" id"ring" style"width: 200px; height: 180px;"><!-- <p>抱歉&#xff0c;您的浏览器不支持canvas</p> --></canvas></view> </template><…

Oracle逻辑备份脚本【生产环境适用】

1 说明 从Oracle10g开始&#xff0c;引入了数据泵&#xff08;Data Pump&#xff09;&#xff0c;是一种高效的数据传输工具&#xff0c;它通过导出&#xff08;Export&#xff09;和导入&#xff08;Import&#xff09;的方式帮助用户迁移数据。 在Oracle的产品设计中&#…

数据结构~二叉搜索树

文章目录 一、二叉树搜索的概念二、二叉树搜索的结构二叉树搜索的性能分析二叉树搜索的插入二叉树搜索的查找二叉树搜索的删除 三、二叉搜索树key和key/value使用场景四、二叉树搜索的练习将二叉搜索树就地转化为已排序的双向循环链表从前序与中序遍历序列构造二叉树二叉树的前…

1.3 MySql的用户管理

一、下载Mysql客户端 下载navicat:Navicat 中国 | 支持 MySQL、Redis、MariaDB、MongoDB、SQL Server、SQLite、Oracle 和 PostgreSQL 的数据库管理 二、安装Navicat 三、创建数据库 创建一个数据库的连接吧&#xff0c;因为这个界面儿是图形界面儿&#xff0c;所以我们创建…

RT_Thread内核源码分析(二)——链表和对象管理

实时操作系统基本上都是通过一些链表进行线程、信号、队列的管理&#xff0c;RT_Thread也不例外&#xff0c;本章主要讲解RT_Thread的链表结构和对象管理。 本章基于RT_Thread Nano V3.1.5版本分析 1、链表 RT_Thread使用的链表非常简单&#xff0c;链表节点只有节点指针&#…

深度学习(2):梯度下降

文章目录 梯度下降梯度是什么常见梯度下降算法 代码实现批量梯度下降 梯度下降 梯度是什么 类似y ax b这种单变量的函数来说&#xff0c;导数就是它的斜率&#xff0c;这种情况下可以说梯度就是导数。 但在多变量函数中&#xff0c;梯度是一个向量&#xff0c;其分量是各个…

frp内网穿透服务器+客户端详细配置

当我们拥有一台云服务器时&#xff0c;可以将局域网服务器的服务通过内网穿透发布到公网上。frp是一个主流的内网穿透软件&#xff0c;本文讲解frp内网穿透服务器客户端详细配置。 一、需要准备的内容&#xff1a; 腾讯云服务器&#xff1a;https://curl.qcloud.com/Sjy0zKjy 2…

安卓13修改设置设备型号和设备名称分析与更改-android13设置设备型号和设备名称更改

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 用户要定制一些系统显示的设备型号和设备名称,这就需要我们分析设置里面的相关信息来找到对应的位置进行修改了。 2.问题分析 像这种信息要么是config.xml里面写死了,要…

开源 AI 智能名片与 S2B2C 商城小程序:嫁接权威实现信任与增长

摘要&#xff1a;本文探讨了嫁接权威在产品营销中的重要性&#xff0c;并结合开源 AI 智能名片与 S2B2C 商城小程序&#xff0c;阐述了如何通过与权威关联来建立客户信任&#xff0c;提升产品竞争力。强调了在当今商业环境中&#xff0c;巧妙运用嫁接权威的方法&#xff0c;能够…