您的位置:首页 > 资讯 > 服务机器人 > 正文

用Python做一只真·多足机器人,钢铁蜈蚣能弯曲还能蠕动

2019-11-18 14:35 性质:转载 作者:徐玲、李世林、陈若朦 来源:大数据文摘
免责声明:无人系统网(www.youuvs.com)尊重合法版权,反对侵权盗版。(凡是我网所转载之文章,文中所有文字内容和图片视频之知识产权均系原作者和机构所有。文章内容观点,与本网无关。如有需要删除,敬请来电商榷!)
大数据文摘出品来源:declanoller编译:徐玲、李世林、陈若朦足式机器人是如今机器人设计的热点,相较于轮式和履带式机器人,足式设计的优势在于其极强的地形通...

大数据文摘出品

来源:declanoller

编译:徐玲、李世林、陈若朦

足式机器人是如今机器人设计的热点,相较于轮式和履带式机器人,足式设计的优势在于其极强的地形通过能力。

你一定见过模仿人类的两足机器人、犬型和马型的四足机器人、近来爆红的蜘蛛型六足机器人,那你有想过再多来几条腿吗?

控制行走一直是足式机器人的一大设计难点,腿越多则移动越困难。然而,一位名叫Adimin的外国小哥用python做了一只可爬行可弯曲的蜈蚣型机器人。

问:为什么要做设计成蜈蚣型呢?

小哥答:蜈蚣在体型上具有相当的长度,而通过向上弯曲身体还可以具有一定的高度。但是重点是——从来没人做过!蜈蚣机器人够酷、够怪、够有趣!

让“蜈蚣”蠕动起来:双伺服旋转的腿

为实现“蜈蚣”的移动,同时考虑到电力需求,Adimin设计了腿在水平和垂直方向上的旋转功能,分别命名为hip servo 和ankle servo。

于是,腿就能在两个方向上蠕动起来!

此处的所有伺服均由PCA9685 PWM分支板控制——这是一个I2C器件,允许同时控制多达16个伺服器,既便宜又实用。

考虑腿的数量和“蜈蚣”身体的的连接方式,Adimin小哥将主体平台部分设计得较大,给腿的添加留出更多空间;同时在前后两端采取铰链设计(采用金属齿轮MG 996R),不仅能实现身体长度的延伸,还能完成向上弯曲的动作。

“蜈蚣”弯曲起来!

用Python制作多足机器人

“蜈蚣”运动的控制代码是一个分层的类结构。

最基本的单元是Servo部分,使用这部分功能可以直接控制伺服器。

代码中更高级的部分是Leg,其中包含了两个Servo对象,分别用来控制之前提到的 “hip” 和 “ankle” 伺服系统,根据其自身leg_index(2*leg_index和2*leg_index + 1)为它们分配正确的板索引值。

LegPair部分与之Leg类似类似,其中创建了两个Leg对象分别控制左右。

1.b = DriverBoard(args.addr,16)2.3.if args.N_pairs >4:4. b_front = DriverBoard(40,8)5.6. pairs = []7.for i inrange(args.N_pairs):8.if i <4:9.lp = LegPair(b, i)10.else:11.lp = LegPair(b_front, i-4)12.13. pairs.append(lp)14.15. start = time()16.while True:17.for p in pairs:18.p.increment_ankles()让我们来看看这段代码的功能——“蜈蚣”弹跳起来了!其实,让“蜈蚣”实现行走的部分是increment _ankles()函数。为了解释这一点,让我们回到Servo class。伺服系统的主要工作是循环移动。为了控制伺服装置的位置,需要向它发送一个特定占空比的脉宽调制(PWM)信号。接下来,我们要找到对应于该点的脉宽调制,即中点脉宽调制(mid_pwm),使它围绕一个点振荡。然后,定义一个脉宽调制幅度(pwm_amplitude),该幅度会决定它在这个循环中相对于中点上下移动的距离。于是,让“蜈蚣”循环移动起来只需通过以下代码:pwm = int(self.pwm_mid + pwm_amplitude*sin(self.phase + self.phase_offset))如果要让一条腿以我们预期的“行走”方式运动,hip和ankle伺服系统不可能做完全相同的运动。让我们将运动参数化成x和y,加上时间变量t,构成一个正弦函数,令x(t)=y(t)=sin(ωt),便可以得到下面这个运动曲线:为了实现行走,则还需要您给其中一个变量提供相位偏移(如上面的代码所示),最终得到一个圆。在伺服系统的相位偏移变量设计中,Adimin表示分层设置实在是太炫酷了——它能使多条腿连贯运动!每个腿的伺服对象之间需要一定的相位偏移,而每条腿相对于其他腿也存在相位偏移。因此,我们需要给每个LegPair对象一个高级的相位偏移量,然后每个部分将相应的偏移量分配给它的低级对象。除了上下跳动以外,Python还能实现“蜈蚣”的其他运动方式:1.b = DriverBoard(args.addr,16)2.3.if args.N_pairs >4:4. b_front = DriverBoard(40,8)5.6.sleep(0.5)7. pairs = []8.for i inrange(args.N_pairs):9.if i <4:10.lp = LegPair(b, i)11.else:12.lp = LegPair(b_front, i-4)13.14.if i%2 ==1:15.lp.set_phase_offset(pi)16. pairs.append(lp)17.18. start = time()19. time_limit =args.runtime20.21.while True:22.for p in pairs:23.p.increment()自然生物学为机器人设计提供了黄金标准,我们需仍要很长时间才能制造出完成一切动物行为动作的多足机器人。而另一方面,机器人不受生物学的限制,这意味着它们总有可能学习动物天生就不会的新行为。相关报道:https://www.declanoller.com/2019/05/16/in-case-hexapods-werent-creepy-enough-the-centipede-robot/?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

网友评论
文明上网,理性发言,拒绝广告

相关资讯

  • 澳博机器人为天坛家具提供导购服务解决方案
    在科学技术快速发展的今天,人工智能机器人作为其中的一环,已经成为推动国家和社会进步的重要指标,也逐渐融入到人们的生活当中。在商场可以看到导购机器人宣传...

    2024-04-03 09:54

  • 探索智能仓库对电动叉车的需求
    在当今快速发展的物流行业中,智能仓库已成为效率和创新的代名词。随着技术的不断进步,传统的仓储管理方式正在被重新定义,智能仓库的概念逐渐浮出水面。在这个...

    2023-12-13 09:59

  • 如何利用物料搬运设备降低成本和提高效率
    在当今快节奏的商业世界中,提高效率和降低成本是企业成功的关键因素。物料搬运作为工业流程的一个关键环节,直接影响着生产率和盈利能力。通过使用适当的物料搬...

    2023-12-13 09:43

  • 让中小企业步入自动化时代:如何轻松引入自主移动机器人
    随着节日消费的增加,许多仓库和配送中心的交易量将大幅增加。为应对这一挑战,物流技术公司近年来推出了各种自动化解决方案,包括快速穿梭车和能力强大的机器人...

    2023-11-13 16:02

  • 无人叉车与物料搬运的未来
    在快速发展的物流和物料搬运行业中,无人叉车技术的出现正成为一场革命性的变革。随着全球化和电子商务的兴起,对于更高效、更智能的仓库管理解决方案的需求日益...

    2023-11-13 16:00

  • 美国对来自中国进口的磷酸铁锂电池有那些具体要求?
    随着全球经济的日益电动化和清洁能源转型,磷酸铁锂(LFP)电池因其环境友好、成本效益和长寿命的特性而在市场上占据了一席之地。美国市场对于中国制造的磷酸铁...

    2023-11-06 14:07

  • 叉车锂电池租赁正在改变行业商业模式
    在当今高速发展的物流和制造业中,叉车扮演着至关重要的角色。随着市场对更高效、更环保、成本更优的物料搬运设备的需求增加,锂电池叉车因其卓越性能而成为该领...

    2023-11-06 14:04

  • 美媒:给机器人警察是否配枪? 这是个问题!
    机器人人工智能保安(AI security robots)通常结合了机器人技术、人工智能、计算机视觉和其他传感器技术来执行安全和监视任务。它们能够在一定程度上替代或增...

    2023-11-06 13:58

  • 美团物流无人机工厂在深圳投产
    继常态化运营两年多后9月19日,美团在深圳市龙华区落地了无人机智能制造中心并于当日正式投产据悉,该中心会承担美团自研无人机及配套智能模组等装备的研发验证...

    2023-10-10 11:43

  • 科普:什么是工业 4.0 以及其用途是什么?(3)
    互联工业 4.0 的优势在组织和管理方面,企业的肌体已被运营智能所改变。人力已不复存在,取而代之的是接受过数字技术(如可优化工作的信息和通信技术系统)培...

    2023-09-08 09:46

热点资讯
推荐图文

关注官方微信

手机扫码看新闻