Ubuntu下urdf模型转换成proto模型

由于 Ubuntu 24.04,直接使用 pip install 会报错

可以在项目文件夹中创建一个 Python 虚拟环境来安装:

复制代码
# 1. 创建虚拟环境 (名为 venv)
python3 -m venv venv

# 2. 激活虚拟环境
source venv/bin/activate

# 3. 在虚拟环境中安装
pip install urdf2webots

urdf2webots 通过 pip 安装后,并没有提供一个直接在终端敲的命令,它主要是一个供 Python 代码调用的"库"

解决方法:写一个Python 脚本来调用它

bash 复制代码
vim 脚本名.py

如下内容:

bash 复制代码
import os
from urdf2webots.importer import convertUrdfFile

# ================= 配置区域 =================
# 1. 输入: URDF 绝对路径,输入自己的存放的路径
input_urdf_path = "/home/yyyy/workspaces/duck_robot/virtual_robot/urdf/virtual_robot.urdf"

# 2. 输出: 目标文件夹
output_dir = "/home/yyyy/my_webots_project1/protos"

# 3. 输出文件名
output_filename = "virtual_robot.proto"

# 组合完整的输出路径
output_file_path = os.path.join(output_dir, output_filename)

if not os.path.exists(input_urdf_path):
    print(f"错误: 找不到输入文件!请检查路径:\n{input_urdf_path}")
    exit()

if not os.path.exists(output_dir):
    print(f"目录不存在,正在创建: {output_dir}")
    os.makedirs(output_dir, exist_ok=True)


try:
    # --- 调用 convertUrdfFile ---
    # 根据函数名推断,参数名应该是 input 和 output
    convertUrdfFile(input=input_urdf_path, output=output_file_path, normal=True, box_collision=False)

except TypeError as e:
    # 如果参数名还是不对,这里会捕获并尝试另一种极简调用方式
    print(f"\n参数名警告: {e}")
    print("尝试使用位置参数重新运行...")
    convertUrdfFile(input_urdf_path, output_file_path)
    print("\n再次尝试后转换成功!(使用了默认配置)")

except Exception as e:
    print(f"\n转换过程中发生错误: {e}")
相关推荐
A小辣椒18 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒21 小时前
TShark:基础知识
linux
AlfredZhao1 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式