赞
踩
国内外做机器人仿真系统的挺多的,除了之前文章介绍的ABB、KUKA和FANUC均有自家产品用于支持自家品牌机器人仿真以外,通用机器人仿真系统无外乎DELMIA Robotics,ROBCAD(现在并入西门子产品线称为PDPS还是Teamcenter啥的)、ROS中支持的仿真系统等。
机器人仿真系统除了需要做到轨迹规划、路径规划以外,随着机器人技术和产业发展,目前更重要的是多系统集成能力,也就要求仿真系统能够支持力传感以及视觉传感等信号的引入。
ABB RobotStudio中已经集成了视觉摄像头和自家的传感器,从长远来看,这给机器人仿真系统带来了新的挑战。如何让工程人员能够通过最简单的编程,实现复杂的算法的引入,从而为工业机器人加上“眼睛”和“手”。
本文着重介绍一款开源机器人动力学仿真软件——V-REP。
虚拟机器人实验平台(Virtual Robot Experiment Platform,V-REP)是一款通用的开源动力学系统仿真平台。V-REP软件由三部分组成:场景物体(Scene Objects)、计算模块(Calculation Modules)和控制机制(Control Mechanisms)。场景物体包括关节、轨迹、三角网格、光源、坐标系、传感器等。计算模块包括运动学正解和逆解(Forward/Inverse Kinematics)、路径规划(Path Planning)、动力学(Dynamics or physics)、碰撞检测(Collision detection)和最小距离计算(Minimum distance calculation)。控制机制包括嵌入式脚本(Embedded Script)、插件(Plugins)、ROS节点(ROS Nodes)、远程API客户端(remote API clients)、附加软件(Add-ons)、定制解决方案(custom solution)。
V-REP软件支持内部控制和外部控制两种,其中内部控制方式通过编写Lua脚本进行控制,而外部控制方式支持C/C++、Python、Java、Lua、Matlab等编程语言,可以通过特定的通讯接口与V-REP主程序进行通讯。
V-REP软件首先需要对场景物体进行建模,然后编写相应的脚本或者外部程序控制场景物体按照期望的方式进行运动,最后执行仿真,V-REP软件即会按照既定的流程执行。
V-REP软件中脚本控制方式如下:每个待仿真的场景都有一个默认的主脚本(Main scipt),其包含了用于控制软件仿真进程的代码。子脚本(Child Scipt)是一种没有数量限制的、用于控制场景物体的脚本。在V-REP软件仿真设计过程中,通常需要设计仿真流程并编写一定数量的子脚本附在相应的场景物体上,从而实现期望的功能。子脚本可以分为非线程子脚本(non-threaded child scripts)和线程子脚本(threaded child scripts)两类。非线程脚本每次被调用时执行然后返回控制信号,其充当函数的功能。线程子脚本是循环执行的,在仿真时机器人能够持续接受外部指令进行动作。V-REP软件中主脚本和子脚本均采用Lua语言,V-REP软件内集成了Lua语言编辑器,因而使其具备二次开发的能力。Lua 语言是一款小巧的脚本语言,能够在所有的操作系统中编译运行,其设计目的就是为了嵌入到应用程序中,为应用程序提供灵活的扩展功能。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。