zoukankan      html  css  js  c++  java
  • 3.VREP简介

    1. VREP简介

    VREP已改名为CoppeliaSim,但是功能并没有变化。CoppeliaSim有三种证书CoppeliaSim Player、CoppeliaSim Edu、CoppeliaSim Pro。

    VREP是一款支持机器人运动学及动力学仿真的软件。该软件采用分布式控制架构,场景中每个对象都可以通过嵌入式脚本、插件、ROS节点、BluezZero节点、API客户端控制。所以它不仅可以用于机器人原型机的开发及算法验证,也可以应用于多机器人协作场景。VREP还可以用于硬件控制,让仿真场景与实物相互交互。

    VREP支持的API客户端包含C/C++、Python、MATLAB、Java、Octave或者Urbi。VREP场景中的对象的嵌入式脚本采用Lua编写。VREP还支持在Windows、MasOS、Linux中使用。

    VREP官网中给出的所有支持的功能。

    ·  跨平台 (Windows、MacOS、Linux)

    ·  六种编程方法 (嵌入式脚本插件附加组件ROS节点远程客户端应用编程接口BlueZero节点)

    ·  6种编程语言 (C/C++PythonJavaLuaMatlab、和Octave)

    ·  超过400种不同的应用编程接口函数

    ·  4个物理引擎 (ODEBulletVortexNewton)

    ·  Integrated ray-tracer (POV-Ray)

    ·  完整的运动学解算器 (对于任何机构的逆运动学和正运动学)

    ·  Mesh, OC tree, point cloud-网孔干扰检测

    ·  Mesh, OC tree, point cloud-网孔最短距离计算

    ·  路径规划 (在2到6维中的完整约束、对于车式车辆的非完整约束)

    ·  嵌入图像处理的视觉传感器 (完全可拓展)

    ·  现实的接近传感器 (在检测区域中的最短距离计算)

    ·  嵌入式的定制用户接口、包括编辑器

    ·  完全集成的第四类Reflexxes运动库 + RRS-1 interface specifications

    ·  数据记录与可视化 (时距图、X/Y图或三维曲线)

    ·  整合图形编辑模式

    ·  支持水/气体喷射的动态颗粒仿真

    ·  带有拖放功能的模型浏览器 (在仿真中依旧可行)

    ·  多层 取消/重做、影像记录、油漆的仿真、详尽的文档等

    关键词: 机器人机器人学、仿真器、仿真、运动学、动力学、路径规划、最短距离计算、碰撞检测、视觉传感器图像处理接近传感器、油漆分散仿真.

       

      1. 基本元素

    VREP中的场景是机器人仿真时所在的环境,一切仿真过程都在场景中发生。采用不同的物理引擎时,场景中的重力、摩擦力、空气等都会发生变化。对象包含相机、光线、几何体、关节、图像、各类传感器、路径、OC树以及点云。由这些对象就能够组合出所需的机器人外形,若是对机器人的外形不满意,还可以采用三维建模软件绘制再将其存为STL文件,之后再导入至VREP中使用。

    1.1.1 场景(scene)

    场景如下图两部分组成。标1部分作为场景中的资源管理窗口,添加一个对象至标2中,同样会在左侧添加对象的名称类型等信息,供后续操作。右侧标2部分作为仿真时的视觉场景,可供研究人员操作和观察。

    图1   VREP场景

                                                                                 

           场景中的UR5机械臂资源树如下图。根据各对象的依附关系,可整理成树形结构。UR5资源树中可以看到存在关节、几何体、dummy和传感器。这些资源放置的位置存在约束。关节和关节不能直接相连,需要在两者之间加入一个几何体,一般为了外形好看会加入两个几何体,其中一个作为连接体,将其动力学属性激活;另外一个仅仅作为外观显示,将其动力学属性关闭。在对象的可以添加嵌入式脚本<分为线程和非线程:多机器人协作时采用多线程运行>。

    图2  UR5资源树

     

    1.1.2 对象(object)

    对象包含相机、光线、几何体、关节、图像、各类传感器、路径、OC树以及点云。采用这些对象可以组合出符合预期的机器人。例如六足机器人。

    其资源树如下图所示。

     

    图4  六足机器人资源树

     

    在资源树中可以看到,六个腿分别采用六个子资源树构成。一条腿包含三个旋转关节,每一条腿的结构一样,区别在放置的位置不同。图中六条箭头红线表示IK group的连接位置。每条腿的逆运动学求解采用VREP自带的逆运动学解算器完成。当然,也可以自己编写代码求解单条腿逆运动学。

     

    图5  六足机器人俯视图

     

    在六足机器人的上平台上添加如视觉传感器,可为机器人的路径规划于路径导航提供相关数据。

     

    图6  六足机器人视觉图

     

     

    图7  六足机器人目标追踪场景
  • 相关阅读:
    (引)spring学习笔记1.什么是控制反转
    Arduino 各种模块篇 步进电机 step motor 舵机 servo 直流电机 总复习
    Raspberry Pi Wireless Adaptor
    Pyramid 使用总结1
    Arduino 各种模块篇 人体红外感应模块 proximity sensor
    Pyramid 使用总结2
    Webcam Streaming Desktop Recording on Linux for ubuntu or its destros
    Arduino 各种模块篇 步进电机 step motor( 不用库,不用shield, 纯)
    Arduino 各种模块篇 motor shield 电机扩展板(舵机、直流电机、步进电机party)
    转载 stepper motors
  • 原文地址:https://www.cnblogs.com/deciduousmap/p/14159830.html
Copyright © 2011-2022 走看看