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}")
相关推荐
布鲁飞丝2 小时前
彩笔运维勇闯机器学习--cpu与qps的线性关系
运维·人工智能·机器学习
kaoa0003 小时前
Linux入门攻坚——84、网络虚拟化技术-1
linux·运维·服务器
RisunJan3 小时前
Linux命令-shutdown(安全关闭或重启系统)
linux·服务器·安全
2601_965798474 小时前
MTDb Movie & TV Database Script Setup, Caching, and SEO Guide
linux·服务器·数据库·php
我头发多我先学4 小时前
linux系统编程:初识进程
linux·运维·服务器
Freak嵌入式4 小时前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
云飞云共享云桌面4 小时前
SolidWorks—天津智能装备工厂1台高配主机共享给10个研发用
运维·服务器·自动化·汽车·制造
苍狗T5 小时前
LVS相关知识总结
linux·运维·服务器·lvs
lightqjx6 小时前
【Linux系统】基础 IO
linux·c语言·重定向·缓冲区·文件io·文件的系统调用
我星期八休息6 小时前
扩展— TCP 全连接队列与 tcpdump 抓包
linux·服务器·开发语言·前端·网络·tcp/ip·tcpdump