好,今天小编关注到一个有意思的话题,就是关于python运动控制编程的问题,于是小编就整理了2个相关介绍python运动控制编程的解答,让我们一起看看吧。
什么是运动控制算法?
机器人的算法分为感知算法和控制算法,更进一步细分为环境感知算法 ,路径规划和行为决策算法(ai),运动控制算法,后两个也可以统称为控制算法。
环境感知算法获取环境各种数据(机器人视觉和图像识别),定位机器人的方位(slam),对于固定工位的机器人来说,环境感知算法往往不是必须的,但是,对于另一类机器人来说,比如扫地机器人,基本就是一个slam算法,行为决策和运动控制算法及其简单可以忽略。
机器人自身的运动控制算法是机器人制造厂家的研发重点,主要就是提高机器人行动的精度,稳定性和速度,这个一半靠pid伺服电机,一半靠控制算法,同样性能的pid伺服电机,好的控制算法能提高精度10倍以上,硬件反而不是难度所在,因为全世界的机器人厂家都是买同样的芯片和硬件电路;
总体来说,环境感知算法和运动控制算法是比较成熟的,也是整个机器人研究领域投入人力最多的,不断对现有的算法进行改进优化,一是因为研究已经获得突破,跟进的团队就多,二是因为90%的机器人应用领域,只需要用到这两种算法甚至只用到其中一种,行为决策算法非常简单,就是重复一个或几个简单动作;
行为决策算法或行为控制策略则是机器人应用领域的未突破的研发重点(不用的应用领域算法也不同,当然,也可以完全由人来手动控制,我们常说的人工智能,狭义点就是指这个模块),这里不是指那些简单的行为算法,比如重复动作,机器人按固定动作跳舞,无障碍或固定障碍路线行走等,这些主要是硬编码实现,不涉及到ai,复杂的行为决策算法主要有f***,层次分析法,决策树,模糊逻辑,遗传算法ga,人工神经网络ann,以及针对具体问题的特定算法,比如路径规划等(ros里面提供了一个move-base模块,实现了很多路径规划算法),一般都用c/c++混合python来编程行为决策算法里,有解决的不错的,比如导航路径规划算法,也有难度极大的,比如避障算法,几乎所有的无人驾驶和自动驾驶研发团队都在苦苦思索避障算法,其实,避障算法的应用是及其广泛的,很多领域比如无人机也要用到,避障算法是整个无人驾驶和自动驾驶行业的拦路虎,因为它决定了最后的1%的安全性,而现有的vfh避障算法和dwa避障算法只能算非常原始的起步,完全不能满足实际需要。
PLC编程逻辑思维不行,怎么锻炼?
首先,建议要精读或者精学三门课程:离散数学 数据结构 编译原理。所谓的精读或者精学,不是说简简单单为了应付考试的学习,而是对每个细节每项内容都穷究其理,融汇贯通。精学这3门课程的本身就是逻辑思维和抽象思维能力的很好锻炼。其中前两门课程,其知识本身在未来也有大用,编译原理本身作为一般程序员用到的机会可能不多,但是学编译原理真的很锻炼逻辑思维和抽象思维能力。 其次,可以多玩一些抽象类,数字类的游戏,例如数独。 再次,多精读一些好书,尤其是设计类的书,推荐《设计模式》,边读要边思考,不是灌输式的读书,是思辨式得读书 再再次,花大量时间去优化代码,不管是自己的还是别人的。用不同的方式,不同的思路,不同的算法,不同的结构去改写和优化代码。尤其是算法类的代码,系统控制类的代码。 很少有人能单单通过所谓“逻辑思维”从复杂问题快速找到抽象的,如果有这样的人,他的经验,工具,方法和直觉通常起到比逻辑思维更重要的作用。写代码需要逻辑思维,但解决复杂问题更需要理解分析,写代码只是解决问题比较靠后的步骤。所以不急着写代码,也不急着找抽象,先试着理解问题本身,而不是下意识地想把问题套进已知的,熟悉或不熟悉的工具,那样是本末倒置的。 多数情况下,只要有一点耐心,理解问题并不难,这个时候既是逻辑推演,更是探索发现。 比如交通灯控制,是一个不那么简单的问题,不急着找模型,也不急着编程,想一想一个交通灯有几种状态,一组交通灯有几种状态,不同的路口的交通灯有几种状态,把具体的例子列出来,你大概会有一个概念:那就是你要写交通灯管理程序本质就是一个状态管理的过程。这个时候还[_a***_]得到适合编程的抽象,但你已经积累了对输入和输出的认识,接下来可以写一点简单代码或者伪代码,把各种case的逻辑都单独实现一遍,把各种状态之间的转换的条件和过程勾勒出来,从这里观察他们在数据和流程上有没有共性,有没有可以优化的余地,这样你就慢慢地找到你要的抽象,然后看看你熟悉的工具(比如编程语言)提供了什么样的数据结构和编程范式最适合去实现这样的抽象。 把问题具体化,寻找具体的输入和输出,具体的状态变化。具体化了的问题更容易分解,分解以后的问题更容易分析;先分析再归纳比不分析直接归纳更有操作性,你的“逻辑思维”才能派上用场。
到此,以上就是小编对于python运动控制编程的问题就介绍到这了,希望介绍关于python运动控制编程的2点解答对大家有用。