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

[笔记]SolidWorks转URDF 在rviz2中显示

参考文献:
https://www.bilibili.com/video/BV1Tx411o7rH/?spm_id_from=333.1391.0.0&vd_source=8c291048db828334db1603123facf791

感谢古月居的教程参考。

系统1环境 windows11 ,solidworks 2023
系统2环境 Ubuntu22, Ros2(Humble)

1.下载、安装sw_urdf_exporter插件

https://wiki.ros.org/sw_urdf_exporter

直接下载安装包。
在这里插入图片描述
win11环境直接安装即可。

2.从装配文件导出URDF模型

2.1 装配好所有零件

在这里插入图片描述

2.2 在每个电机的位置添加旋转轴

选中关节电机(或者铰链结构),上方菜单[插入]->[参考集合体]->[基准轴]。直到处理完所有关节电机。
在这里插入图片描述
在这里插入图片描述

2.3 打开URDF导出器

[工具]->[Tools]->[Export as URDF]
在这里插入图片描述

2.4 设置基座base_link

在这里插入图片描述

2.5 设置每一个连杆

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后点击[ Preview and Export ]导出URDF

2.5 检查参数

在这里插入图片描述
在这里插入图片描述
注意保存文件只能小写英文字母,因为这里决定了ros的包名。此处保存名称为armrobot.
在这里插入图片描述

3.修改文件

由于默认生成的urdf及其包属于ros1的文件,此处要在ros2使用,需要做一点修改。

3.1 package.xml

包管理标签需要修改为ros2的风格

<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3"><name>armrobot</name><version>1.0.0</version><description><p>URDF Description package for armrobot</p><p>This package contains configuration data, 3D models and launch files for armrobot robot</p></description><author>TODO</author><maintainer email="TODO@email.com">TODO</maintainer><license>BSD</license><buildtool_depend>ament_cmake</buildtool_depend><depend>robot_state_publisher</depend><depend>joint_state_publisher_gui</depend><depend>rviz2</depend><depend>ros2launch</depend><export><build_type>ament_cmake</build_type></export>
</package>

3.2 CMakeLists.txt

cmake_minimum_required(VERSION 3.8)
project(armrobot)# 查找依赖包
find_package(ament_cmake REQUIRED)# 安装资源文件到合适位置
install(DIRECTORY config launch meshes urdfDESTINATION share/${PROJECT_NAME}
)ament_package()

3.3 新增启动文件display.launch.py

放在launch目录下

import os
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch_ros.actions import Nodedef generate_launch_description():pkg_share = get_package_share_directory('armrobot')urdf_path = os.path.join(pkg_share, 'urdf', 'armrobot.urdf')with open(urdf_path, 'r') as f:robot_description = f.read()return LaunchDescription([Node(package='joint_state_publisher_gui',executable='joint_state_publisher_gui',name='joint_state_publisher_gui'),Node(package='robot_state_publisher',executable='robot_state_publisher',name='robot_state_publisher',parameters=[{'robot_description': robot_description}]),Node(package='rviz2',executable='rviz2',name='rviz2')])

3.4 下载额外的依赖

sudo apt-get update    #如果 显示404、无法下载等 请换源
sudo apt install ros-humble-robot-state-publisher 
sudo apt install ros-humble-joint-state-publisher
sudo apt install ros-humble-joint-state-publisher-gui

4 运行

armrobot放在…/WS/src目录下,然后 $ cd …WS/ 。

4.1 编译工作区

cd ..../WS/
colcon build #确保包被成功编译
source install/setup.bash
ros2 launch armrobot display.launch.py 

4.2 设置rviz2 使用urdf模型

运行后打开了rviz2,点[Add]添加RobotModel,Topic选择发布的唯一话题。
世界坐标系选择base_link。
在这里插入图片描述

http://www.dtcms.com/a/596450.html

相关文章:

  • 抖音商城店铺用户体验优化研究(开题报告)
  • 北京网站推广公司排名永久免费的cms系统带商城
  • STM32外设学习--USART串口协议--学习笔记。
  • 汉狮做网站公司郑州苏州建设网站的网络公司
  • 【C#-sqlSugar-sqlite】在Windows从源码编译构建System.Data.SQLite.dll的方法
  • 【WPF】WrapPanel的用法
  • wpf 控件中Margin属性如何设置绑定?
  • 【管综】考研199管理类联考真题试卷及答案解析PDF电子版(2009-2025年)
  • UDP/TCP接收/转发/广播服务端
  • WPF 获取鼠标相对于控件的坐标信息,控制控件锚点放缩
  • 面试题—linux
  • 福田皇岗社区做网站网页制作怎么收费
  • 236. Java 集合 - 使用索引访问 List 元素
  • 天河网站建设哪家强华为企业邮箱
  • 基于Java的电影管理系统的设计与实现
  • C#初级面试题5、拆箱和装箱
  • 如何判断企业是否需要 IAM ?数字化转型中的权限治理自测
  • CSP-J教程——第一阶段——第六课:程序流程控制 - 循环结构(一)for循环
  • 【C++基础与提高】第二章:C++数据类型系统——构建程序的基础砖石
  • 【每天一个知识点】CAG:Context-Augmented Generation
  • 《Linux系统编程之系统导论》【冯诺依曼体系结构 + 操作系统基本概述】
  • 第23天python内容
  • 5.2、Python-字符串的编码和解码
  • 美容院网站源码网站流量下降的原因
  • FreeRTOS 学习:(十七)“外部中断”和“内核中断”的差异,引入 FreeRTOS 中断管理
  • CodeBuddy AI IDE :Skills 模式
  • 大模型学习计划(按周规划)
  • 绥中网站建设分类信息网网站500
  • k8s 部署MySQL 数据持久化
  • Quantinuum 发布新型量子计算机“Helios“