首页 知识 正文
文章详情

目录:

1.python怎么做机器人

2.能不能用python完成对机器人的仿真

3.python编写智能机器人

4.python能做机器人吗

5.用python写机器人

1.python怎么做机器人

大数据文摘出品 来源:declanoller 编译:徐玲、李世林、陈若朦   足式机器人是如今机器人设计的热点,相较于轮式和履带式机器人,足式设计的优势在于其极强的地形通过能力   你一定见过模仿人类的两足机器人、犬型和马型的四足机器人、近来爆红的蜘蛛型六足机器人,那你有想过再多来几条腿吗? 。

2.能不能用python完成对机器人的仿真

控制行走一直是足式机器人的一大设计难点,腿越多则移动越困难然而,一位名叫Adimin的外国小哥用python做了一只可爬行可弯曲的蜈蚣型机器人 问:为什么要做设计成蜈蚣型呢? 小哥答:蜈蚣在体型上具有相当的长度,而通过向上弯曲身体还可以具有一定的高度。

3.python编写智能机器人

但是重点是——从来没人做过!蜈蚣机器人够酷、够怪、够有趣!   让“蜈蚣”蠕动起来:双伺服旋转的腿   为实现“蜈蚣”的移动,同时考虑到电力需求,Adimin设计了腿在水平和垂直方向上的旋转功能,分别命名为hip servo 和ankle servo。

4.python能做机器人吗

5.用python写机器人

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

此处的所有伺服均由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 in range(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 in range(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.runtime

20.   21. while True:   22. for p in pairs:   23. p.increment()

自然生物学为机器人设计提供了黄金标准,我们需仍要很长

文章内容属作者个人观点,不代表和讯网立场投资者据此操作,风险请自担(责任编辑:张洋 HN080)

相关推荐
四月实战公开课丨高效公式让小白也能做出大神级项目作品
目录: 1.四月攻势 2.四月战报 1.四月攻势 全世界风靡的网课  如何进行1V1、1VN通讯?  如何用C4D做出dribbble大神作…
头像
知识 2024-06-06
Python学习教程公开课:好玩的Python
目录: 1.python入门公开课 2.python讲课视频 3.python课程入门 4.python的优质课 5.python 课程真的…
头像
知识 2024-06-06
MIT Python 公开课第三课要点-算法是怎样演进的
目录: 1.python算法课程 2.python算法教程这本书怎么样 3.python 算法导论 4.python算法基础 5.pytho…
头像
知识 2024-06-06
MIT Python 公开课第四课要点-函数也是一个对象
目录: 1.mit python 2.mit python 公开课 3.mit python凯撒密码 4.mit python作业答案 5.…
头像
知识 2024-06-06
清华教授用了12小时讲完的Python,整整311集,拿走不谢!
目录: 1.清华大学python视频 2.清华python用什么课本 3.python清华大学学生用书 4.清华大学出版社python 5.…
头像
知识 2024-06-06
自学c4d要多久才能出去工作 学习c4d建模渲染
目录: 1.自学c4d需要多久 2.学好c4d需要多久 3.c4d自学能学会么 4.自学c4d能找到工作吗 5.c4d学多久可以找工作 6.…
头像
知识 2024-06-06