使用mocap在mujoco中实现逆运动学控制

使用mocap在mujoco中实现逆运动学控制

代码地址:https://github.com/kevincheng3/mocap-control
视频地址https://www.bilibili.com/video/BV1jw411d7Aw

在mujoco中实现机械臂的逆运动学控制

前言

MuJoCo 是目前机器人动力学仿真最流行的仿真器之一
MuJoCo官网:http://mujoco.org/
博主在Mujoco反正引擎中搭建了一个UR5机械臂的仿真引擎,希望实现对机械臂末端点位置和姿态的控制(tcp control)。但是查阅了相关的api并未发现有求解逆运动求解器。于是,经过一番探索发现,通过mocap可以很容易实现末端的逆运动学控制。


提示:以下是本篇文章正文内容,下面案例可供参考

一、mocap body的建立

在worldbody下创建一个mocap的body

<body mocap="true" name="mocap" pos="0.08229997 0.10921554 1.871059">
    <!-- <geom conaffinity="0" contype="0" pos="0 0 0" rgba="0 0.5 0 0.7" size="0.005 0.005 0.005" type="box"></geom>
    <geom conaffinity="0" contype="0" pos="1 0 0" rgba="1 0 0 0.1" size="1 0.005 0.005" type="box"></geom>
    <geom conaffinity="0" contype="0" pos="0 1 0" rgba="0 1 0 0.1" size="0.005 1 0.001" type="box"></geom>
    <geom conaffinity="0" contype="0" pos="0 0 1" rgba="0 0 1 0.1" size="0.005 0.005 1" type="box"></geom> -->
</body>

二、将mocap body固接到末端执行器的body上

<equality>
    <weld body1="mocap" body2="ee_link" solimp="0.9 0.95 0.001" solref="0.02 1"></weld>
</equality>

三、通过设置mocap的位置和姿态实现逆运动学控制

sim.data.set_mocap_pos("mocap", pos)
self.sim.data.set_mocap_quat("mocap", quat)

结果

在这里插入图片描述

通过键盘指令可以对机械臂进行位置和姿态控制
"Go up/down/left/right",     "[up]/[down]/[left]/[right] arrow",
"Go forwarf/backward",       "[F]/[B]"
"ROT_X",                      "[Q]/[W]"
"ROT_Y",                     "[A]/[S]"
"ROT_Z",                     "[Z]/[X]"
"Slow down/Speed up",        "[-]/[=]"
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值