"""
# 此示例从 URDF 文件中加载一个 UR10 机械臂的模型
# 随后演示 Pinocchio 库的基本功能,如正向运动学计算
# 雅可比矩阵计算、碰撞检测以及动力学仿真
"""
# 导入 meshcat 的几何模块,用于创建和管理可视化的几何对象
import meshcat.geometry as mg
# 导入 numpy 库,用于数值计算,如数组操作、矩阵运算等
import numpy as np
# 导入 os 模块,用于与操作系统进行交互,如文件路径操作
import os
# 导入 time 模块,用于在程序中添加时间延迟
import time# 导入 pinocchio 库,用于机器人运动学、动力学计算等
import pinocchio
# 从 pinocchio 的可视化模块导入 MeshcatVisualizer 类,用于可视化机器人模型
from pinocchio.visualize import MeshcatVisualizer
# 从 pyroboplan 库的模型工具模块导入获取示例模型文件夹的函数
from pyroboplan.models.utils import get_example_models_folderdef main():model_dir = get_example_models_folder()# 调用函数获取示例模型所在的文件夹路径# 拼接 URDF 文件的完整路径urdf_filename = os.path.join(model_dir, "ur_description", "urdf", "ur10_gripper.urdf")# 从 URDF 文件中构建机器人的运动学模型、碰撞模型和视觉模型model, collision_model, visual_model = pinocchio.buildModelsFromUrdf(urdf_filename, package_dirs=model_dir)# Modify the collision model for display.# 拼接 SRDF 文件的完整路径,SRDF 文件用于定义机