精华内容
下载资源
问答
  • 本文实例为大家分享了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状态,这样操作来获得数据。后者操作性更强,但由于实际原因,用前者的可能性是最大的。

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

    展开全文
  • 机器人制作实例

    2018-06-24 20:03:00
    我们从广泛意义上理解所谓的智能机器人,它给人的最深刻的印象是一个独特的进行自我控制的“活物”。其实,这个自控“活物”的主要器官并没有像真正的人那样微妙而复杂。 智能机器人具备形形色色的内部信息传感器和...
  • 机器人驱动与控制及其应用案例 黄志坚版本 电子文档PDF&WORD
  • 机器人控制系统的设计与MATLAB仿真》系统地介绍了机械手控制的几种先进设计方法,是作者多年来从事机器人控制系统教学和科研工作的结晶,同时融入了国内外同行近年来所取得的最新成果。本书以机械手的控制为论述...
  • 一、简述 机器人控制系统是一个复杂设计,针对不同功能目标有不同的开发路线,若想开发一个通用的控制系统难度会非常高,因此确定目标需求非常重要,这里所述的目标需求有两种,一种为开发基本的控制系统再根据实际...

    一、简述

    机器人控制系统是一个复杂设计,针对不同功能目标有不同的开发路线,若想开发一个通用的控制系统难度会非常高,因此确定目标需求非常重要,这里所述的目标需求有两种,一种为开发基本的控制系统再根据实际条件进行功能添加开发,另外一种为针对特殊情况开发专门的控制系统。

    目标需求设计好后,根据要求可以搭建简单的框架,对于ROS开发来说,一个好的框架是开发的第一步,也是最重要的一步,值得花费大量的时间和精力,因为后续所有功能开发都建立于框架之上,根据框架去设计功能节点和接口,若后期对框架进行大规模调整会对系统整体产生极大影响,这点需要非常注意。

    二、目标设计

    此处目标为设计一个可实现物体筛选和抓取的机器人控制系统,目标可简单转述为一个基本的机械臂控制系统和一个视觉的添加功能,属于第一种目标需求,具体要求如下:

    2.1 机械臂控制系统

    1. 说明

    目标控制机械臂为常见的六轴构型,需要实现机械臂的运动控制,可分别采用示教模式和工作模式对机械臂进行控制,控制系统需带交互接口和功能接口。

    1. 基本方案设计
    • 运动控制

      MoveIt!为核心,辅以Service-Client通讯结构构建运动控制系统核心部分,实现机械臂的运动控制,轨迹规划等,集成机械臂相关的所有控制算法。

    • 控制接口

      控制接口分为软件接口和硬件接口,软件接口面向功能模块,硬件接口面向硬件。

      软件接口采用ROS的通讯模式实现,硬件接口可采用ros_controlros_industral或者actionlib,通讯协议根据需要可采用串口或者ethercat。

    • 交互接口

      交互接口为人机界面,面向用户,可采用Qt或者rosbridge+WEB实现。

    2.2 视觉功能

    1. 说明

      视觉识别目标为实现特定物体的识别与定位。

    2. 基本方案设计

      相机采用RGBD相机,结合图像数据和点云数据实现物体的识别与定位。

      视觉算法采用OpenCV+TensorFlow+PCL实现,并通过软件接口与机械臂控制系统结合。

    三、构建框架

    因ROS在设计之初考虑到了诸多方面,冗余较大,因此框架可以采用多种方式实现,不一定要按照某一特定方式进行开发。

    3.1 框架参考

    • ROS-Industrial
      在这里插入图片描述
    • Kungfu Arm Architecture
      在这里插入图片描述
    • HRMRP
      在这里插入图片描述
    • ROS-I Interface for COMAU Robots
      在这里插入图片描述

    3.2 框架设计

    在这里插入图片描述

    • 交互模块
      交互部分不采用ROS提供的rqt实现,独立于ROS,改为通过以下两种思路实现:
      • 采用qt开发,在qt中建立ros节点,实现qt界面与ros通讯(此处采用该方式实现)。
      • 开发交互接口,消息通过rosbridge或者其他通讯接口(蓝牙串口等)与GUI界面通讯。
    • ROS
      之后博文详述。
    • 硬件
      硬件通过TCP/IP与控制系统通讯,数据通过硬件接口转换为通用的ROS数据传输到ROS系统中。

    四、工作空间架构

    ├── robot_description 机械臂相关参数描述
    ├── robot_bringup 机械臂启动launch
    ├── robot_control 机械臂控制
    ├── robot_gazebo gazebo配置
    ├── robot_gui 控制界面
    ├── robot_moveit_config moveit配置
    ├── robot_msgs 自定义消息,服务器
    ├── robot_vision 视觉
    ├── robot_driver 机械臂驱动接口
    ├── robot_ikfast_hand_plugin ikfast逆解pkg
    ├── trac_ik_kinematics_plugin trac_ik插件
    └── trac_ik_lib trac_ik逆解pkg
    

    工作空间各包根据其功能可简单细分如下,实际上部分包功能存在重叠,同时部分包的实际上是可以合并,但为了结构更加清晰和后续的维护所以分开。
    上面列出的包为基础框架部分内容,根据需求还会有功能依赖的相关包,如视觉相关的(cv_bridge)和运动规划相关的(descartes)等。

    • 机械臂本体相关

    和机械臂本体相关的关节参数,逆解及moveit配置,这部分可以根据控制对象不同而更换,使控制系统可以控制不同的机械臂。

    robot_description 机械臂相关参数描述
    robot_moveit_config moveit配置
    robot_ikfast_hand_plugin ikfast逆解pkg
    trac_ik_kinematics_plugin trac_ik插件
    trac_ik_lib trac_ik逆解pkg
    
    • 机械臂控制
    robot_control 机械臂控制
    robot_gui 控制界面
    
    • 仿真

    仿真包括两部分,一部分为rviz(rviz实际上不包含物理参数,只作显示)

    robot_gazebo gazebo配置
    
    • 驱动

    相关包有ros_controlROS-I simple_message

    robot_driver 机械臂驱动接口
    
    • 视觉
    robot_vision 视觉
    
    • 辅助
    robot_bringup 机械臂启动launch
    robot_msgs 自定义消息,服务器
    

    参考

    ROS-Industrial

    ROS-I Interface for COMAU Robots

    功夫手:一款基于ROS的工业机器人

    HRMRP机器人的设计

    胡春旭,熊枭,任慰,何顶新. 基于嵌入式系统的室内移动机器人定位与导航[J/OL]. 华中科技大学学报(自然科学版),2013,41(S1):254-257+266. (2014-01-10)[2017-08-15].

    展开全文
  • 发那科机器人内部控制接线原理图,外部接线原理,外部通讯介绍,IO点配置说明详细文档。
  • 本书系统地介绍了机械手控制的几种先进设计方法,是作者多年来从事机器人控制系统教学和科研工作的结晶,同时融入了国内外同行近年来所取得的最新成果。 本书以机械手的控制为论述对象,共包括10章,分别介绍了先进...
  • FANUC机器人程序实例

    千次阅读 2020-06-14 16:24:55
    **FANUC机器人程序实例** PS:1→2、2→3、7→8、8→9、9→10、10→7为圆弧运动; 6→1、3→4、4→5、5→6、6→7、7→6 为直线运动; 先画图1,循环3次,等待3秒,再画图2,轨迹如上图所示。 10个位置在同一平面。...
                                            **FANUC机器人程序实例**
    

    在这里插入图片描述在这里插入图片描述
    PS:1→2、2→3、7→8、8→9、9→10、10→7为圆弧运动;
    6→1、3→4、4→5、5→6、6→7、7→6 为直线运动;
    先画图1,循环3次,等待3秒,再画图2,轨迹如上图所示。
    10个位置在同一平面。
    程序(位置寄存器法:建立坐标系,指定位置具体坐标):

    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述Call test1:调用程序test1

                      **扫一扫下方二维码。下载《中国机器人网》APP获取更多资源**
    

    在这里插入图片描述

    展开全文
  • 西门子PLC与安川工业机器人的I_O控制实例.pdf
  • 焊接机器人控制系统原理分析

    千次阅读 2017-01-21 15:11:54
    焊接机器人控制系统原理及应用分析焊接是工业生产中非常重要的加工方式,同时由于焊接烟尘、弧光和金属飞溅的存在,焊接的工作环境非常恶劣,随着人工成本的逐步提升,以及人们对焊接质量的精益求精,焊接机器人得到...

    焊接机器人控制系统原理及应用分析

    焊接是工业生产中非常重要的加工方式,同时由于焊接烟尘、弧光和金属飞溅的存在,焊接的工作环境非常恶劣,随着人工成本的逐步提升,以及人们对焊接质量的精益求精,焊接机器人得到了越来越广泛的应用。

      机器人在焊装生产线中运用的特点

      焊接机器人在高质、高效的焊接生产中发挥了极其重要的作用,其主要特点如下:

      1.性能稳定、焊接质量稳定,保证其均一性

      焊接参数如焊接电流、电压、焊接速度及焊接干伸长度等对焊接结果起决定性作用。人工焊接时,焊接速度、干伸长等都是变化的,很难做到质量的均一性;采用机器人焊接,每条焊缝的焊接参数都是恒定的,焊缝质量受人为因素影响较小,降低了对工人操作技术的要求,焊接质量非常稳定。

      2.改善了工人的劳动条件

      采用机器人焊接后,工人只需要装卸工件,远离了焊接弧光、烟雾和飞溅等;点焊时,工人不再需要搬运笨重的手工焊钳,从大强度的体力劳动中解脱出来。

      3.提高劳动生产率

      机器人可一天24h连续生产,随着高速、高效焊接技术的应用,使用机器人焊接,效率提高地更加明显。

      4.产品周期明确,容易控制产品产量

      机器人的生产节拍是固定的,因此安排生产计划非常明确。

      5.可缩短产品改型换代的周期,降低相应的设备投资

      可实现小批量产品的焊接自动化。机器人与专机的最大区别就是它可以通过修改程序以适应不同工件的生产。

      一、FANUC控制系统概述

      FANUC机器人主要应用在奇瑞公司乘用车一厂和乘用车三厂的焊装车间,是奇瑞最早引进的焊接机器人,也是奇瑞公司最先用到具有附加轴的焊接机器人。

      其控制系统采用32位CPU控制,以提高机器人运动插补运算和坐标变换的运算速度。采用64位数字伺服驱动单元,同步控制6轴运动,运动精度大大提高,最多可控制到21轴,进一步改善了机器人动态特性。支持离线编程技术,技术人员可通过离线编程软件设置参数,优化机器人运动程序。控制器内部结构相对集成化,这种集成方式具有结构简单、整机价格便宜、易维护保养等特点。


    图1 控制原理图

    二、FANUC控制系统内部结构分析

      控制器是机器人的核心部分,实现对机器人的动作操作、信号通讯、状态监控等功能。下面以FANUC—F-200iB为例,对其控制系统内部结构和各部分的功能进行分析:

      1)电源供给单元

      变压器向电源分配单元输入230V交流电,通过该单元的系统电源分配功能对控制箱内部各工作板卡输出210V交流电及±15V、+24V直流电。

      2)安全保护回路

      由变压器直接向急停单元供电,并接入内部各控制板卡形成保护回路,对整个系统进行电路保护。

      3)伺服放大器

      不仅提供伺服电机驱动和抱闸电源,并且与绝对值编码器实现实时数据转换,与主控机间采用光纤传输数据,进行实时信号循环反馈。

      4)输入/输出模块

      标配为ModuleA/B,另外也可通过在扩展槽安装Profibus板、过程控制板与PLC及外围设备进行通讯。

      5)主控单元

      整个控制系统的中枢部分,包括主板、CPU、FROM/SRAM组件及伺服卡,负责控制器内部及外围设备的信号处理和交换。

      6)急停电路板

      用来对紧急停止系统、伺服放大器的电磁接触器以及预备充电进行控制。

      7)示教器

      包括机器人编程在内的所有操作都能由该设备完成,控制器状态和数据都显示在示教盒的显示器上。

      控制内部结构

      图2 控制内部结构

      三、 故障案例分析

      机器人控制器断电检修后,对控制器送电,机器人报伺服故障,故障代码为SERVO-062。对此故障进行复位:按MENUS→SYSTEM→F1,[TYPE]→找 master/cal→F3,RES_PCA →F4,YES 后,机器人仍然报伺服故障。

      1、故障分析和检查:故障代码SERVO-062的解释为SERVO2 BZAL alarm(Group:%d Axis:%d),故障可能原因分析如下:

      1) 机器人编码器上数据存储的电池无电或者已经损坏:拆卸编码器脉冲数据存储的电池安装盒,电池盒内装有4节普通1.5V的1号干电池,对每节电池的电压进行测量,均在1.4V以下,电池电压明显偏低,于是更换新电池,再次对故障进行复位,机器人仍然报SERVO-062故障。

      2) 控制器内伺服放大器控制板坏:检查伺服放大器LED“D7”上方的2个DC链路电压检测螺丝,确认DC链路电压。如果检测到的DC链路电压高于50V,就可判断伺服放大器控制板处于异常状态。实际检测发现DC链路电压低于50V,所以初步判断伺服放大器控制板处于正常状态。 进一步对伺服放大器控制板上P5V、P3.3V、SVEMG、OPEN的LED颜色进行观察,确认电源电压输出正常,没有外部紧急停止信号输入,与机器人主板通讯也正常,排除伺服放大器控制板损坏。

      3) 线路损坏:对机器人控制器与机器人本体的外部电缆连线RM1、RP1进行检查,RM1为机器人伺服电机电源、抱闸控制线,RP1为机器人伺服电机编码器信号以及控制电源线路、末端执行器线路、编码器上数据存储的电池线路等线路。拔掉插头RP1,对端子5、6、18 用万用表测量+5V、+24V控制电源均正常。接下来对编码器上数据存储的电池线路进行检查。机器人每个轴的伺服电机脉冲编码器控制端由1-10个端子组成,端子8、9、10为+5V电源,端子4、7为数据保持电池电源,端子5、6为反馈信号,端子3为接地,端子1、2空。拔掉M1电机的脉冲控制插头 M1P,万用表测量端子4、7,电压为0,同样的方法检查M2~M7电机全部为0,由此可以判断编码器上数据存储的电池线路损坏。顺着线路,发现正负电源双绞线的一端插头长期埋在积水中,线路已腐蚀严重。

      2、故障处理:更换线路后复位,对机器人进行全轴零点复归“ZERO POSITION MASTER”,导入备份程序后恢复正常,故障排除。

      结论

      做为日系机器人的主要品牌之一,其在控制原理上与其它品牌机器人大致相同,但其控制部分组成结构有着自己的风格,体现亚洲人的使用习惯,比较适合国内使用。我国焊接机器人技术的研究应用虽然较晚,但借鉴于国外的成熟技术,得到了迅速的发展。09年我公司与哈工大合作开发的奇哈机器人诞生,似乎看到了企业与科研合作的力量,觉得当企业进入的时候,特别是这种应用型企业开始参与设备的研究的时候,门就慢慢打开了。但焊接机器人是个机电一体化的高技术产品,单靠企业的自身能力是不够的,需要政府对机器人生产企业及使用国产机器人系统的企业给予一定的政策和资金支持,加速我国国产机器人的发展。


    展开全文
  • 这个工业机器人能够执行路径规划算法,找到任意两个点之间的最佳路径,并用控制器调整各转动关节的运动。 使用内置模型: 访问并研究内置范例模型并用作基础构造块。 自动三维动画: 根据模型的布局自动创建动画。 ...
  • 机器人是什么? 机器人是如何工作的? 自动化专业学生对机器 人要掌握哪些内容?
  • 【干货】ABB机器人编程实例

    千次阅读 2020-12-31 07:12:26
    15如图,假设机器人要运动这样一段轨迹,从P10点至P110点,X方向上每点之间的间隔一样,10个单位;每点在Y方向上的高度也一致,50个单位。试编写ABB机器人程序。第一种方法:用MoveJ、MoveL指令分别示教这些点位第二...
  • 本书记载了针对 YAMAHA 机器人控制器 RCX340 的机器人程序命令等的说明。 使用本 YAMAHA 控制器时,请在阅读本书及相关使用说明书并充分注意安全的前提下正确使用本 产品。
  • 关于机器人控制系统的设计以及如何在matlab仿真的实例
  • 罗克韦尔-机器人控制应用案例手册pdf,
  • 机器人编队控制.pptx

    2019-11-20 10:20:51
    本ppt是用于对多智能体协同控制这门课的应用的探究和具体应用于机器人方面的实例,参考文献:多机器人混合编队控制,北京邮电大学学报,2008
  • 考虑了用于工业机器人的语音控制的各种模型:逻辑模型,语义网络,框架模型和Petri网。 结果表明,这组模型可以描述工业机器人技术过程的设计过程。 工艺流程的逻辑模型使您可以定义逻辑关系。 基于语义网络的模型...
  • 本书系统地介绍了机械手控制的几种先进设计方法,是作者多年来从事机器人控制系统教学和科研工作的结晶,同时融入了国内外同行近年来所取得的最新成果。 本书以机械手的控制为论述对象,共包括10章,分别介绍了先进...
  • #资源达人分享计划#
  • ROS机器人实例——PR2

    2021-02-25 03:39:57
    本文于微信,介绍了PR2功能包安装,Gazebo中的PR2,使用PR2实现...在PR2的底部有两台八核电脑作为机器人各硬件的控制和通信中枢,并且都安装了Ubuntu和ROS系统。PR2和ROS有千丝万缕的关系,可以说ROS产生于PR2,也促
  • 而且同一机器人往往需用多个CPU来实现各自的功能,但随着对机器人的智能化要求越来越高,需要一种新的控制器(使用一个处理器)来满足机器人的各种行为要求,例如视频采集、无线通信。本文介绍的利用ARM实现的智能...
  • simulink入门2--机器人控制系统仿真

    万次阅读 多人点赞 2019-01-03 20:46:26
    文章目录1. 概述2. 控制律设计3. 收敛性4. 仿真实例步骤1. 仿真概述2. simulink窗口3....详细介绍《机器人控制系统的设计与MATLAB仿真》--刘金琨 编著 的仿真程序Simulink 主程序:chap2_1sim.mdl 的仿...
  • 工业机器人控制策略探讨pdf,工业机器人控制策略探讨
  • 结合最新的机器人控制技术,使用3D场景模拟机器人的动作轨迹。本例旨在模拟机器人运动控制的内在机制。温馨提示:学习本例需要一定的数学基础。没有基础也没关系,示例中给出了较为详尽的解释。想要直接查看示例效果...
  • 机器人视觉与控制 第二版 目录部分 Robotics, Vision and Control: Fundamental Algorith 机器人学、机器视觉与控制―...作者有完备的代码可下载,用于验证书中知识点和实例,注重如何利用视觉信息控制机器人的运动。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,614
精华内容 6,245
关键字:

机器人控制实例