Axis Studio 动作捕捉 Noitom Mocap 软件获取人体运动数据(BVH 格式) Python 实现的 ROS 节点程 支持宇树科技 H1 模型机器人的 Retargeting 。

本项目是一个用 Python 实现的 ROS 节点程序,实现了以下功能:

https://github.com/pnmocap/mocap_ros_py
python代码的
  1. 首先,从 Noitom Mocap 软件获取人体运动数据(BVH 格式)。

  2. 然后,将 BVH 数据转换为与机器人关节模型对应的数据。此步骤称为 重定向。

    目前支持宇树科技 H1 模型机器人的 Retargeting 。

  3. 最后,将转换后的数据发送到仿真器节点以驱动机器人模型。

    除了驱动机器人模型外,它还可以驱动 TF 模型(火柴人具有与真人相同的骨骼结构)。

当与仿真仿真器节点的项目相结合时,可以实现从 Noitom Mocap 软件获取数据并用于驱动机器人的功能。

下图是每个节点的数据流向:

​编辑

  • Noitom Mocap 软件:Noitom 公司提供专业的动作捕捉软件(如 Axis Studio、Hybrid Data Server 等),负责提供基于真实人体的动作捕捉数据。

    请联系 info@noitom.com

  • mocap_ros_py:这个项目。用 Python 实现的 ROS 节点程序。它从 Noitom Mocap 软件中检索数据。重定向后,它将数据发送到模拟器以驱动机器人模型。或者,它可以直接发送 BVH 数据来驱动 TF 模型 (stickman)。

    源代码: https://github.com/pnmocap/mocap_ros_py.git

  • mocap_ros_cpp:它与 mocap_ros_py 具有相同的功能,但它是在 C++ 中实现的。

    源代码: https://github.com/pnmocap/mocap_ros_cpp.git

  • mocap_ros_urdf:机器人仿真器,监听来自mocap_ros_py或mocap_ros_urdf的数据并驱动机器人。

    源代码: https://github.com/pnmocap/mocap_ros_urdf.git

文件结构

项目描述
自由/它包括各种 CPU 架构的动态库文件。此库提供从 Axis Studio 获取运动捕捉数据的接口函数,还封装了将 BVH 数据转换为 URDF 格式的功能。librobotapi
img/它包含本说明文档中使用的图像。
unitree_h1/它存储 Unitree Technology H1 模型的重定向配置文件。
README.md中文自述
README_en.md英文自述
mocap_robotapi.py它封装库以从 Axis Studio 获取运动捕捉数据。同时,它提供了将 BVH 数据转换为符合 URDF 规范的 JSON 数据的功能。librobotapi
requirements_ros1.txt对于 ROS 1 环境,本项目依赖的 Python 库。分享
requirements_ros2.txt对于 ROS 2 环境,本项目依赖的 Python 库 .分享
mocap_to_robot_ros1.py在 ROS 1 环境中,作为 ROS 节点,本项目调用库将 BVH 数据转换为 URDF 格式的 JSON 数据。然后,它将 type 的 data 发布到 topic 中,以驱动机器人模型。mocap_robotapiJointState/joint_states
mocap_to_robot_ros2.py在 ROS 2 环境中,功能与 相同。mocap_to_robot_ros1.py
mocap_to_stickman_ros1.py在 ROS 1 环境中,作为 ROS 节点,它调用库将数据类型的原始 BVH 数据发布到 topic 中,驱动机器人的棒状图模型。mocap_robotapiJoy/remoter/action_list
mocap_to_stickman_ros2.py在 ROS 2 环境中,其功能与脚本的功能相同。mocap_to_stickman_ros1.py

启动步骤

先决条件

  • 首先,找到一台 Windows PC,安装 Axis Studio 软件,并完成配置。
  • 其次,找到一台 Linux PC 并安装 ROS 环境。(ROS 1 或 ROS 2 都是可以接受的。
  • 根据是 ROS 1 还是 ROS 2 环境,启动对应的 simulation emulator 节点。有关详细信息,请参阅:mocap_ros_urdf
  • 根据需要驱动的模型是 TF 还是 robotmodel,启动对应的 ROS 节点。

下载并安装此项目

登录安装了 ROS 的 Linux PC,下载此项目,并根据 ROS 环境安装依赖的软件包。

<span style="background-color:#f6f8fa"><span style="color:#1f2328"><span style="color:#1f2328"><span style="background-color:#f6f8fa"><code>git clone https://github.com/pnmocap/mocap_ros_py.git
cd mocap_ros_py

pip3 install -r requirements_ros1.txt
or
pip3 install -r requirements_ros2.txt
</code></span></span></span></span>

配置动作捕捉软件:Axis Studio

最新一代的动作捕捉软件支持 Perception Neuron Studio 和 Perception Neuron3 (Pro) 动作捕捉产品。有关更多信息,请参阅 Noitom Company 的官方网站。

启动 Axis Studio 并打开运动数据文件

此时,您可以看到 Axis Studio 中的 3D 模型在移动,如下图所示:

IMG

配置 BVH 广播

打开设置对话框,选择 BVH Broadcasting 并启用它:

在“本地地址”中填写运行 Axis Studio 软件的 Windows 计算机的 IP 地址,在“目标地址”中填写运行 ROS 节点的 Linux 计算机的 IP 地址。注意,您需要填写局域网 IP 地址,而不是像 127.0.0.1 这样的环回 IP。

对于红框内的其余部分,您需要严格如图所示填写。

​编辑

启动并配置 Simulation Emulator 节点

这里使用的 ROS URDF 模型是宇树科技的 H1 机器人模型。

请按照文档中的描述启动和配置仿真器节点程序:https://github.com/pnmocap/mocap_ros_urdf.git

启动此 ROS Node 程序

将 URDF 的相应文件复制到工作区。retarget.json

<span style="background-color:#f6f8fa"><span style="color:#1f2328"><span style="color:#1f2328"><span style="background-color:#f6f8fa"><code>cp -r path/to/mocap_ros_py/unitree_h1/retarget.json  mocap_ros_py/retarget.json
</code></span></span></span></span>

您可以根据需要选择驱动 TF 模型或机器人模型。

您只能选择两者之一。

启动 TF 数据节点

<span style="background-color:#f6f8fa"><span style="color:#1f2328"><span style="color:#1f2328"><span style="background-color:#f6f8fa"><code>cd path/to/mocap_ros_py
python mocap_to_stickman_ros1.py
or
python mocap_to_stickman_ros2.py
</code></span></span></span></span>

启动 RobotModel 数据节点

<span style="background-color:#f6f8fa"><span style="color:#1f2328"><span style="color:#1f2328"><span style="background-color:#f6f8fa"><code>cd path/to/mocap_ros_py
python mocap_to_robot_ros1.py
or
python mocap_to_robot_ros2.py</code></span></span></span></span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值