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

【雕爷学编程】Arduino动手做(184)---快餐盒盖,极低成本搭建机器人实验平台3

吃完快餐粥,除了粥的味道不错之外,我对个快餐盒的圆盖子产生了兴趣,能否做个极低成本的简易机器人呢?也许只需要二十元左右

在这里插入图片描述

知识点:轮子(wheel)

中国词语。是用不同材料制成的圆形滚动物体。简单来说,它包括轮子的外圈、与外圈相连接的辐条和中心轴。透过滚动,轮子可以大大的减少与接触面的磨擦系数。如果配上轴,即成为车的最主要构成部份。轮子在交通运输中非常有用,是人类的重要发明之一。除了车轮以外,其他圆形的轮还有船轮、飞轮等等。

任何简单而意义深远的发明都不是凭空出现在人们的脑海中的,必然有什么现象触发了灵感。正如古人见到水里漂着的木头而想到独木舟一样,车轮的发明也可能是受到了一些自然物的启发。《淮南子》中说我们的祖先“见飞蓬转而知为车”。“飞蓬”是一种草,其茎高尺许,叶片大,根系入土浅。一有大风,很容易被连根拔起,随风旋转。古人可能就是受到这个现象的启发,发明了车轮和车轴。与鲁班受锯齿草的启发而发明锯子的传说一样,这种说法很可能也是一个传说而已。因为轮子在自然界是有原型的。原始民族曾经普遍地崇拜过天空中的日月。古人一定认为它们拥有最完美的外形——直到古希腊时代,哲学家柏拉图也还认为球体是最完美的形式。也许新石器时代的先民在制作器具时很自然地会模仿太阳和月亮的形状。当他们偶然发现制成的圆盘状物体可以在转动中保持形状不变时,他们就有兴趣进一步发掘它的用途。

在掌握锋利而坚固的工具以前,人类是不可能拥有轮式车辆的。用石器工具难以将木头加工成合适的圆柱形,更不必说复杂到带辐条的轮子了。所以,车轮的出现只能是青铜时代以后的事情。

据英国科学史家李约瑟考证的结论,约在四千五百年到三千五百年前,中国出现了第一辆车子。而《左传》中提到,车是夏代初年的奚仲发明的,如果记载属实,那是四千年前的事情。在殷代(距今三千多年前)文物中,考古学家也发现了殉葬用的车,当时的车子由车厢、车辕和两个轮子构成,已经是比较成熟的交通工具了。中国古代有传说是轩辕黄帝把木头插在圆轮子中央,使它运转,因而造成车辆。但鉴于归功于黄帝的发明实在太多,我们也不能轻易把这个说法当真。

以埃及的战车为例。这些战车具有带辐条的车轮,轮上装有坚固的箍,并且车轮用锲子紧紧钉在轴上。车厢、车辕和两副挽具证明了同样的技术。如果我们想从在埃及战车或罗马战车的创造者那里所看到的那种精细活计探求人类发明带轮车的过程,那是没有什么益处的。但是,常常有这种情况:能够找到一些制作粗糙的物品,而这些物品就好像是技术之早期阶段的再现。古代最简陋的乡村大车,用两个几乎一英尺厚的圆形木作车轮,是用横断的树干做成的,同时,这些圆形物,或者叫车轮,不是在轴上旋转,而是固定在轴上。车轴安放在特制的木框内,或者是在两块窄木板内,或者是穿在车底上的环孔里,同它的一对轮子一起转动,就像小孩儿的玩具车那样。有趣的是,在条件已经改变的情况下,铁路车辆的制造者们又恢复了这种构造。

在像葡萄牙这样一些国家里,现今还可以看到轴和车轮一起转动的古典车子。于是可以设想:类似的大车说明,带轮的车是怎样发明的。最初用的是轴,或滚子,是用它们来滚动大石头或其他巨大的重物。我们可以想象,用光滑的树干或圆木做的这类滚子,起初是这样完成的:把它的中间部分削细一些。于是,它就变成了一个两端带着宽圆滚的轴。我们猜想,轴是处在某一种最简陋的梁木架下,并在架下转动的。于是我们就有了一辆最简单的想象中的带轮车。完全可能,类似关于车的第一个概念出现之后,轮就开始单独制造,并把它固定在一个活动的轴上,装上了轮箍。后来,有了轻便的车轮和光滑的轮座,于是车轮就在不动的轴上转动了。当然,所有这些,无非是一种想象,但是,无论如何,它使我们的头脑完全清楚了车的本质。

在这里插入图片描述

安装好四个N20小电机,希望以此作为一个简单的实验平台,试试各种不同的运动方式

在这里插入图片描述

二套电源系统(3.7V升压为5V),二个电机驱动模块MX1508,Arduino nano

在这里插入图片描述

快餐盒盖的空间有点小

在这里插入图片描述

第六种 筒轮

找到四个卷纸的中心轴,纸筒

在这里插入图片描述
安装好四个筒轮

在这里插入图片描述
【花雕动手做】快餐盒盖,极低成本搭建机器人实验平台
第六种 筒轮
找到四个卷纸的中心轴,纸筒

https://v.youku.com/v_show/id_XNTEwMDU4NjU5Mg==.html?spm=a2hzp.8244740.0.0

在这里插入图片描述

在这里插入图片描述

第七种 双柄棒轮

使用了四根大号的雪糕棒,轴孔放在当中

在这里插入图片描述

四根棒轮立起来了

在这里插入图片描述
【花雕动手做】快餐盒盖,极低成本搭建机器人实验平台
第七种 双柄棒轮
使用了四根大号的雪糕棒,轴孔放在当中(测试视频)

https://v.youku.com/v_show/id_XNTEwMDYyMTY0NA==.html?spm=a2hzp.8244740.0.0

在这里插入图片描述
在这里插入图片描述

【花雕动手做】快餐盒盖,极低成本搭建机器人实验平台
第八种 麦克纳姆轮

找了四个麦轮,也不知这种十字轴动力系统是否可行,试试看吧

在这里插入图片描述

在网络上搜索了一下,找到二张麦轮方向安装图

在这里插入图片描述

在这里插入图片描述

好像都是平行轴的麦轮运行结构,而我这个机器人测试平台是十字轴结构,估计有问题

在这里插入图片描述

我的是十字轴结构

在这里插入图片描述
找到一张介绍轮子受力的图

在这里插入图片描述

安装了四只60毫米的麦克纳姆轮

在这里插入图片描述

【花雕动手做】快餐盒盖,极低成本搭建机器人实验平台
第八种 测试麦克纳姆轮
实验之一,效率最高的是自转(视频)

https://v.youku.com/v_show/id_XNTEyMTQzMzQ0NA==.html

在这里插入图片描述

测试麦克纳姆轮的动态图

在这里插入图片描述

实验之二,也能行走的十字轴麦克纳姆轮小车(视频)

https://v.youku.com/v_show/id_XNTEyMTQzMzk5Ng==.html

在这里插入图片描述

测试麦克纳姆轮行走的动态图

在这里插入图片描述

相关链接:
【雕爷学编程】Arduino动手做(184)—快餐盒盖,极低成本搭建机器人实验平台
https://blog.csdn.net/weixin_41659040/article/details/132116761

【雕爷学编程】Arduino动手做(184)—快餐盒盖,极低成本搭建机器人实验平台2
https://blog.csdn.net/weixin_41659040/article/details/132118525

【雕爷学编程】Arduino动手做(184)—快餐盒盖,极低成本搭建机器人实验平台3
https://blog.csdn.net/weixin_41659040/article/details/132118549

相关文章:

【雕爷学编程】Arduino动手做(184)---快餐盒盖,极低成本搭建机器人实验平台3

吃完快餐粥,除了粥的味道不错之外,我对个快餐盒的圆盖子产生了兴趣,能否做个极低成本的简易机器人呢?也许只需要二十元左右 知识点:轮子(wheel) 中国词语。是用不同材料制成的圆形滚动物体。简…...

redis String类型命令

Redis的String类型是一种简单的键值对数据结构,常用的String类型命令有: SET key value:设置指定key的值为value。GET key:获取指定key的值。DEL key:删除指定key及其对应的值。INCR key:将指定key的值加1…...

Blazor 简单组件(0):简单介绍

文章目录 前言说明环境安装 前言 Blazor 这个技术还是比较新,相关的UI组件还在完善,我这里提供一下我个人的组件开发。 说明 本UI组件是基于BootstrapBlazor(以下简称BB)开发。 BootstrapBlazor 文档 环境安装 C#小轮子:Visual Studio自…...

在vue3+vite项目中使用jsx语法

如果我掏出下图,阁下除了私信我加入学习群,还能如何应对? 正文开始 前言一、下载资源二、利用vite工具引入babel插件总结 前言 最近在为部署人员开发辅助部署的工具,技术栈是vue3viteelectron,在使用jsx语法时&#x…...

HCIA 路由器工作原理 及其 静态路由配置

目录 1、路由器工作原理 2、获取未知网段的方法: 3、静态路由 1)写法: 2)扩展配置 a、环回接口 配置命令: 环回接口的作用: b、手工汇总 手工汇总作用: c、路由黑洞 d、缺省路由 配置…...

【Git】—— git的配置

目录 (一)忽略特殊⽂件 (二)给命令配置别名 (一)忽略特殊⽂件 在⽇常开发中,我们有些⽂件不想或者不应该提交到远端,⽐如保存了数据库密码的配置⽂件,那怎么让Git知道呢…...

[git] git基础知识

git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目 git易于学习,性能极快 什么是版本控制? 版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况,可以记录文件修改历史…...

【从零学习python 】15.深入了解字符串及字符集编码

文章目录 字符集字符和编码相互转换编码规则 学习目标成员运算符in运算符not in 运算符 进阶案例 字符集 计算机只能处理数字(其实就是数字0和数字1),如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bi…...

【LeetCode】打家劫舍||

打家劫舍|| 题目描述算法分析编程代码 链接: 打家劫舍|| 在做这个题之前&#xff0c;建议大家做一下这个链接: 按摩师 我的博客里也有这个题的讲解&#xff0c;名字是按摩师 题目描述 算法分析 编程代码 class Solution { public:int maxrob(vector<int>nums,int left,…...

【Nginx】Nginx的重定向——location

location 匹配URI location 匹配的规则和优先级&#xff1b;***重点 nginx常用的变量&#xff1b;要求掌握 rewrite 重定向&#xff1b;掌握/理解 location匹配&#xff1a;*** 正则表达式&#xff1a;匹配的是文件内容 常见的正则表达式&#xff1a…...

每日一题——滑动窗口的最大值

滑动窗口的最大值 题目链接 暴力解法 最容易想到的当然还是通过两层循环来暴力求解&#xff1a;一层循环用来移动窗口&#xff0c;一层循环用来在窗口内找到最大值。这种做法的时间复杂度为O(kN)&#xff0c;会超出时间限制&#xff0c;因此&#xff0c;我们要找到更加高效的…...

【使用go开发区块链】之获取链上数据(03)

上篇文章&#xff0c;我们完成了数据库的连接&#xff0c;本章节&#xff0c;我们将完成ethclient的配置以及初始化 1、ethclient配置 1.1、安装go-ethereum 在命令行终端输入下面代码安装&#xff1a; go get github.com/ethereum/go-ethereum1.2、Ethclient配置 1.2.1、新…...

js 动态设置transformOrigin

transformOrigin属性用于指定元素变换的原点。 // 获取要设置的元素 const element document.getElementById(your-element-id);// 设置transformOrigin属性 element.style.transformOrigin 50% 50%; // 以元素中心为原点// 或者使用变量来设置 const x 0; // x坐标 const …...

docker使用tab无法自动补全命令

本文参考链接 一、安装bash-complete 在线安装 yum install -y bash-completion二、刷新文件 source /usr/share/bash-completion/completions/docker source /usr/share/bash-completion/bash_completion...

既然jmeter也能做接口自动化,为什么还需要pytest自己搭框架?

今天这篇文章呢&#xff0c;我会从以下几个方面来介绍&#xff1a; 1、首先介绍一下pytest框架 2、带大家安装Pytest框架 3、使用pytest框架时需要注意的点 4、pytest的运行方式 5、pytest框架中常用的插件 一、pytest框架介绍 pytest 是 python 的第三方单元测试框架&a…...

Objective-C获取变量类型的方法

在Objective-C中&#xff0c;要获取一个对象的类型&#xff0c;可以使用[object class]方法。这将返回一个Class对象&#xff0c;表示该对象的类型。 另外&#xff0c;typeid是C中的关键字&#xff0c;用于获取一个变量的类型信息。在Objective-C中&#xff0c;typeid并不适用于…...

相机可见区域,使用鼠标拖拽模型

知识点 向量射线检测坐标转换 思路 使用射线检测获取射线检测点与模型对象之间的偏移量 &#xff08;世界空间&#xff09;使用相机的坐标转换获取检测点与鼠标位置之间的偏移量 &#xff08;屏幕空间&#xff09;拖拽时&#xff0c;更新模型位置 代码示例 using UnityEng…...

Vue 2 与 Vue 3 的全面比较

Vue 2 与 Vue 3 的全面比较 1. 性能提升 Vue 3 的性能得到了显著提升。虚拟 DOM 已经重写&#xff0c;使补丁过程更快。 对比&#xff1a; Vue 3 使用了基于 Proxy 的新观察者机制&#xff0c;取代了 Vue 2 的基于 Object.defineProperty 的观察者。 Object.definePropert…...

Unity学习笔记--如何优雅简便地利用对象池生成游戏对象(进阶版)LRU + 对象池

前言 之前写过一篇关于对象池的文章&#xff0c;现在来看写的并不是很好&#xff0c;所以来考虑优化下。 现在来看一年前写的代码&#xff0c;越看越不能入目hhh Unity学习笔记–如何优雅简便地利用对象池生成游戏对象 前置知识 Unity学习笔记–使用 C# 开发一个 LRU 代码实…...

【Spring专题】Bean的声明周期流程图

前言 我向来不主张【通过源码】理解业务&#xff0c;因为每个人的能力有限&#xff0c;甚至可能会因为阅读错误导致出现理解上的偏差&#xff0c;所以我决定&#xff0c;还是先帮大家【开天眼】&#xff0c;先整体看看流程图&#xff0c;好知道&#xff0c;Spring在写源码的过…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...