博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
乐高Mindstorms使用ev3dev进行编程
阅读量:2527 次
发布时间:2019-05-11

本文共 1676 字,大约阅读时间需要 5 分钟。

十八个月前,我在当地图书馆申请STEM拨款时被介绍给LEGO Mindstorms。 LEGO Mindstorms是用于创建可定制的可编程机器人的工具包。

在研究产品时,我发现作为Mindstorms机器人核心的EV3砖运行在Linux上。 尽管如此,与该项目一起分发的所有编码软件都可以在Windows,OS X,iOS和Android上运行。 我找到了一个开放源代码项目 ,该项目可以修改EV3砖软件。 ev3dev是一个开放源代码项目,它允许Mindstorm用户创建一个从microSD卡引导的基于的操作系统(OS)。 EV3程序块启动Debian映像后,用户可以使用终端窗口中的命令行通过SSH与EV3进行交互。

ev3dev网站提供了很棒的ev3dev 指南。

大卫·莱希纳(David Lechner)是该项目的首席开发人员,我有机会向他提出了几个问题。 David的背景是俄克拉荷马州立大学的电气工程学士学位,然后在接下来的八年里从事水和废水处理行业的工业自动化工作。 最近,在过去的四年中,他一直在为主要的开源项目(例如做自由计算机编程。

我问他ev3dev项目是如何开始的,他说他的灵感来自EV3dev项目的创始人的 。 作为内心的修补匠,大卫无法抗拒。 他说:“即使我不知道自己在做什么,我还是跳了进去,开始学习如何编写内核驱动程序(我不得不从C语言中的“ Hello World”开始,因为我对语言没有任何经验。 ),以及如何维护Debian软件包以及制作操作系统所需的各种其他东西。” 对他来说幸运的是,他所处的位置使他能够集中精力完成这项任务。 不久之后,拉尔夫(Ralph)意识到戴维(David)有更多的时间投入,他使他成为该项目的共同维护者。

我问戴维有多少人参与该项目,他说:“很难确切地说。由于乐高机器人对大多数人来说只是一种爱好,所以我们有很多人出现一两个周末然后消失了但是,我要说的是,长期以来,我们有5到10名参与者。” 我问他,由于Mindstorm机器人已在许多学校使用,该项目是否考虑允许年轻人参与。 他说:“当然。不幸的是,在这个时间点上,我们没有什么可以为孩子们提供对孩子们非常友好的产品。希望有一天。另一方面,与高水平的学生一起工作会很棒已经有一点编程经验的学校和/或大学生。” 他说,该项目的潜在开发人员不应因缺乏经验而感到恐惧,因为他本人在参与ev3dev时经验不足。

David说他很喜欢与学生合作,并教过一些课后NXT机器人技术课程。 他目前担任第一乐高联赛球队的教练。 我问他短期内最迫切的需求是什么,他说:“我真的很希望看到其他一些贡献者愿意花大量的时间使ev3dev更好,从而使下一代LEGO Mindstorms机器人问世。也许有些大学生可以在ev3dev的某些方面进行高级设计项目,或者开发与Mindstorms兼容的产品的公司可以采用ev3dev作为平台,而不是自己开发。

当被问及他的长期目标时,他说:“我希望将我们的硬件驱动程序纳入主线Linux内核。(BeagleBone的)Jason Kridner和(Linux基金会的)Greg Kroah-Hartman一直在促使我这样做。但是,在进入ev3dev特定位之前,还需要做很多工作才能从主线Linux内核启动EV3。 David鼓励ev3dev的用户尝试一下,让项目知道他们可以如何改进,并让他们知道可以为项目带来迭代的想法。

要开始使用自己的ev3dev体验,您需要一个LEGO Mindstorms Home或Education套件,EV3砖块以及2GB或更大的microSD卡。 请访问ev3dev网站并 。 下载适用于您特定操作系统的 ,以将图像传输到microSD卡,然后将图像插入卡中,然后将其插入EV3并设备 。 遵循上的 。 使用套件随附的USB电缆到EV3,并开始玩乐。

ev3dev源代码 ,并根据GPLv2进行了许可。

该Rubik的Cube解决方案是基于ev3dev的项目的示例:

翻译自:

转载地址:http://ajjzd.baihongyu.com/

你可能感兴趣的文章
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_1_递归概念&分类&注意事项...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_03 过滤器_1_FileFilter过滤器的原理和使用...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_2_练习_使用递归计算1-n之间的和...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_2_一切皆为字节...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_3_练习_使用递归计算阶乘...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_4_字节输出流写入数据到文件...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_5_综合案例_文件搜索...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_6_字节输出流写多个字节的方法...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_03 过滤器_2_FileNameFilter过滤器的使用和Lambda表达式...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_8_字节输入流_InputStream类&FileInputStream...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_3_字节输出流_OutputStream类&FileOutputStream...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_10_字节输入流一次读取一个字节的原理...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_5_文件存储的原理和记事本打开文本显示原理...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_12_练习_文件复制...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_7_字节输出流的续写和换行...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_1_字符输入流_Reader类&FileRead...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_9_字节输入流读取字节数据...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_3_字符输出流_Writer类&FileWriter类...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_11_字节输入流一次读取多个字节...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_5_flush方法和close方法的区别...
查看>>