Raspberry Pi 解答:我的仓鼠是懒惰还是超级运动员?

目前还没有读者喜欢这篇文章。
Raspberry Pi 4 board

Raspberry Pi 基金会

去年,我带了两只新的罗伯罗夫斯基仓鼠幼崽回家。当时它们看起来一模一样,所以我都给它们取名为 Hamtaro。(快进到我养它们的 1.5 年后,其中一只比另一只长得明显胖得多……所以我给它起了个昵称 Hamtaro Grande。)

在 Hamtaros 回家大约一周后,有一件事变得非常清楚——它们一直在跑。至少,当我试图在它们吱吱作响的轮子声中睡觉时,感觉是这样的。

好奇心驱使我开始在互联网上研究我的仓鼠。为了证实我的猜测,我读到罗伯罗夫斯基仓鼠尤其在世界上是最活跃的仓鼠品种之一,平均每晚跑步“相当于人类的四个马拉松”。所以,我开始想:我的罗伯罗夫斯基仓鼠真的有可能每晚跑相当于仓鼠的四个马拉松吗?如果真是这样,那又意味着什么呢?我的意思是,马拉松的“仓鼠当量”到底什么?考虑到这些问题,我决定用一些公民科学来测试我的仓鼠。

以下是它的工作原理

改装仓鼠轮,以实现安全跟踪

幸运的是,我早在 1 月份就已经完成了改装我的轮子的工作。那时,我脑海里有两个目标

  1. 消除持续不断的吱吱声,这种声音不断地发出,吵得我晚上睡不着觉。(设计用于流畅播放录像带的滚珠轴承允许相对无摩擦——因此几乎无声——旋转。)
  2. 在笼子外部提供一个表面,以便在仓鼠接触不到的安全位置安装其他装置。(录像机磁头有一个轴,可以穿过笼子的栅栏,让我可以将磁头本身安装在笼子外部。)

您可以在这里找到有关如何改装您自己的仓鼠轮的详细说明。

构建一个设备来记录仓鼠数据

hamstrometer 本身本质上只是一个以太网连接的计步器。我是回收利用和开源的忠实粉丝,所以我个人选择在我的设计中尽可能选择开源解决方案和回收部件。如果您想构建自己的 hamstrometer,您可以从我的 GitHub 下载此电路的 Fritzing 模型。

以下是我的零件清单

  • Raspberry Pi
  • Raspberry Pi 外围设备(为了减少浪费,我所有的设备都是从 CRASH Space 垃圾箱中二手获得的):显示器、鼠标、以太网电缆、HDMI 电缆、电源线(从旧调制解调器上取下)、USB 电线
  • 带粘性的面包板
  • 霍尔效应传感器
  • 稀土磁铁
  • LED(可选:用于通知和调试)
  • 跳线

电路中的主要功能发生在稀土磁铁和霍尔效应传感器之间。霍尔效应传感器可以感应磁场的存在,因此一旦我们将稀土磁铁安装到仓鼠轮上录像机磁头的旋转部分,它们就能够计数旋转次数。

我们的旋转数据的记录和任何其他计算都由 Raspberry Pi 处理。在观察了我的仓鼠的行为后,我确定它们通常倾向于在一个非常短的时间跨度内多次在轮子上徘徊和离开。因此,我决定以“冲刺”的方式记录它们的数据。每当传感器感应到磁铁的存在时,它就认为这是一个新冲刺的开始。之后每次连续感应到磁铁时,它都会记录当前的时间戳。只要传感器感应到磁铁,它就会继续记录。如果五秒钟没有任何活动,它将终止冲刺并将冲刺数据记录到 SQLite 数据库中。

测量和计算距离

互联网上的说法是,我的仓鼠平均每晚跑相当于四个马拉松的距离。因此,为了确定这是否属实,我们首先必须问自己:人类四个马拉松的“仓鼠当量”是多少?

为了确定这一点,我认为假设如果人类跑完人类大小的马拉松需要 X 步人类大小的步幅,那么仓鼠跑完“仓鼠马拉松”也必须需要 X 步仓鼠大小的步幅,这是公平的。

为了解决这个问题,我必须首先回答其他几个问题

问:仓鼠转动一圈轮子跑多远?

hamstrometer 正在记录轮子的转数,因此我们需要确保我们在轮子转数和英尺之间正确转换。

我测量了我的仓鼠轮的直径,它是 0.5 英尺。

0.5 英尺 X PI = ~1.5 英尺

答:仓鼠转动一圈轮子跑的距离是 1.5 英尺

问:人类的平均步幅有多长?

幸运的是,互联网上到处都有这些数据。我选择使用 2.2 英尺的值,因为这被引述为女性人类的平均步幅长度,而我的仓鼠是女士。

答:女性人类的平均步幅长度为 2.2 英尺。

问:罗伯罗夫斯基仓鼠的平均步幅有多长?

这个问题有点难弄清楚。互联网上似乎没有太多关于雌性罗伯罗夫斯基仓鼠平均步幅的现成数据。

我开始构思测试的想法,并在 Twitter 上抛出了一些,看看是否有任何想法会流行起来。社区充满了建议!我们都来回讨论了各种想法的优缺点、它们需要多少工作、它们可能有多准确,以及我的仓鼠可能会对整个过程感到多么恼火。

然后我们中的一个人想到了一个完美的主意


太棒了!

这不仅使我们能够非常清楚地看到仓鼠的步幅,而且对仓鼠的正常生活方式也是非侵入性的。

幸运的是,我的仓鼠笼子的底部是半透明塑料,因此不需要额外的玻璃板。使用尺子、笔和一些胶带,我绘制并标记了世界上最先进的仓鼠步幅测量系统!

瞧!在拍摄它们并将录像以慢动作回放后,我能够获得几个仓鼠步幅的测量值,并取平均值。



照片由 Michelle Leonhart 拍摄。 CC BY-SA 4.0

答:我的罗伯罗夫斯基仓鼠的平均步幅长度为 0.166 英尺。

问:一英里有多少人类步幅?

(5,280 英尺/英里)*(1 步人类步幅/2.2 英尺)= 2,400 步人类步幅/英里

答:一英里有 2,400 步人类步幅。

问:仓鼠走 2,400 步能走多远?

(0.166 英尺/仓鼠步幅)*(2,400 步幅/英里)= 400 英尺/仓鼠英里

答:仓鼠一英里走 400 英尺。

问:四个仓鼠马拉松有多长?

(400 英尺/仓鼠英里)*(26.2 英里/马拉松)= 10,487 英尺/仓鼠马拉松

(10,487 英尺/仓鼠马拉松)*(4 个马拉松)= 41,950 英尺/四个仓鼠马拉松

答:四个仓鼠马拉松长 41,950 英尺。

上传和跟踪数据

我一直在使用 ThingSpeak 来托管我的数据。ThingSpeak 是一个经济实惠的开源平台,用于托管您的 IoT 数据。有一个 API,您可以直接插入到您的项目中来上传您的数据,生成 CSV 文件,并近乎实时地绘制您的数据图表。您可以在我的网站 这里 观看我的仓鼠的实时数据。

我为这个项目编写的代码是用 Python 编写的,数据库和表除外,它们由 SQLite 支持。您可以在 Github 上找到我为这个项目编写的代码,该代码根据 GPL-3.0 许可证 提供。

分析数据

我连续跟踪了我的仓鼠一个月的活动,并且(剧透警告)

它们一次也没有达标。



照片由 Michelle Leonhart 拍摄。 CC BY-SA 4.0

哇。

也许这是因为我的仓鼠变老了?也许家养的罗伯罗夫斯基仓鼠的表现不如野生的好?或者也许我的只是……真的很懒?或者也许互联网一直都在撒谎!?!

但实际上,我不应该对它们没有达到每天四个马拉松的指标感到如此失望。它们平均每天跑一到两个仓鼠马拉松,这相当于每天两到五英里的人类里程。对于一种最大长度约为两英寸的生物来说,这些数字已经非常令人印象深刻了。

GitHub | GPL-3.0 许可证

User profile image.
嗨!我是 Michelle Leonhart,一位居住在洛杉矶的软件工程师。当不为工作或娱乐而编码时,您可以发现我与人共同运营着黑客空间 CRASH Space:一个旨在普及 STEAM* 教育的非营利组织,我对 STEAM* 教育充满热情。

12 条评论

从我在图片中看到的情况来看,您可能测量了“错误的步幅”。
步幅不应该是行走时两只成对的腿之间的距离,而不是像您测量的那样,前腿和后腿之间的距离吗?
好吧,如果我是对的,那么实际的步幅可能大约是您测量值的一半,因此 4 个马拉松可能仍在您的仓鼠女士们的掌握之中……

步幅测量值是根据单只脚的初始位置与单步后同一只脚的最终位置之间的距离计算的。我认为您的困惑是因为在图像中,仓鼠右爪的前部恰好靠近仓鼠后爪背部的最终位置,而后爪背部是图像中正在测量的爪子。

回复 ,作者:Davide Repetto (未验证)

2.2 英尺(公制单位为 66 厘米)的人类步幅值看起来像是一只脚的位置和另一只脚的位置之间的距离,也就是说,是您对步幅定义的二分之一。
我还猜测这是人在走路时的步幅长度。跑步时,步幅明显更长。
将这两种影响结合在一起,您可能将马拉松比赛中的步幅数量高估了三到四倍。

回复 ,作者:mleonhart

非常引人入胜的文章!当然,下一步只能是通过仓鼠轮为 Pi 供电(但可能需要几只额外的仓鼠,因为您的仓鼠显然非常懒惰)。

我喜欢它!很棒的文章。

正是这类文章让我如此高兴 Opensource.com 的存在。干得漂亮,Michelle。

我知道对于这类事情,他们通常使用身体长度作为比较器。也就是说,他们可能会使用人的平均身高与马拉松比赛距离的比率,而不是步幅长度,与仓鼠的平均长度与跑步距离的比率进行比较。当然,对于有明显尾巴的动物,尾巴将不包括在内,但仓鼠实际上并没有明显的尾巴。

由于您显然在同一个笼子里有多只仓鼠,因此您不知道它们是否都同样活跃,或者是否只有一只仓鼠在做大部分工作。
您可以给它们贴上唯一的 rfid 芯片,并在轮子附近放置一个 rfid 阅读器,以便能够分辨出哪只仓鼠当前正在使用它,

如果您可以真正从仓鼠轮为 Pi 供电,那就太酷了!

如果一只仓鼠比另一只仓鼠胖,那么它也可能更慢。也许她可以从平均转速中区分仓鼠。当然,它不太可靠,如果一只仓鼠出来而另一只仓鼠快速进入,可能会混淆数据,这很可能现在正在发生,因为步幅结束的计时器为 5 秒……但使用的材料更少。

回复 ,作者:JustNiz (未验证)

很棒的工作。我有一个问题,您为什么要测量仓鼠的步幅长度。计算旋转轮的周长并测量旋转次数并计算仓鼠跑过的距离有什么问题?

这真是一篇很酷的文章!我会在我的豚鼠身上做这件事,但除非用食物贿赂它,否则它不会动。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.