Mujoco的关节与外力和驱动器

2023-05-16

核心公式:M*qacc + qfrc_bias = qfrc_applied + ctrl

M:惯性矩阵
qacc:加速度
qfrc_bias :科里奥利矩阵和重力矩阵之和:qfrc_bias =C+G
qfrc_applied :广义力
ctrl:其他控制输入,可以是电机扭矩


1 关节与 motor教程

MuJoCo Lec3 - Controlling a one-link pendulum (Spring 2022)-JNgO


Mujoco的auctor有4种模式:

1 motor 模式:This element creates a direct-drive actuator

这种模式,看起来像是直接输出扭矩的模式。
如果我们用这种模式,设定一个值,auctor会将这个值映射成一个力,一直作用于关节
这种模式下,简单的pd实现:


	<actuator>
		<motor joint="pin" name="torque" gear="1" ctrllimited="true" ctrlrange="-100 100" />
		<position name="position_servo" joint="pin" kp="10" />
		<velocity name="velocity_servo" joint="pin" kv="0" />
	</actuator>
.......


 int actuator_no = 0;
m->actuator_gainprm[10*actuator_no+0] = 1;
d->ctrl[0] = -10*(d->qpos[0]-0)-1*d->qvel[0];//PD control

2位置模式:直接让驱动器转动到指定位置

This element creates a position servo.
但是注意了,auctor最后的位置不一定是你要的,因为会有稳态误差,所以官方建议是跟速度模式一起使用

3速度模式

4肌肉模式


根据视频教程,1需要单独使用,2,3模式好像可以组合起来用


gainprm: real(10), “1 0 … 0”
Gain parameters. The built-in gain types (except for muscle) use only the first parameter, but we provide additional parameters in case user callbacks implement a more elaborate model. The length of this array is not enforced by the parser, so the user can enter as many parameters as needed. These defaults are not compatible with muscle actuators; see muscle below.

这个参数存放在mjMode->actuator_gainprm
motor, pos servo,vel servo都可以设置增益系数,增益系数
是10x1,但只用到第一个,就是xml里的kp,kv,其他的留给用户扩展使用
比如我们要访问pos servo的增益系数,假设pos servo在xml的声明顺序是第2个,则它的下标是1:
int no = 1;
//no*10表示找到这个auctor对应的开始,+1表示设置pos的增益系数
m->actuator_gainprm[no*10+1]这个就是访问pos的增益系数


biasprm: real(10), “0 … 0”
Bias parameters. The affine bias type uses three parameters. The length of this array is not enforced by the parser, so the user can enter as many parameters as needed. These defaults are not compatible with muscle actuators; see muscle below.



2 关节与外力

MuJoCo Lec4 二阶单摆的建模和控制

外力讲解笔记

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mujoco的关节与外力和驱动器 的相关文章

  • 生日悖论的Python实现

    题目 xff1a 如果你的班级中有23个学生 xff0c 那么其中有两个人生日相同的概率为多大 xff1f usr bin env python coding 61 utf 8 import random def has duplicate
  • 二分法查找的Python实现

    代码如下 xff1a usr bin env python coding 61 utf 8 def BinarySearch t x t sort 对列表进行排序 xff0c 列表是有序的 xff0c 是二分法的前提 low 61 0 hi
  • Python中bisect模块用法,及实现方式

    bisect用法 import bisect bisect bisect left t x 在T列表中查找x xff0c 若存在 xff0c 返回x左侧位置 bisect bisect right t x bisect insort lef
  • c++实验六总结(自用)

    实验目的 掌握派生类的声明方法和派生类构造函数的定义方法 掌握不同方式下 xff0c 构造函数与析构函数的执行顺序与构造规则 程序如下 xff1a include lt iostream gt include lt string gt us
  • 光网络知识

    一 WDM网络体系结构注意点 1 波长复用 2 波长转换 3 透明性 4 电路交换 5 生存性 xff1a 当网络出现故障时 xff0c 光路能够自动路由到另一条备份路径上 xff0c 为网络提供了高度的弹性 6 光路拓扑 二 波分复用网络
  • docker镜像更新后 如何正确更新对应的容器 避免数据丢失

    容器的更新大致分为以下两种方法 1 容器并未存储任何应用程序的数据 在这种情况下 您可以在任何时候使用它的更新版本替换APP容器 方法是执行如下所示 span class token function docker span pull my
  • netconn_accept返回值为0,OSQCreate出错 lwip uocsii

    我是在main中有创建信号量的函数 led event 61 OSQCreate amp led q 0 MSGSIZE 这个因为配置中信号量上限较小 而在sys arch c中有一个创建消息邮箱的函数 err t sys mbox new
  • 零基础自学STM32-复习篇2——使用结构体封装GPIO寄存器

    我们首先要了解寄存器的一个特点 xff0c 他不是只针对一个外设 xff0c 而是所有的外设都 就拿GPIO的CRL xff0c ODR寄存器来说 对于GPIOA GPI xff2f E都有一组功能相同的寄存器只是地址不一样而已 xff21
  • 写给小白:使用GitHub来托管论文吧

    使用GitHub来托管论文吧 摘要 xff1a 写给小白 对于非计算机专业的小伙伴 xff0c 可能很少接触到GitHub吧 xff0c 但GitHub真心好用 xff0c 虽然我们不会用它来进行 托管代码 xff0c 但是可以用来托管论文
  • 【软件安装】ElasticSearch在Linux系统中的安装

    0 安装JDK xff0c 并配置环境变量 ElasticSearch依赖Java环境 xff0c 先在服务器上安装好JDK xff0c 并配置好JAVA HOME环境变量 1 从官网下载ElasticSearch压缩包到本地 cd usr
  • Python爬取淘宝商品数据,价值千元的爬虫外包项目

    前言 本文的文字及图片来源于网络 仅供学习 交流使用 不具有任何商业用途 如有问题请及时联系我们以作处理 PS xff1a 如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 完整代码可以点击下方链接获取 python免费学习资
  • argparse简介

    一 argparse简介 argparse 模块是 Python 内置的用于命令项选项与参数解析的模块 xff0c argparse 模块可以让人轻松编写用户友好的命令行接口 xff0c 能够帮助程序员为模型定义参数 argparse定义四
  • Ubuntu22.04安装、配置、美化、软件安装、配置开发环境

    Ubuntu22 04安装 配置 美化 软件安装 配置开发环境 一 Ubuntu Windows11 xff08 10 xff09 双系统安装 因为ubuntu的安装网上的教程特别多了 xff0c 所以这里不做赘述 xff0c 推荐使用小破
  • 直观理解uCOSII中的信号量的作用、优先级翻转现象、互斥信号量对优先级翻转现象的作用

    信号量的作用 优先级翻转现象 uCOS中的特殊信号量 互斥信号量 本文作为一个学习uCOS的经验分享 xff0c 希望能给初学小白们一个参考 以例程和运行效果来说明 xff0c 对一些概念性的东西这里不做过多解释 xff0c 网上相关文章多
  • C语言实现ftp客户端

    在VS2010新建win32控制台空项目 xff0c 加入下面代码 xff1a ftplib h xff1a ftplib h header file for callable ftp access routines Copyright C
  • 查看opencv文件所在目录方式

    查看opencv文件所在目录方式
  • CMake学习(二) —— 链接库的生成

    除使用 add executable 生成可执行文件外 xff0c 还可以使用 add library 生成链接库 一 Linux的链接库 首先讲一下 linux 的链接库 xff0c 就是一些函数代码的二进制形式 xff0c 有动态与静态
  • C/C++信号量CreateSemaphore的用法

    创建或打开命名或未命名的信号量对象 要指定对象的访问掩码 xff0c 请使用CreateSemaphoreEx函数 语法 HANDLE WINAPI CreateSemaphore xff08 In opt LPSECURITY ATTRI
  • Git+Jenkins+docker实现自动部署git拉取代码部署web服务

    Git 43 Jenkins 43 docker的持续集成环境构建 工作步骤思路 xff08 下图所示 xff09 1 server1搭建好git仓库和用docker搭建好docker镜像仓库 2 server3用git命令去别的共用仓库拉
  • 无人机实验平台开发随笔(二)

    困难与解构 xff1a 在实际开发过程中 xff0c 通信问题成为了第一阶段最为严肃的问题 xff0c 在解除了各类与机器人和无人机相关领域的知识之后 xff0c 随着对项目功能认识的深入 xff0c 也逐渐感觉到了强烈的无力感 首先 xf

随机推荐

  • 无人机实验平台开发随笔(三)NOKOV Seeker软件配置

    考虑到在上一篇文章中分析的结论 xff0c 对于nokov和平台核心组件的数据传输反而可以放在相对次要的位置了 xff0c 毕竟就算通过手动输入坐标也是可行的方案 先前对硬件进行的调试 xff0c 有必要进行一个总结 xff0c 公司给予的
  • c++中char[]与char*的转换以及char*与数字互转

    在c c 43 43 中 xff0c 字符串操作不可避免 xff0c 而且通常 xff0c char 或者char 就能表示字符串 xff0c 这个跟java语言有很大的差别 xff0c java中char是字符 xff0c string才
  • bat批处理脚本大全

    目录 1 echo 2 注释 3 常见cmd命令 4 参数与变量 5 for循环 6 函数 7 数组 在windows上编程或者制作一些小工具 xff0c 少不了使用批处理脚本 xff0c 而且在各种开发环境搭建中我们经常会看到批处理脚本
  • 用C语言做很简单的飞机游戏

    首先 xff0c 可以通过第一步的 xff0c 通过空格和换行来显示出飞机 include lt stdio h gt include lt stdlib h gt int main int pox poy int x 61 20 int
  • 核心案例|中国民用航空飞行学院半实物飞行仿真平台

    项目名称 xff1a 无人机半实物飞行仿真平台 场 地 xff1a 室内 关 键 词 xff1a 无人机 仿真平台 飞行控制 核心案例中国民用航空飞行学院航空电子电气学院 01 项目背景 目前在无人系统众多重点方向开展研究时 xff0c 基
  • 使用高速视觉反馈的无人机自主目标跟踪

    在无人机视觉系统的常规研究中 xff0c 用于基于视觉的导航的视觉同步定位和映射 xff08 Visual SLAM xff09 和视觉里程计 xff08 VO xff09 是主要课题 V SLAM技术构建无人机经过的周围环境的实时地图 x
  • 6款常见的无人机仿真开发平台(附超详细特点功能对比)

    随着无人机与无人集群的快速发展 xff0c 开发者对于无人机系统仿真测试环境的需求也日渐显现 本文整理了几款常见的无人机仿真平台 xff0c 旨在为开发者提供一款更为易用 通用且真实可靠的平台 无人机与无人集群的研制应用快速发展 xff0c
  • 使用嵌入式无人机平台在大地形场景中进行机载实时密集重建

    大场景中的实时密集重建仍面临一些挑战 有两个主要的未解决问题导致应用受限 首先 xff0c 由于视差不足 xff0c 大场景或远距离目标的3D重建难以获得稳定的精度 其次 xff0c 随着大场景数据量的增加 xff0c 由于计算复杂度与优化
  • 猿创征文 | 一文看懂!无人机集群半物理仿真系统的7大模块拆解,超详细!

    在无人机集群研究领域 xff0c 仿真验证技术可以高效且低廉的对算法理论 xff0c 极大的缩短研制周期 xff0c 降低研制成本 全数字仿真技术和半物理仿真技术是仿真验证技术的两种主要实现方式 xff0c 本篇带你快速了解 无人机集群半物
  • SupSLAM:使用SuperPoint用于无人机的鲁棒视觉惯性 SLAM 系统

    近年来 xff0c 使用机器学习技术进行特征提取的现代基于特征的 SLAM受到越来越多的关注 xff0c 并有望在几乎所有机器人工作环境中超越传统方法 这种方法利用经过训练的网络来学习关键点 xff0c 从而增强视觉SLAM数据关联的鲁棒性
  • 使用强化学习和YOLOFlow实现基于自主无人机的目标搜索、跟踪

    搜索和救援行动发生在自然灾害期间或之后 xff0c 寻找受害者目标并跟踪他们 xff0c 直到救援队到达撤离 无人机是该应用不可或缺的工具 xff0c 因为它们可以帮助在关键 时间敏感的任务中找到目标 它们可以携带各种传感器 xff0c 并
  • 行业前沿|无人机视觉自主导航发展及视觉智能开发支撑平台介绍

    01视觉自主导航技术基本介绍 近年来 xff0c 无人机在多领域表现出重要应用价值 目前 xff0c 无人机如何在未知封闭 无辅助导航支撑的环境中 xff0c 达成 在哪里 和 环境描述 并自主智能地完成特定任务 xff0c 是一个重要的研
  • 基于图像拼接的无人机自主导航实时SLAM

    大多数无人机利用全球导航卫星系统 xff08 GNSS xff09 技术和惯性传感器 xff08 INS xff09 来估计自己的地理空间定位 无人机通过GNSS接收器进行增强 xff0c 这些接收器受益于从卫星发射的接收时间无线电信号来计
  • jar 压缩解压缩

    JAR包是Java中所特有一种压缩文档 其实大家就可以把它理解为 zip包 当然也是有区别的 JAR包中有一个META INF MANIFEST MF文件 当你找成JAR包时 它会自动生成 JAR包是由JDK安装目录 bin jar exe
  • Inverse elbow manipulator的正逆运动

    Inverse elbow manipulator 该结构同样是6 DOF xff0c 只是后面三个关节不是重合 这样子的结构 xff0c 工作空间更大 正运动好做 xff0c 逆运动还在推导中
  • 使用IMU进行状态估计及进阶

    文章目录 前言基本思想一 姿态估计1 1 通过6轴IMU来进行姿态估计的入门级方法1 1 1 通过加速度计计算姿态1 1 2 引入陀螺仪来得到更好的姿态估计 1 2 四元数解算姿态角解析 二 姿态估算与滤波的关系2 1 状态方程和观测方程2
  • Mujoco-小球建模与控制

    视频教程 xff1a https www bilibili com video BV1e44y1H7Mn 资源请到tiny cc mujoco下载 涉及内容 本次课程制作了一个简单的小球模型 然后对小球进行简单的模拟 xff0c 并演示了一
  • Mujoco-欠驱动的二阶单摆的LQR控制

    MuJoCo Lec7 span class token keyword void span span class token function f span span class token punctuation span span c
  • 四元数姿态计算

    本文基本上就是 1 的注解 一基本概念 1 1 四元数的定义 Quaternion A quaternion is a four dimensional complex number 四元数是一个四维的复数 写成行向量形式的话 q 61 q
  • Mujoco的关节与外力和驱动器

    核心公式 xff1a M qacc 43 qfrc bias 61 qfrc applied 43 ctrl M xff1a 惯性矩阵 qacc 加速度 qfrc bias 科里奥利矩阵和重力矩阵之和 xff1a qfrc bias 61