1.关节有两个坐标系一个固定,一个会根据关节的变化而变化

2.关节模式

Passive mode被动模式:关节不直接被控制,与固定连杆类似,可以通过API函数改变其位姿;
Inverse kinematics mode逆运动学模式:平时表现和被动模式相同,可以用来逆运动学求解和几何约束求解;如下图的逆运动学实现

Dependent mode依赖模式:在这种模式下,关节位置通过线性方程直接连接(依赖)到另一关节位置。
Motion mode运动模式:这种模式被弃用,也就是不应该再使用。可以使用被动模式和适当更新关节的子脚本来获得类似和更灵活的行为。
Torque or force mode转矩或力模式:在这种模式下,关节是由动力学模拟的。当动态启用时,关节可以自由运动或力/力矩、速度或位置控制。螺旋关节能在扭矩或力模式下操作(但是,通过编程连接旋转和棱柱关节可以获得类似的行为),而球形接头只能在扭矩或力模式下自由。
只有在这个模式下才能设置动力学属性:

a.当关节电机(motor)被禁用时,关节是自由关节,只受其极限的限制。
b.当关节电机被启用并且控制(control)被禁用时,关节将尝试达到所期望的目标速度,给定其能够传递的最大转矩/力。当最大扭矩/力非常高时,目标速度立即达到,并且关节在速度控制中操作,否则它以指定的扭矩/力操作,直到达到所需的目标速度(扭矩/力控制)。
c.3种控制模式
Custom control自定义控件:在按钮后面用脚本写算法控制
PID位置控制:PID控制器

Spring-damper mode弹簧阻尼控制: 通过力/力矩调制,关节将类似弹簧阻尼器系统。

注意:当关节处于被动模式、逆运动学模式或依赖模式时,也可以以混合方式操作:混合操作允许关节以规则的方式操作,在动力学计算中,关节将被处理为位置控制中的电机。
选模式的方法
写脚本来控制可以用被动模式,力矩模式(动力学环境),混合模式(hybrid),逆运动学用逆运动学模式,与其他关节相关联用依赖模式。*
3.关节控制
力矩模式和非力矩模式的区别在于:在力/力矩模式下操作的关节将由物理引擎处理。物理引擎默认的计算步骤比simulation loop高出10倍:simulation loop运行在20Hz,而物理引擎运行在200赫兹。如果需要,完全可以配置默认行为。
loose和precise控制:a loose joint controller will not be able to provide new control values in each possible regulation step,但是控制仍然是可行的。(线程脚本和仿真循环不同步)
注意看一下代码:
非力矩模式:

力矩模式的两种情况:
The joint’s motor is enabled, but the control loop is disabled:为了通过外部程序precise控制。也可以用来在力矩模式下松散控制和速度控制,
The joint’s motor is enabled, and the control loop is enabled:当你的关节需要作为弹簧/阻尼器,或者如果你想在vrep中prcise控制你的关节,或者如果你想从外部的应用中loose控制关节的位置时,使用这种模式。
举例:通过matlab控制,the control loop is disabled,实现precise控制

If your joint’s motor is enabled, but the control loop is disabled:

物理引擎会提供最大的力矩,关节会快速达到目标速度。或者力矩不够目标速度永远达不到。
编程实现:You can programmatically adjust the target velocity with simSetJointTargetVelocity (or for example, in case of the remote API, simxSetJointTargetVelocity), and the maximum force/torque with simSetJointForce (or for example, in case of the remote API, simxSetJointForce).
在编写一个精确的关节控制时,你应该非常小心,从一个子脚本中,以一个力/力矩模式来连接关节,原因如下:
默认情况下,仿真循环以50ms的时间步长(模拟时间)运行。但是物理引擎将以5ms的时间步长运行,即10倍以上。在每个模拟步骤中调用子脚本,但在每个物理引擎计算步骤中都不调用子脚本。这意味着,如果你从一个子脚本控制一个关节,你将只能为10个物理引擎计算步骤提供一个新的控制值:你将丢失9个步骤。克服这一问题的一种方法是改变默认的模拟设置并指定5ms的模拟时间步长,而不是50ms。这很好,但请记住,所有其他计算(例如视觉传感器、接近传感器、距离计算、IK等)也将运行10倍以上。通常,并最终减慢您的模拟(大多数时候,您不需要对其他计算模块具有如此高的刷新率)。但是物理引擎需要这么高的刷新率。另一个更好的选择是启用您的关节的控制循环,并在一个联合控制回调脚本中处理它的控制,这将被进一步解释。
同步问题的方法:
remote API synchronous mode operates exactly

If your joint’s motor is enabled, and the control loop is also enabled:

operate in position control (i.e. PID control), in a spring/damper mode, or in custom control 三种模式,注意同步问题。
4.实验截图:
If your joint’s motor is enabled, but the control loop is disabled:

If your joint’s motor is enabled, and the control loop is also enabled

passive mode 选择hybrid和不选择hyprid的差别:


散架
5.其他
不选周期cyclic会持续运动(没有角度限制)

Screw pitch 螺距(针对螺旋关节)
Position minimum位置最小值:非循环旋转接头、螺钉或棱柱形接头的最小允许值。
Position range位置范围:非循环旋转接头、螺钉或棱柱接头的变化范围。在位置最小和位置最小+位置范围之间限制这样的关节的位置。
Position:默认位置的旋转角度,初始位姿用这个调整。
IK calculation weight:关节在反向运动学计算中的重量。具有较小重量的关节将具有相对较小的位置变化。置为1.00即可。
Maximum step size最大步长:运动学计算一次,允许的最大位置变化。较小的步长通常会导致较长的计算,但可以更稳定。对于逆运动学计算,这个值可以在逆运动学对话框中被忽略。通常不改变。

Joint dynamics properties

Target velocity:关节目标速度,力矩越大达到越快。

Lock motor when target velocity is zero锁定目标速度为0: control loop is disabled,速度控制时使用。
Upper velocity limit:转速上限,可以默认

V-REP教程(一)Joint相关推荐

  1. XIII Open Cup named after E.V. Pankratiev. GP of Ukraine

    A. Automaton 后缀自动机可以得到$O(2n+1)$个状态,但是后缀自动机会拒绝接收所有不是$S$的子串的串,所以在建立后缀自动机的时候不复制节点即可得到$n+1$个状态的DFA. #inc ...

  2. python - BeautifulSoup教程

    BeautifulSoup BeautifulSoup将网页元素的正则化查找简单化. from bs4 import BeautifulSouphtml_doc = """ ...

  3. WIN10安装Hyper V

    WIN10安装Hyper V 正常情况: Hyper-V是微软提出的一种系统管理程序虚拟化技术,能够实现桌面虚拟化. 正常情况下直接在控制面版->程序->程序和功能->启用和关闭Wi ...

  4. 爬虫之requests+BeautifulSoup详解

    简介 Python标准库中提供了:urllib.urllib2.httplib等模块以供Http请求,但是,它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作,甚至包括各种 ...

  5. BZOJ1922: [Sdoi2010]大陆争霸

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1922 带限制最短路. 每个点真正的dis是max(dis[i],dis[v]),v是其保护点. ...

  6. 解题报告(三)多项式求值与插值(拉格朗日插值)(ACM / OI)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  7. 树形DP——Codeforces Choosing Capital for Treeland

    http://codeforces.com/problemset/problem/219/D 题意:给一个n节点的有向无环图,要找一个这样的点:该点到其它n-1要逆转的道路最少,(边<u,v&g ...

  8. hdu6165 缩点,dfs

    hdu6165    FFF at Valentine 题意:给出一个有向图,问任意两个点 a.b,是否可以从a到b,或者从b到a. tags:主要是题意有点绕.. 只要 tarjan 缩点成 DAG ...

  9. 3张硬纸板DIY《节奏光剑》全身追踪器,免费开源可替代淘宝3000元套件

    博雯 发自 凹非寺 量子位 报道 | 公众号 QbitAI 安上3张硬纸板后,不忍直视的壮汉撒娇立马对味儿了: 没错,就是这样平平无奇的纸板: 这样一个看上去分分钟就能DIY出来的纸板,居然能用来捕捉 ...

  10. Wannafly挑战赛22

    B. 字符路径 给一个含n个点m条边的有向无环图(允许重边,点用1到n的整数表示),每条边上有一个字符,问图上有几条路径满足路径上经过的边上的字符组成的的字符串去掉空格后以大写字母开头,句号 '.' ...

最新文章

  1. php中的全局变量$_POST收集表单数据
  2. CF587F Duff is Mad
  3. pku3661 Running
  4. 微软成功测试氢燃料电池,为数据中心连续供电 48 小时
  5. object-c 1
  6. php查询每天的数据进行汇总,关于php:如何在一年内每天只使用一个查询来获取数据?...
  7. HTTP 协议的前世今生
  8. 两者相差百分比怎么算_相差200元!小米11和iQOO 7谁更值得买?说说真实想法
  9. 美国银行将AI应用于企业应收账款处理
  10. 王者荣耀服务器维护啥时候结束,王者荣耀维护几点结束今天?11月10日维护公告...
  11. 正向代理和反向代理有和区别
  12. vscode的IntelliCode扩展报错
  13. 计算机原理与编程设计,最优化计算机原理与算法程序设计
  14. 在Virtual Machine上运行Hello China的方法和工具
  15. 【超强教程】MapGIS如何入门及体验?
  16. 个人运营app需要多少钱【费用】
  17. 二维正态分布matlab程序,一维正态分布、二维正态分布的matlab实现
  18. CentOS离线 + 在线安装telnet(rpm包安装)
  19. Linux 添加开机启动项的三种方法
  20. matlab 更换坐标轴_matlab怎么调整坐标轴范围-Matlab修改坐标轴标注范围的方法 - 河东软件园...

热门文章

  1. 相当经典的笑话,超级搞笑!(转贴)
  2. python dict
  3. 单纤光纤收发器a与b怎么放?如何使用光纤收发器的AB端?
  4. oracle主键重复报错,【诺达手札】关于Oracle 的常用命令大全
  5. MySQL5.7版本修改了my.ini配置文件后mysql服务无法启动问题
  6. 走向通用人工智能的【生命学哲学科学】——生命、意识、五行、易经、量子
  7. 修改主服务器地址,mysql修改主服务器地址
  8. Linux那些事儿之我是U盘(49)跟着感觉走(一)
  9. 在线考试系统需要解决的主要问题有哪些
  10. 【面试】2021后端面试题