社论
平衡机器人的故事
发布08/16/2021
这个故事我已经讲过一百遍了,但从来没有花时间把它写下来。我有很多像这样有趣的故事,但我认为这将是我的第一篇Medium文章的最佳主题。我从未想过以机器人为职业,但事实却如此——也许惊喜就是我如此热爱机器人的原因!20年前,就在互联网泡沫破灭之后,我还是一名顾问,有很多空闲时间。我开始花更多的时间沉迷于我的爱好——建造机器人,随后在硅谷家酿机器人俱乐部遇到了其他志同道合的人。我在俱乐部遇到的第一个人是鲍勃·艾伦,他是一位电子工程师,在他的车库里有一家机械车间,能制造令人惊叹的机械产品。他在过去制造了一些战斗机器人,并与他的机器人参加了两个电视节目,我们都非常兴奋地合作做更多有趣和复杂的机器人项目,我们可以利用机器人的三个学科:机械,电气和软件工程。那时,我的机械工程技能严重缺乏。适合机器人的机械部件很难获得,但战斗机器人的部件更容易获得,因为它们在当时的电视上很受欢迎。我有一堆这样的零件,急于把它们组合在一起。 I remember one afternoon going over to Bob’s house to discuss the possibility of doing a collaborative robot project using this parts pile. His first comment was:
你疯了吗?如果你用那种东西建房子,你会毁了它的。
然后他给我看了一段视频,一个机器人可以在两个轮子上保持平衡。我想,“哇,这太神奇了。我以前从未见过这样的事情。”它很小,可能不会毁了我的房子。我们想知道我们是否可以建造类似的东西。
不会那么难吧?
几个月后,我们终于有了一套电子设备,找到了合适的马达,并准备尝试让它保持平衡并四处行驶。然后,最难的部分来了。制造机器人是一回事,但让它保持平衡的软件问题是巨大的。我想我花了整整3个月才让它不倒,又花了更多的时间让它到处跑。第一个机器人被命名为“Bender”,以《飞出个未来》中可爱的喝啤酒的机器人命名。它摔得太厉害了,所以用一个一直在喝酒的机器人来命名它是有道理的。
弯曲平衡机器人-大约2002年
硅谷曾经有大量的“技术”回收场所,在那里你可以进入一个装满旧电脑零件、马达和电线的仓库,然后以几美分的价格购买这些二手物品。我记得和鲍勃一起去了很多次地方,寻找合适的零件来组装本德。我记得鲍勃和机器人俱乐部的其他人带着他们在其中一个地方的垃圾箱里发现的一些罕见而有趣的马达参加俱乐部会议。他们是一种濒临灭绝的商店。其中一个更受欢迎的,HSC电子公司最近关闭了,他们将被每个周末经常光顾他们的爱好者想念。
控制理论突袭....
当我开始这个项目时,我对控制理论知之甚少,但我学得很快。平衡机器人本质上是一个经典倒立摆问题的倒置实现:每次我讲这个故事时,人们都想知道其中的细节。“你是怎么做到的?”你用了什么零件?”我可能可以单独写一篇关于这个主题的论文,但对于一篇Medium文章,我能做的最好的是一个总结。我从艰苦的过程中了解到,要让一个平衡机器人工作得很好,机器人需要以下几样东西:
- 高扭矩齿轮电机(100转/分或更低)
- 编码器反馈你的齿轮电机
- 惯性测量单元
- 一个微控制器大小的CPU -这里不太需要。
如今,有很多公司生产6轴或9轴imu,用于智能手机或其他消费设备。在维基百科上查找IMU的条目,发现阿波罗太空计划的各种有趣图片,这很有趣。如今,IMU =陀螺仪+加速度计+指南针都融合在一个芯片设备上,或者你自己把每个传感器分开,用数学方法融合在一起。2002年,可供选择的机会很少。我在一个多余的地方发现了一些陀螺是由。它们是一种单轴压电装置,最初用于摄像机和电脑鼠标内部。它们并没有被广泛使用,但出于某种原因,剩余物品商店有一大箱。这是一家大型教育和业余机器人供应商刚刚开始销售加速度计由。它是3轴的,但是噪音很大,而且有线性化问题。这意味着,如果你把加速度计倾斜到它的边缘,然后慢慢地旋转360度,你应该能够从输出的数据中画出一个完美的圆。 The data from this accelerometer looked more like a garden squash than a circle. The big software challenge is you need a control loop where you read the IMU, remove all the drift and bias, and then move the wheels in the correct direction to keep them underneath the robot so it doesn’t fall down. It turns out that the speed of this control loop is not terribly critical. On all my early attempts, about 30hz was enough to keep the robot stable. It still sounds pretty easy as I am describing it, right? Once you dig into the details, it gets tricky. In 2020 the IMU units you can buy off the shelf, are pretty inexpensive, and not as finicky. In 2005, this was not the case. We had a single-axis gyro, and a two axis accelerometer. Both of these devices had measurement issues. The gyro is the most important measurement device that you use for keeping the robot upright. It gives you the rate of rotational acceleration as the robot starts to fall. The problem is, if you just put a gyro on a non-moving surface, like a desk and start taking readings from it, the zero point will slowly start to move or “drift”. Compensating for this drift is the hard part. How can you measure a sensor when zero is constantly moving? The solution to this problem is to take another sensor that doesn’t move as much when you are sitting still, and reference to its zero instead to remove the drift. There is another problem though. Both sensor measurements, and total sensitivity move around with temperature. Whew!
我怎样才能得到稳定的测量值来平衡我的机器人?
答案在于一种来自统计和控制的算法,称为卡尔曼滤波器。你得到这些测量值,通过卡尔曼滤波器,你就可以估计出你认为真实测量值的实际位置。从大学开始,我的数学技能就生疏了,但当我深入研究如何实现其中一个时,我真的必须回到基础上来,学习该怎么做。我花了相当多的工作来构建一个简单的卡尔曼滤波算法,我可以用它来融合我的janky陀螺和加速度计。一旦我让它工作,我可以在工作台上看到,当我的小IMU板实际上没有移动时,我的滤波器的输出将保持稳定,当它移动时,测量值将朝着正确的方向移动。接下来,我需要一种控制理论方法来保持机器人的平衡。有很多不同的方法,但我想要简单的方法。搞清楚卡尔曼滤波之后,我的脑袋都疼了。最简单的方法就是PID控制器。事实证明,一个PID控制器本身通常只足以让机器人保持站立,但不一定能处理所有的问题,比如驾驶,负载偏移,或者处理所有其他与碰撞有关的问题。 I learned I had to add lots of extra terms to my PID equations, as well as software filters, to begin achieving great results. After all my experiences with balancing robots, here are the hard problems to demonstrate solutions to — If you have a robot yourself, try these practical tests and see if you can do it:
- 偏移负载-把一个称重的东西放在你的平衡机器人上。它会逃跑,还是保持在地上的位置?
- 在斜坡上保持平衡-你能把你的机器人放在斜坡上,它会保持它的位置吗?
- 质量向下-平衡机器人的人会给你的典型建议是,让机器人的质心尽可能高地保持平衡更容易。这有点像在你手上平衡一把扫帚。大多数人都是用柳条做的。这就像用柳条的一端朝下一样。
- 以恒定速度行驶-它能在地面上以恒定速度行驶,包括上下坡道吗?
- 开过障碍——它能开过门槛或延长线吗?
- 开车时撞到障碍物——它是优雅地弹回来,还是向后弹回去,上紧发条,然后撞回障碍物?
是时候做一个更小的,改进版本的Bender了,它可以做更多的事情。我从工作中学到的一件事是,更大的平衡机器人通常更容易实现平衡。移动速度变慢,所以控制系统不需要在做小的修正时那么严格。制作一个非常小的平衡机器人变得越来越难。在电视剧《飞出个未来》中,Bender有个哥哥叫Flexo。所以,用他的名字命名新机器人是有道理的。
Flexo机器人-大约2003年
因为我现在有了一个PID算法,它可以平衡机器人的负载,也可以在斜坡上行驶,我可以很容易地在机器人的顶部安装一个移动的,裤子倾斜的摄像机,而不用担心摄像机的运动会把机器人撞倒。我们使用了一个彩色跟踪摄像机,并将其调整为跟踪红色。所以你可以把任何红色物体放在它前面,它会慢慢地向你移动。一旦它靠得够近,它就会站在那里盯着你。他工作的时候,我们带他去了机器人俱乐部,那里有个孩子穿着一件红色运动衫,机器人很喜欢。
一旦我们知道了怎么做,制造更多的平衡机器人似乎就更容易了。我们做了一个Flexo的越野版本,叫做Big Red,还有一个版本叫Fat Albert,它可以自己从地板上爬起来。
大红-大约2006年
胖阿尔伯特机器人——大约2005年
胖子艾伯特有一个独特的机制和软件实现,允许从地面过渡到站立,然后再回到地面。我们为整个装置申请了多项专利,多年来一直保持着它们的活性,但仍然没有弄清楚如何处理这些专利。(如果你对它们有什么想法,请随时联系我。)鲍勃认为我们也许可以找到一些公司,他们可能有兴趣购买我们在开发这些东西方面的专业知识,也可能是专利!2004年,他在圣何塞举办的第一届贸易展上买了一个展位。在展览的第一天,我们站在我们的展位上,Flexo正在表演他的平衡机器人表演,谁应该骑着自行车漫步在过道上,而不是他自己。他骑马过来,停了一会儿,开玩笑地说:“哇!快看!我从来没有见过这样的事情!”
-不过,这还不足以让他从滑板车上下来。第二天,我们遇到了一群来自孩之宝的热情工程师。他们正在寻找更有趣的机器人玩具产品,可以添加到他们的生产线上,以及在玩具开发中提供更先进的传感器。我们被邀请到罗德岛向更大的工程团队展示我们的能力。鲍勃问道:“我们需要准备一份更正式的报告吗?”对方的回答是:“只要出现,带一些机器人来展示和讲述就行了。”当我们到达公司总部时,我们被接送到一个巨大的会议室,看起来可以容纳100人,有20人坐在那里等着听我们的“演示”。噢,不!我们以为我们完全搞砸了,但我们刚打开机器人,鲍勃就开始说话了。我通常是一个非常大声、健谈的人,鲍勃对我说,这是他第一次看到我说不出话来。 Pretty soon, the crowd warmed up, got out of their seats, and started coming to look at the robots up close, and it all worked out fine. We signed up with them to help, and a company was born! Bob and I started a robotics consultancy called . in 2005. was our first customer, and from there we were able to take on more and more interesting robotic projects as well.
我在罗德岛的孩之宝总部
孩之宝从未忘记这个想法,这个平衡机器人的想法可能是一个伟大的产品概念,所以他们投资开始把我们的原型机器人Flexo变成可以作为玩具/消费品出售的东西。第一步是摆脱过剩零部件,开始整合消费级零部件和电机。第一个原型的目标是让机器人驱动系统启动并工作。我们制作了两个机器人:一个是3D打印的完整原型,看起来像玻璃一样脆弱,另一个只是安装了现有电子设备的传动系统。
第一个AMP原型-玻璃人
传动系统原型
我都数不清我们把两个原型都弄坏了多少次。每次它坏了,我都会打电话给鲍勃,他会过来,我们会想出一个聪明的方法把它粘回去。经过无数次的试验和错误,我们终于有了一些东西,所以是时候做真正的东西了。当时的3D打印还相当新,不像今天这么容易使用。(我认为这可能是一篇关于机器人如何在中国工厂组装并准备开始生产的完整额外文章的主题,所以我将把这个故事留到另一天。)在去了几趟中国,见了一些很棒的工厂员工,做了更多的工作之后,我们终于有了真正的产品。
自动音乐人格
这个产品被命名为A.M.P.——自动音乐个性。或AMPbot。它不仅是一个平衡机器人,里面还有一个漂亮的扬声器,所以它也是一个扬声器。它装有软件,可以随着整个装置播放的音乐而感应。
当时已经是2008年了,计划在2009年初发布,但最终没有实现。2008年的金融危机改变了所有玩具公司的优先事项,在大约12个预生产原型完成后,AMPBot被取消了。
到2010年,我们希望有办法让它复活。我们得到孩之宝的许可,如果我们能找到足够的投资,我们就可以自己把它推向市场。我们重新激活了我们已经制造的有限原型,所以我们有很多可以展示和演示。
当你把AMP一个人留在办公室过夜时会发生什么。
2010年,我们带着AMP参加了演示大会,并试图将其作为自己的项目推出。我们发现很多机器人爱好者都想让他呆在家里。我是说,谁不想要一个很酷的音乐播放机器人呢?
这里是AMP在活动上的完整描述。
我们参加了多个贸易展,试图找到制造AMP的兴趣。下面我在2012年的CES上向TMC描述AMP。
保持OLogic我们花了很多时间去找咨询工作,同时我们试图弄清楚如何让AMP走出家门。我们获得了一个一次性项目,即为谷歌制作一些小型平衡Android机器人,并在谷歌IO,谷歌Sandbox和伦敦等各种活动中巡回展示它们。鲍勃和我玩得很开心,就像一个巡回马戏团把这些机器人带到所有这些活动中。谷歌是一个很棒的客户,和他一起工作非常棒。
在纽约平衡谷歌个机器人
我们利用我们的平衡机器人专业知识,帮助硅谷的许多其他公司调试他们的平衡机器人,并使其运行良好。许多人需要保持匿名,但我们有很多乐趣帮助他们使他们的项目顺利进行。
平衡组概念由
这个关于平衡机器人的故事有一个快乐和悲伤的结局。我在这个过程中结交了很多朋友,并创办了一家很酷的机器人咨询公司,这家公司今天发展得很好,然而,AMP似乎从来就不是我想要的。原型机仍然装饰着我们的大厅OLogic但我们已经转移到其他项目,现在我的平衡机器人传奇故事结束了。鲍勃·艾伦已经从OLogic但他仍然可以不时地在家酿机器人俱乐部的会议上看到他,因为他对机器人的热爱仍然存在。现在在COVID时代,俱乐部正在虚拟会议,我强烈建议你去看看
你可能会看到我或鲍勃在机器人俱乐部沉迷于我们最喜欢的消遣,机器人!
有趣的是,当我今天在网上谷歌上搜索“平衡机器人”时,你可以买到几十个Arduino工具包,它们可以帮你解决所有困难的问题。回到2003年,如果你搜索这样的东西,结果很少。你得自己用在电子垃圾商店里挖出来的多余零件烤出来。如果你对构建一个自平衡机器人感兴趣,我强烈建议你看看那些易于构建的工具包。噢我的天!20年来世界发生了怎样的变化。