精华内容
下载资源
问答
  • 机器人制作实例

    2018-06-24 20:03:00
    我们从广泛意义上理解所谓的智能机器人,它给人的最深刻的印象是一个独特的进行自我控制的“活物”。其实,这个自控“活物”的主要器官并没有像真正的人那样微妙而复杂。 智能机器人具备形形色色的内部信息传感器和...
  • 机器人是什么? 机器人是如何工作的? 自动化专业学生对机器 人要掌握哪些内容?
  • 主要为大家详细介绍了python控制nao机器人身体动作实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 本文实例为大家分享了python控制nao机器人身体动作的具体代码,供大家参考,具体内容如下今天读的代码,顺便写了出来,与文档的对比,差不多。import sysimport motionimport almathimport naoqi from ALProxydef ...

    本文实例为大家分享了python控制nao机器人身体动作的具体代码,供大家参考,具体内容如下

    今天读的代码,顺便写了出来,与文档的对比,差不多。

    import sys

    import motion

    import almath

    import naoqi from ALProxy

    def StiffnessOn(proxy):

    pName="Body"

    pStiffnessLists

    pTime=1.0

    proxy.stiffnessInterpolation(pName,pStiffnessLists,pTime)

    def main(robotIP):

    try:

    motionProxy=ALProxy("ALMotion",robotIP,9559)

    except Exception,e:

    print:"could not create a proxy!"

    print:"error is ",e

    try:

    postureProxy=ALProxy("ALRobotPosture",robotIP,9559)

    except Exception,e:

    print:"could not create a proxy!"

    print:"error is ",e

    StiffnessOn(motionProxy)

    postureProxy.goToPosture("StandInit",0.5)

    space=motion.FRAME_ROBOT

    coef=0.5

    times=[coef,2.0*coef,3.0*coef,4.0*coef]

    isAbsolute=False

    dy=+0.06

    dz=-0.03

    dwx==+0.30

    effector="Torso"

    path=[

    [0.0,-dy,dz,-dwx,0.0,0.0],

    [0.0,0.0,0.0,0.0,0.0,0.0],

    [0.0,+dy,dz,+dwx,0.0,0.0],

    [0.0,0.0,0.0,0.0,0.0,0.0]

    ]

    axisMask=almath.AXIS_MASK_ALL

    motionProxy.post.postionInterpolation(effector,space,path,times,isAbsolute)

    #motion of arms with block process

    axisMask=almath.AXIS_MASK_VEL

    times=[1.0*coef,2.0*coef]

    dy=+0.03

    effecor="RArm"

    path=[

    [0.0,dy,0.0,0.0,0.0,0.0],

    [0.0,0.0,0.0,0.0,0.0,0.0]

    ]

    motionProxy.positionInterpolation(effector,space,path,axisMask,times,inAbsolute)

    if __name__=="__main__":

    robotIP="127.0.0.1"

    if len(sys.argv)<=1:

    print"useage default robotIP"

    else:

    robotIP=sys.arv[1]

    main(robotIP)

    实例二,控制左右胳膊

    #-*-encoding:UTF-8 -*-

    import sys

    import motion

    import almath

    form naoqi import ALProxy

    def StiffnessOn(proxy):

    pName="Body"

    pStiffnessLists=1.0

    pTimeLists=1.0

    proxy.stiffnessInterpolation(pName,pStiffnessLists,pTimeLists)

    def main(robotIP):

    #create a proxy to almtion

    try:

    motionProxy=ALProxy("ALMotion",robotIP,9559)

    except Exception,e:

    print "could not create a proxy"

    print "error is ",e

    #create a proxy to alrobotposture

    try:

    postureProxy=ALProxy("ALRobotPosture",robotIP,9559)

    except Exception,e:

    print "could not create a proxy"

    print "error is ",e

    StiffnessOn(motionProxy)

    postureProxy.goToPosture("StandInit",0.5)

    space=motion.FRAME_ROBOT

    isAbsolute=False

    effectorList=["LArm","RArm"]

    #motion of arms with block process

    axisMaskList=[almath.AXIS_MASK_VEL,almath.AXIS_MASK_VEL]

    timeLists=[[1.0],[1.0]]

    pathList=[

    [

    [0.0,-0.04,0.0,0.0,0.0,0.0]],

    [

    [0.0,0.04,0.0,0.0,0.0,0.0]]

    ]

    motionProxy.positionInterpolation(effectorLists,space,pahtLists,axisMaskList,timeLists,isAbsolute)

    effectorLists=["LArm","RArm","Torso"]

    axisMaskLists=[

    almath.AXIS_MASK_VEL,

    almath.AXIS_MASK_VEL,

    almath.AXIS_MASK_ALL

    ]

    timeLists=[

    [[0.0,0.0,0.0,0.0,0.0,0.0]],

    [[0.0,0.0,0.0,0.0,0.0,0.0]],

    [0.0,+dy,0.0,0.0,0.0,0.0],

    [0.0,-dy,0.0,0.0,0.0,0.0],

    [0.0,0.0,0.0,0.0,0.0,0.0]

    ]

    motionProxy.positionInterpolations(effectorList,space,pathList,axisMaskList,timeList,isAbsolute)

    if __name__=="__main__":

    robotIP="127.0.0.1"

    if(sys.argv<1):

    print"usege default ip"

    else:

    robotIP=sys.arv[1]

    main(robotIP)

    感受:

    这些小的程序最不好处理的就是path中的数据了。这些数据是怎么获得的?最大的可能就是在choregraph中3D视图中测试得到,当然还有一种可能就是将choregraph与实体机连接,将机器人置于practice状态,这样操作来获得数据。后者操作性更强,但由于实际原因,用前者的可能性是最大的。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

    时间: 2019-04-26

    展开全文
  • qqbot机器人编程实例(一)

    千次阅读 2018-01-21 19:38:48
    qqbot机器人编程实例(一)写在前面从很早的时候看到别人的群里有能够自动回复的机器人开始,我就在思考这样的功能是如何实现的,那时还没有接触过编程,所以后来也就不了了之。前一段时间我在网上看到了对qqbot这个...

    qqbot机器人编程实例(一)

    写在前面

    从很早的时候看到别人的群里有能够自动回复的机器人开始,我就在思考这样的功能是如何实现的,那时还没有接触过编程,所以后来也就不了了之。

    前一段时间我在网上看到了对qqbot这个库的介绍,兴趣起来以后我就尝试了两下,发现控制我的qq发消息竟然很有趣,所以我就进一步进行探索,想要做出来一个相对来说还算得上是比较有模有样的机器人。

    功能介绍

    到目前为止,大概做出了几个我比较感兴趣的功能,虽然比较丑陋,但总算是实现了。功能大概可以分为以下几个:

    • 整句识别并回复;
    • 字词识别并回复;
    • 学习命令与回复;
    • 天气查询;
    • 签到系统;
    • 积分系统。

    整句识别并回复指的是,假如有个人发了消息A,那么如果A在我们的指令库中,机器人将会对其进行相应的回复。

    字词识别并回复指的是,假如有个人发了消息A,消息A中包含了词语B,那么机器人将会对其回复B的内容。如果A中包含了多个相应词语,那么回复第一个。

    学习命令与回复就是所有人可以通过一个特定的格式往指令库中添加命令。当然,因为防止别人乱搞,我这里设置的是只能够添加“整句识别并回复”的命令。

    天气查询其实就很简单了,通过特定的格式获取想要查询的城市,然后利用爬虫爬取中国天气网上的相应数据,再回复就行。

    签到系统和积分系统联系在一起,每个人每天只能签到一次,并会得到相应的积分,如果多次签到则会扣除定量的积分。

    积分系统目前可以打劫(受一些比较成熟的机器人系统启发),其他的功能还没有开发出来,也不准备继续做了,所以相当于制作了一个雏形。

    相关知识范围

    本次内容最主要的便是qqbot库的用法,这里是qqbot的GitHub,具体的用法我就不再在我这里细讲了。

    相比之我之前做的那个图片识别,用的csv文件来当作数据储存,这一次我新学习到了json存储必要的文件,比之前算是方便了许多。

    其余的应该没有什么了,都是一些比较稀松平常的内容。

    正文开始

    假设诸位已经简单的了解过了qqbot的用法,也就是我们只需要自己定义一个消息回应函数onQQMessage(bot, contact, member, content),然后再其中编写我们想要的功能即可。

    四个参数的意思我直接从GitHub中搬来

    bot     : QQBot 对象,提供 List/SendTo/Stop/Restart 等接口,详见本文档第五节
    contact : QContact 对象,消息的发送者,具有 ctype/qq/uin/nick/mark/card/name 等属性
    member  : QContact 对象,仅当本消息为 群消息或讨论组消息 时有效,代表实际发消息的成员
    content : str 对象,消息内容

    优先级一,检查是否是自己

    对于一个机器人回复,我们首先需要给这个机器人设定读取到信息后的处理的优先级,也就是相应动作的先后顺序。毫无疑问的,我们第一步必须要检测收到的这一条语句content的来源member是谁,如果member是自己的话,那么就不能回应,所以我们可以写以下代码

    def onQQMessage(bot, contact, member, content):
        #优先级一
        '''!-------识别是否是自己的话-------!'''
        if bot.isMe(contact, member):
            print('自己的命令')
        else:
            #其他优先级

    优先级二,检查是否是“主人”的消息

    之所以设定一个主人,是为了能够随时“热关闭”机器人,不需要在命令行关闭。当然,也可以添加其他功能,只需要在这一个优先级内添加即可。所以这一个优先级主要是看“主人是否让机器人继续回复消息”。

    #优先级二
    masterFlag = MasterCommands(bot, contact, member, content)
    if masterFlag == '1':
        #其他优先级

    这一个优先级的内容全部被放在函数内进行,函数返回值为0或者1。如果为0就代表主人将机器人关闭(或者处于关闭状态),机器人不需要回复;如果未1就代表主人将机器人开启(或者处于开启状态),机器人可以进行回复。

    def MasterCommands(bot, contact, member, content):
        '''!-------不反应或者反应-------!'''
        masterFlagFile_name = 'C:\\Users\\vento\\Documents\\QQBotSentence\\MasterFlag.txt'
        if member != None:
            if member.qq == '798***079':
                if content == '闭嘴吧!伊莉雅':
                    bot.SendTo(contact, '好的好的,我闭嘴:(')
                    with open(masterFlagFile_name, 'w') as file_obj:
                        json.dump('0', file_obj)
                        print('已修改为0')
                elif content == '说话吧,伊莉雅':
                    bot.SendTo(contact, '我又能说话啦')
                    with open(masterFlagFile_name, 'w') as file_obj:
                        json.dump('1', file_obj)
                        print('已修改为1')
        with open(masterFlagFile_name) as file_obj:
            flag = json.load(file_obj)
            print('已读取', flag)
        return flag

    因为机器人目前所处与的状态需要在每一次接收到消息的时候进行判定,所以我们将这个状态保存在本地。

    masterFlagFile_name为状态值保存的文件地址(忽略我这混乱的命名规范),如果你的地点不同请务必要要创建一个txt文件,并在其中添加初始状态,并将masterFlagFile_name替换为你的地址

    初始状态为"1",注意一定要加上双引号,因为这个状态值是以字符存储的。

    在上面这一段代码中,我们首先判断member是否为空,也就是说是否是在群里说的话,如果是的话进行下一步。其次判断member的qq号是否为主人的qq号,如果是的话再判断消息是否是关闭(开启)指令,如果是的话就对文件进行相应的修改。

    修改则用json来对文件进行修改,对文件的读操作用json.load,写操作用json.dump。这两个用法从上面的代码就可以看得出来。

    添加与删除指令

    在确定masterFlag==”1”后,我在这里插入了一些关于指令的东西(我当初怎么想的恐怕只有天知道,为什么要在这里加,又懒的换位置怕出bug,所以就干脆这样子吧),主要是三个内容:添加指令,删除指令,字词识别指令库。

    下面的代码中sentence1代表“不可被修改的整句识别指令语料库”,sentence2代表“可被修改的整句识别指令语料库”,otherSenList代表字词识别指令语料库。这三个语料库皆用字典存储,key为指令,value为回复。

    '''!-------添加口令-------!'''
    if 'Command Add' in content:
        CommandAdd(bot, contact, member, content, sentence1)
    
    '''!-------删除口令-------!'''
    if 'Command Delete' in content:
        CommandDelete(bot, contact, member, content, sentence1)
    
    '''!-------字词识别指令字典存储-------!'''
    otherSenList = {'苟':['唱诗班!预备,唱!', '富贵!勿相忘!', '全姓名于乱世!'],
                    '伊莉雅':['叫我干嘛?']}

    添加删除指令有特定的形式,所以我就直接通过寻找这个特殊形式来调用相应的函数。这里我的添加指令的形式为

    Command Add!
    口令&你的口令&
    回复&你的回复内容&
    【如】
    Command Add!
    口令&吃了么&
    回复&吃啦吃啦,可香呢&

    删除的形式与之类似,为

    Command Delete!
    口令&要删除的口令&
    【如】
    Command Delete!
    口令&吃了么&

    之所以搞这么复杂就是防止聊天中稀奇古怪的形式出现,防止出现一些奇怪的bug。不过CommandAdd与CommandDelete这两个函数我做的不是很美观,个人感觉如果用正则表达式去直接匹配字符串,提取出两个&之间的内容可能会更简单一点,但是当初写的时候嫌麻烦,还需要重新学习一下正则,所以就干脆用if做了。

    def CommandAdd(bot, contact, member, content, sentence1):
        '''!-------添加口令-------!'''
        flag = 0
        key = ''
        val = ''
        for item in content:
            if item == '&' and flag == 0:
                flag = 1
                continue
            else: flag
            key = key + item if flag == 1 and item != '&' else key
            TouchFlag = CannotTouch(bot, contact, member, content, key, sentence1)
            if TouchFlag == 1: break
            if item == '&' and flag == 1:
                flag = 2
                continue
            else: flag
            if item == '&' and flag == 2:
                flag = 3
                continue
            else: flag
            val = val + item if flag == 3 and item != '&' else val
            flag = 4 if item == '&' and flag == 3 else flag
            if flag == 4:
                sentence2[key] = val
                bot.SendTo(contact, '添加成功~现在就可以试试啦!',  resendOn1202=False)
                break
        else:
            bot.SendTo(contact, '我好像没有收到正确格式噢', resendOn1202=False)
    
    def CommandDelete(bot, contact, member, content, sentence1):
        '''!-------删除口令-------!'''
        flag = 0
        key = ''
        for item in content:
            if item == '&' and flag == 0:
                flag = 1
                continue
            else: flag
            key = key + item if flag == 1 and item != '&' else key
            TouchFlag = CannotTouch(bot, contact, member, content, key, sentence1)
            if TouchFlag == 1: break
            flag = 2 if item == '&' and flag == 1 else flag
            if flag == 2:
                sentence2.pop(key)
                bot.SendTo(contact, '删除成功~', resendOn1202=False)
                break
        else:
            bot.SendTo(contact, '我好像没有收到正确格式噢', resendOn1202=False)
    

    我这里的做法其实很简单,就是遍历content字符串中所有字符,运用flag来确定当前遇到的&是第几个&,然后分别对key和val进行叠加,并将其保存到整句识别语料库之中。

    我中间还运用了一个CannotTouch函数,指的是不能被修改的指令。毕竟如果所有指令都被别人修改的乱西八糟,那就很没意思了,这就相当于权限的问题。这个函数的实现代码如下

    def CannotTouch(bot, contact, member, content, key, sentence):
        '''!-------不可修改口令禁令-------!'''
        flag = 0
        if sentence.__contains__(key):
            bot.SendTo(contact, '抱歉噢,这个指令不能够被修改的呢~')
            flag = 1
        return flag

    小结

    这一篇就先到这里,下一篇内容就就是开始了积分系统,签到系统,天气检测等(按照我这里设定的优先级划分的),语句识别在我这里是在最后面两个优先级,所以可能会晚一点才会写出来。

    所有代码我都放在github中了,包括还没有写出来博客的内容,有需要可以自己看。

    github地址:https://github.com/HanpuLiang/A-Example-of-qqbot

    如果喜欢的话麻烦关注一下再点个赞或者喜欢噢!

    展开全文
  • 程序(示教法:用示教盒控制机器人运动到不指定具体坐标的规定角度和位置):程序行指令注释1JP[1]100%FINE从其它位置以100%速度任意运动到位置12JP[2]100%FINE从位置1以100%速度任意运动到位置23RO[1]=ON在位置2气缸...

    PS

    1

    2

    7

    1

    为关节关节运动(任意运动)

    2

    3

    3

    4

    4

    5

    5

    6

    6

    7

    为直线运动;

    7

    个位置可以不在同一平面。

    程序(

    示教法:用示教盒控制机器人运动到不指定具体坐标的规定角度和位置

    )

    程序行

    指令

    注释

    1

    J P[1] 100% FINE

    从其它位置以

    100%

    速度任意运动到位置

    1

    2

    J P[2] 100% FINE

    从位置

    1

    100%

    速度任意运动到位置

    2

    3

    RO[1]=ON

    在位置

    2

    气缸松开

    4

    L P[3] 1000mm/sec FINE

    从位置

    2

    1000 mm/sec

    直线运动到位置

    3

    5

    RO[1]=OFF

    在位置

    3

    气缸夹紧

    6

    W

    AIT 1.0 sec

    气缸夹紧后在位置

    3

    等待

    1.0 sec

    7

    L P[4] 2000mm/sec FINE

    从位置

    3

    2000 mm/sec

    直线运动到位置

    4

    8

    L P[5] 2000mm/sec FINE

    从位置

    4

    2000 mm/sec

    直线运动到位置

    5

    9

    L P[6] 1000mm/sec FINE

    从位置

    5

    1000 mm/sec

    直线运动到位置

    6

    10

    RO[1]=ON

    在位置

    6

    气缸松开

    11

    W

    AIT 1.0 sec

    气缸松开后在位置

    6

    等待

    1.0 sec

    12

    L P[7] 2000mm/sec FINE

    从位置

    6

    2000 mm/sec

    直线运动到位置

    7

    13

    RO[1]=OFF

    在位置

    7

    气缸夹紧

    14

    J P[1] 100% FINE

    从位置

    7

    100%

    速度任意运动到位置

    1

    [END]

    程序运行结束

    直线运动

    任意运动

    夹紧后等待

    1

    任意运动

    直线运动

    直线运动

    程序实例:工件搬运

    松开后等待

    1

    展开全文
  • 川崎工业机器人示教 综合命令一 、综合命令示教一 、综合命令...二、 综合命令组成要素参数的设定-插补插补是工业机器人运动方式的控制指令;设定插补类型的方法:A+插补二 、综合命令组成要素参数的设定-速度速度参...

    川崎工业机器人示教 综合命令一 、综合命令示教一 、综合命令示教综合命令示教(又称一体化示教)编程,程序由“综合命令”来编辑。命令要素显示行程序行命令要素参数显示行二、 综合命令的要素综合命令由在机器人的各应用领域(焊接、搬运等应用)需要的命令要素组成。二、 综合命令组成要素参数的设定-插补插补是工业机器人运动方式的控制指令;设定插补类型的方法:A+插补二 、综合命令组成要素参数的设定-速度速度参数用以设定从前一步到当前步骤运动过程需运动速度等级;按示教器“A+速度”键显示如下画面。按数字键,输入速度编号(0-9),按 ? 确定输入的编号。二 、综合命令组成要素参数的设定-精度精度参数用以设定在当前步骤中需要的,到达示教点轴一致状态的精度值;按示教器“A+精度”键显示如下的画面。用数字键,输入精度编号(0-4),按 ? 确定输入的精度编号。二、综合命令组成要素参数的设定-计时计时参数用以设定在当前步骤示教点轴一致后要等待的时间;按示教器“A+计时”键显示如下的画面。按数字键,输入记时器编号(0-9),按 ? 确定输入的计时编号。二 、综合命令组成要素参数的设定-夹紧夹紧参数用以设定示教步骤中轴一致后夹具开合动作;按示教器“A+夹紧1”键,在参数显示行夹紧参数值显示区域的显示变化过程为:夹紧命令编号1→无显示→夹紧命令编号1。三、 课程预告The End!工业机器人综合命令-运动插补指令。前面讲到川崎工业机器人示教的三种类型,分别是综合命令示教、AS语言示教和位置示教。下面我们来学习川崎机器人的综合命令。B区为程序编辑显示区。下面我们来讲解川崎工业机器人综合命令的格式:1.综合命令示教在程序的每一步同时记录各命令要素的参数值。该数据不仅是位置和方向数据(即“位姿”),同时示教各命令要素的参数值的辅助数据或表示要在每步记录的参数的状态“步骤状态”。1.一条综合命令包含的要素包括:插补、速度、精度、计时、工具、夹紧等等;下面我们将介绍综合命令要素参数的设定方法:1.插补 插补是工业机器人运动方式的控制指令,如控制机器人做直线运动需选择直线插补类型,控制机器人做圆弧运动需选择圆弧插补类型等,川崎工业机器人有四种的通用插补类型:各轴、直线、圆弧1、圆弧2;2.要设定从前一步到当前步骤的移动动作的类型时,按 “A + 插补”来设定插补类型(例如直线或各轴)。对于各轴插补模式,在两点间示教的移动速度为秒;对于直线插补模式,在两点间示教的直线移动速度为mm/s。

    展开全文
  • 程序(示教法:用示教盒控制机器人运动到不指定具体坐标的规定角度和位置):程序行指令注释1JP[1]100%FINE从其它位置以100%速度任意运动到位置12JP[2]100%FINE从位置1以100%速度任意运动到位置23RO[1]=ON在位置2气缸...
  • EtherCAT 技术作为所有库卡机器人控制系统中的系统总线。最新的 KR AGILUS 机器人和 LBR iiwa 轻型机器人的紧凑型控制器也是在 EtherCAT 基础上实施的。Beckhoff 基于工业以太网的 EtherCAT因而可以作为整个当前...
  • //本代码 BSP地图 简单 机器人动作控制#include //OGRE主文件#include //输入控制文件#include "ExampleFrameListener.h" //监听类using namespace Ogre; //使用 命名空间Scene
  • python控制nao机器人身体动作实例详解发布时间:2020-10-23 09:18:22来源:脚本之家阅读:89本文实例为大家分享了python控制nao机器人身体动作的具体代码,供大家参考,具体内容如下今天读的代码,顺便写了出来,与...
  • 文末可获取教材配套PPT工业机器人技术与应用作者 屈金星,教材《工业机器人技术与应用》,本教材是全国高等职业教育“十三五”规划教材,配有PPT课件。相关教材书名:工业机器人技术与应用作者:屈金星ISBN:978-7-...
  • 本文实例为大家分享了python控制nao机器人身体动作的具体代码,供大家参考,具体内容如下今天读的代码,顺便写了出来,与文档的对比,差不多。import sysimport motionimport almathimport naoqi from ALProxydef ...
  • (3)焊钳闭合加压时,...(1)每个焊点的焊接周期可大幅度降低,因为焊钳的张开程度是由机器人精确控制的,机器人在点与点之间的移动过程,焊钳就可以开始闭合;而焊完一点后,焊钳一边张开,机器人就可以一边位移,...
  • 机器人控制系统matlab仿真,包括机械手轨迹跟踪迭代学习控制仿真实例,机械手自适应迭代学习控制等
  • ROS机器人实例——PR2

    2021-02-25 03:39:57
    本文于微信,介绍了PR2功能包安装,Gazebo中的PR2,使用PR2实现...在PR2的底部有两台八核电脑作为机器人各硬件的控制和通信中枢,并且都安装了Ubuntu和ROS系统。PR2和ROS有千丝万缕的关系,可以说ROS产生于PR2,也促
  • 本文实例为大家分享了python实现nao机器人手臂动作的具体代码,供大家参考,具体内容如下这些天依然在看nao公司文档的东西,把读过的代码顺手敲了出来。代码依然很简单,但是为什么我要写博客呢?这其中有很大的原因...
  • python控制nao机器人身体动作实例

    千次阅读 2014-03-20 14:38:54
    实例二,控制左右胳膊 #-*-encoding:UTF-8 -*- import sys import motion import almath form naoqi import ALProxy def StiffnessOn(proxy): pName="Body" pStiffnessLists=1.0 pTimeLists=1.0 ...
  • 机器人驱动与控制及其应用案例 黄志坚版本 电子文档PDF&WORD
  • 机器人独立PID控制仿真实例 simulink 主程序 在M文件支持下运行
  • 实例适用于6轴联动机器人的研究与学习,示例的机器人完全实现了6轴联动,示例中机器人速度可以调节【目标点位置可以编辑】,【目标点位置可以编辑】,【目标点位置可以编辑】,重要事情说三遍。本例有源码可供学习...
  • simulink入门2--机器人控制系统仿真

    万次阅读 多人点赞 2019-01-03 20:46:26
    文章目录1. 概述2. 控制律设计3. 收敛性4. 仿真实例步骤1. 仿真概述2. simulink窗口3....详细介绍《机器人控制系统的设计与MATLAB仿真》--刘金琨 编著 的仿真程序Simulink 主程序:chap2_1sim.mdl 的仿...
  • 本书系统地介绍了机器人控制的几种先进设计方法,是作者多年来从事机器人控制系统教学和科研工作的结晶,同时融入了国内外同行近年来所取得的最新成果。 全书以机器人为对象,共分10章,包括先进PID控制、神经网络...
  • 机器人编队控制.pptx

    2019-11-20 10:20:51
    本ppt是用于对多智能体协同控制这门课的应用的探究和具体应用于机器人方面的实例,参考文献:多机器人混合编队控制,北京邮电大学学报,2008
  • 本书系统地介绍了机械手控制的几种先进设计方法,是作者多年来从事机器人控制系统教学和科研工作的结晶,同时融入了国内外同行近年来所取得的最新成果。 本书以机械手的控制为论述对象,共包括10章,分别介绍了先进...
  • 本书系统地介绍了机械手控制的几种先进设计方法,是作者多年来从事机器人控制系统教学和科研工作的结晶,同时融入了国内外同行近年来所取得的最新成果。 本书以机械手的控制为论述对象,共包括10章,分别介绍了先进...
  • 发那科机器人内部控制接线原理图,外部接线原理,外部通讯介绍,IO点配置说明详细文档。
  • 一直角坐标机器人的定义及主要特点机器人按ISO8373定义为:位置可以固定或移动,能够实现自动控制、可重复编程、多功能多用处、末端操作器的位置要在3个或3个以上自由度内可编程的工业自动化设备。这里自由度就是指...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 398
精华内容 159
关键字:

机器人控制实例