pinocchio库使用教程(三)

几何模型

python 复制代码
from pathlib import Path
from sys import argv
 
import pinocchio
 
# This path refers to Pinocchio source code but you can define your own directory here.
pinocchio_model_dir = Path(__file__).parent.parent / "models"
 
model_path = Path(
    (pinocchio_model_dir / "example-robot-data/robots") if len(argv) < 2 else argv[1]
)
mesh_dir = pinocchio_model_dir
urdf_model_path = model_path / "ur_description/urdf/ur5_robot.urdf"
 
# Load the urdf model
model, collision_model, visual_model = pinocchio.buildModelsFromUrdf(
    urdf_model_path, mesh_dir
)
print("model name: " + model.name)
 
# Create data required by the algorithms
data, collision_data, visual_data = pinocchio.createDatas(
    model, collision_model, visual_model
)
 
# Sample a random configuration
q = pinocchio.randomConfiguration(model)
print(f"q: {q.T}")
 
# Perform the forward kinematics over the kinematic tree
pinocchio.forwardKinematics(model, data, q)
 
# Update Geometry models
pinocchio.updateGeometryPlacements(model, data, collision_model, collision_data)
pinocchio.updateGeometryPlacements(model, data, visual_model, visual_data)
 
# Print out the placement of each joint of the kinematic tree
print("\nJoint placements:")
for name, oMi in zip(model.names, data.oMi):
    print("{:<24} : {: .2f} {: .2f} {: .2f}".format(name, *oMi.translation.T.flat))
 
# Print out the placement of each collision geometry object
print("\nCollision object placements:")
for k, oMg in enumerate(collision_data.oMg):
    print("{:d} : {: .2f} {: .2f} {: .2f}".format(k, *oMg.translation.T.flat))
 
# Print out the placement of each visual geometry object
print("\nVisual object placements:")
for k, oMg in enumerate(visual_data.oMg):
    print("{:d} : {: .2f} {: .2f} {: .2f}".format(k, *oMg.translation.T.flat))
相关推荐
XZ-0700016 小时前
week4-1-figure画布
python
步行cgn7 小时前
Spring 注入 Map 集合详解
数据库·python·spring
今儿敲了吗7 小时前
03停用词过滤
笔记·python
hey you~8 小时前
语音机器人如何配合人工完成复杂进线服务?三种协同模式与落地要点
人工智能·机器人·语音识别·智能客服·呼叫中心·转人工策略
李可以量化8 小时前
Tornado 部署公域网络安全与防护(上)
python
gf13211118 小时前
【使用影刀BOSS系统机器人@群内的其他机器人】
机器人
风跟我说过她8 小时前
SQL 一键转经典 Chen 风格 ER 图:开源 CLI + 在线工具 + Agent Skill
数据库·python·sql·开源·开源软件
Ulyanov8 小时前
AudioVision Pro:基于 PySide6 + sounddevice 的实时音频可视化播放器设计
python·算法·音视频
ID34610744208 小时前
【课程设计】基于Spring Boot+Vue的校园共享无人机服务系统设计与实现-计算机毕设 附源码44219
javascript·vue.js·spring boot·python·node.js·php·课程设计
星空8 小时前
pycharm复习
ide·python·pycharm