当前位置: 首页 > news >正文

Pinocchio导入URDF关节为continuous的问题及详细解释

视频讲解:

Pinocchio导入URDF关节为continuous的问题及详细解释

仓库地址:GitHub - LitchiCheng/mujoco-learning

问题背景:打算测试将之前的panda的urdf换成so-arm100的urdf,发现pinocchio的代码不能用,很奇怪,按照道理都是参数,应该可以直接复用,通过排查,发现时model.nq数量发生了变化,pyroboplan的代码在进行ik时直接越界了

   <jointname="Shoulder_Rotation"type="continuous"><originxyz="0 -0.0452 0.0181"rpy="1.5708 0 1.5708" /><parentlink="Base" /><childlink="Shoulder_Rotation_Pitch" /><axisxyz="0 1 0" /></joint>

进一步排查:

1.打印panda的model.nq发现和urdf中的关节数量一致,其type为revolute

2.打印so-arm100的model.nq发现比urdf中的joint多了一倍,其type为continuous

通过查看pinocchio的issues,发现如下两个解释:

Continuous joint in URDF adds 2 elements to the configuration space · Issue #794 · stack-of-tasks/pinocchio · GitHub

lowerPositionLimit and upperPositionLimit in pinocchio::Model have unexpected dimensions for unbounded joints - how to read them correctly? · Issue #777 · stack-of-tasks/pinocchio · GitHub

但实际上还没没有讲得很清楚为什么continous类型的joint的nq为2,这里进行探究:

URDF的continuous joint:本质也是一种无旋转角度限制的旋转关节(unbounded revolute joint),理论上应使用单个角度参数θ描述其状态就够了,但是为什么需要用两个,这就要反过来思考了,首先1个配置空间的维度能不能用来描述continuous类型关节对应物理位置,肯定是够了,但会出现一种情况,如关节在θ时和θ+2Π实际上物理位置一致,有无数个数值对应同样的物理位置,对于优化、求解问题来说时冗余的

所以用从如下两个角度可以理解[cosθ, sinθ]的好处:

1.一个数值对对应了一个物理状态,避免求解的冗余问题

2.cosθ和sinθ避免2Π到0的跳跃

下面用python代码来做一个验证

import math
# 定义角度
angles = [170, -190, 180, -180, 180, 540]# 遍历角度列表
for theta in angles:# 将角度转换为弧度theta_rad = math.radians(theta)# 计算 cos 和 sin 值cos_theta = math.cos(theta_rad)sin_theta = math.sin(theta_rad)# 输出结果print(f"当 theta = {theta} 度时:")print(f"cos(theta) = {cos_theta}")print(f"sin(theta) = {sin_theta}")print()

可以看到三种情况下数值对均一致

1.170和反方向

2.180°和反向180

3.180和多转一圈

相关文章:

  • 第二章-猜数游戏
  • 【bazel】bazel简介及简单使用
  • Qt实现网页内嵌
  • UDP协议(特点与应用场景)
  • cudaMalloc函数说明
  • 无人机 | 无人机设计概述
  • 某信服EDR3.5.30.ISO安装测试(一)
  • 【Java项目脚手架系列】第二篇:JavaWeb项目脚手架
  • 数据库MySQL学习——day9(聚合函数与分组数据)
  • 机器学习中常见搜索算法
  • Java基础学完,继续深耕(0505)Linux 常用命令
  • Python学习之路(七)-绘画and动画
  • 【Linux】linux入门——基本指令
  • 人工智能数学基础(十)—— 图论
  • 一个电商场景串联23种设计模式:创建型、结构型和行为型
  • Paramiko 核心类关系图解析
  • 新型深度神经网络架构:ENet模型
  • 健康养生:从生活点滴启航
  • Sliding Window Attention(Longformer)
  • 自注意力(Self-Attention)和位置编码
  • 新闻1+1丨多地政府食堂开放“舌尖上的服务”,反映出怎样的理念转变?
  • 厦大历史系教授林汀水辞世,曾参编《中国历史地图集》
  • 美国鞋类巨头请求白宫豁免关税,称已构成“生存威胁”
  • 中央气象台:未来三天北方地区有大风沙尘,江南等地有强降水
  • 奔驰一季度利润降四成,受美国加征关税影响放弃全年盈利展望
  • 美的集团一季度净利增长38%,库卡中国机器人接单增超35%