当前位置: 首页 > news >正文

【机器人】ROS2配置solidworks模型转换的URDF文件

🙇‍♀ 安装solidworks_urdf插件

地址

在添加过点和坐标系后,点击工具->tools(在最下面)

如何转为URDF请看这个视频点击

☕ 为ROS2配置

安装相关依赖

sudo apt install ros-humble-joint-state-publisher-gui sudo apt install ros-humble-xacro

solidworks导出的URDF文件是ROS1版本的,所以要改装为ROS2

在你的工作空间src目录中新建一个C++的功能包

ros2 pkg create looraysbot_model --build-type ament_cmake--licenseApache-2.0

分别在改包下面创建launchmeshesrvizurdf这四个文件夹

  • launch文件夹下创建 文件[display.launch.py](<http://display.launch.py/>),插入一下代码
from ament_index_python.packagesimportget_package_share_path from launchimportLaunchDescription from launch.actionsimportDeclareLaunchArgument from launch.conditionsimportIfCondition, UnlessCondition from launch.substitutionsimportCommand, LaunchConfiguration from launch_ros.actionsimportNode from launch_ros.parameter_descriptionsimportParameterValue def generate_launch_description(): urdf_tutorial_path=get_package_share_path('looraysbot_model')default_model_path=urdf_tutorial_path /'urdf/looraysbot_model.urdf'default_rviz_config_path=urdf_tutorial_path /'rviz/looraysbot_model.rviz'gui_arg=DeclareLaunchArgument(name='gui',default_value='true',choices=['true','false'],description='Flag to enable joint_state_publisher_gui')model_arg=DeclareLaunchArgument(name='model',default_value=str(default_model_path),description='Absolute path to robot urdf file')rviz_arg=DeclareLaunchArgument(name='rvizconfig',default_value=str(default_rviz_config_path),description='Absolute path to rviz config file')robot_description=ParameterValue(Command(['xacro ', LaunchConfiguration('model')]),value_type=str)robot_state_publisher_node=Node(package='robot_state_publisher',executable='robot_state_publisher',parameters=[{'robot_description':robot_description}])# Depending on gui parameter, either launch joint_state_publisher or joint_state_publisher_guijoint_state_publisher_node=Node(package='joint_state_publisher',executable='joint_state_publisher',condition=UnlessCondition(LaunchConfiguration('gui')))joint_state_publisher_gui_node=Node(package='joint_state_publisher_gui',executable='joint_state_publisher_gui',condition=IfCondition(LaunchConfiguration('gui')))rviz_node=Node(package='rviz2',executable='rviz2',name='rviz2',output='screen',arguments=['-d', LaunchConfiguration('rvizconfig')],)returnLaunchDescription([gui_arg, model_arg, rviz_arg, joint_state_publisher_node, joint_state_publisher_gui_node, robot_state_publisher_node, rviz_node])

ctrl+f搜索looraysbot_model,并替换为你的包名称,其他不变

  • 将solidworks生成的urdf包中的meshes文件夹下的所有stl文件复制到你的对应文件夹下
  • 和solidworks生成的urdf包中的urdf文件夹下的所有文件直接复制到你的对应文件夹下

可以执行urdf_to_graphviz looraysbot_model.urdf生成pdf(要在终端进入urdf目录下)

CMakeLists.txt配置

cmake_minimum_required(VERSION3.8)project(looraysbot_model)if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES"Clang")add_compile_options(-Wall-Wextra-Wpedantic)endif()# find dependenciesfind_package(ament_cmake REQUIRED)# uncomment the following section in order to fill in# further dependencies manually.# find_package(<dependency> REQUIRED)install(DIRECTORY launch meshes urdf rviz DESTINATION share/${PROJECT_NAME})if(BUILD_TESTING)find_package(ament_lint_auto REQUIRED)# the following line skips the linter which checks for copyrights# comment the line when a copyright and license is added to all source filesset(ament_cmake_copyright_FOUND TRUE)# the following line skips cpplint (only works in a git repo)# comment the line when this package is in a git repo and when# a copyright and license is added to all source filesset(ament_cmake_cpplint_FOUND TRUE)ament_lint_auto_find_test_dependencies()endif()ament_package()

ctrl+f搜索looraysbot_model,并替换为你的包名称,其他不变

package.xml配置

<?xmlversion="1.0"?><?xml-modelhref="<http://download.ros.org/schema/package_format3.xsd>"schematypens="<http://www.w3.org/2001/XMLSchema>"?><packageformat="3"><name>looraysbot_model</name><version>0.0.0</version><description><p>URDF Description packageforlooraysbot_model</p><p>This package contains configuration data, 3D models and launch filesforlooraysbot_model robot</p></description><maintaineremail="rqtz@todo.todo">rqtz</maintainer><license>Apache-2.0</license><buildtool_depend>ament_cmake</buildtool_depend><test_depend>ament_lint_auto</test_depend><test_depend>ament_lint_common</test_depend><export><build_type>ament_cmake</build_type></export></package>

ctrl+f搜索looraysbot_model,并替换为你的包名称,其他不变(其实这个文件不改也不影响)

🥦rviz2配置

打开rviz2,按照上图所示,配置完成后保存并将其保存到该包下的rviz目录中

🦐 运行并显示URDF模型

执行编译colcon build后,更新环境变量

ros2 launch looraysbot_model display.launch.py

执行成功

安装tf树

sudo apt install ros-humble-rqt-tf-tree rm -rf ~/.config/ros.org/rqt_gui.ini

生成当前tf树的pdf

ros2 run tf2_tools view_frames

http://www.jsqmd.com/news/595060/

相关文章:

  • 快手极速版自动化脚本实战:青龙环境搭建与接口配置指南(2023最新版)
  • OpenClaw异常处理大全:Qwen3.5-9B-AWQ-4bit任务失败自修复方案
  • 告别景深烦恼:用PyTorch+PyQt5打造你的专属多焦点图像融合桌面工具(附完整源码)
  • 2026年4月5款设计AI深度横评-谁更适合接项目
  • Claude Code 有个钩子功能,知道的人用起来像开了外挂
  • Agent时代:模型是 Agent,代码是 Harness
  • OpenClaw跨平台控制:gemma-3-12b-it远程操作家中电脑的实践
  • OpenClaw图像描述生成:Qwen3-14b_int4_awq处理截图内容分析
  • OpenClaw学习助手:Kimi-VL-A3B-Thinking解析教材图表与生成习题
  • 零基础玩转OpenClaw:Phi-3-vision-128k-instruct云端体验指南
  • 【160期】千问3-TTS语音克隆天花板,新手一键部署
  • 保姆级教程:在Ubuntu 20.04上用Isaac Sim 2023.1.1跑通Orbit+OmniDrones强化学习训练
  • Seedance 2.0有多离谱?这款动画师能生成角色一致性视频的AI工具你一定要用
  • RN线程模型
  • mbed OS USB串口缓冲库:线程安全环形缓冲设计
  • SEO_掌握核心SEO技巧,让你的流量翻倍
  • AI开发-python-langchain框架(--word文档加载 )
  • 基于Kintex UltraScale+ XCKU5P的Cameralink图像采集与HDMI实时显示系统设计
  • 2026年质量好的亚克力摇摇乐/亚克力销售厂家推荐 - 品牌宣传支持者
  • 如何用VLLM和GPT-OSS-20B搭建一个天气查询工具?完整代码分享
  • 精准控制:gemma-3-12b-it在OpenClaw复杂指令下的执行边界测试
  • OpenClaw+千问3.5-35B-A3B-FP8:智能邮件分类与回复系统
  • 2026年04月05日最热门的开源项目(Github)
  • 基于大数据与深度学习的二手房价格预测系统设计与实现-完整源码论文毕设项目
  • HarmonyOS ArkTS开发实战:用Axios封装一个带拦截器的网络请求工具类
  • Windows下OpenClaw安装指南:对接Qwen3.5-9B-AWQ-4bit镜像
  • windows安装 Claude Code CLI 工具
  • 8舵机蜘蛛机器人嵌入式运动控制库设计
  • OpenClaw任务编排:百川2-13B-4bits模型处理依赖型复杂工作流
  • 靠专业建议收咨询费!传统旅游顾问转型AI行程规划师,如何在高定市场赚大钱