Skip to content
  • reliability: "20% (author)"
  • date: 2024-09-30
  • os: "Linux server 5.15.0-122-generic #132~20.04.1-Ubuntu SMP Fri Aug 30 15:50:07 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux"
  • author: "julyfun on shadow251"
  • assume-you-know: [computer]

View urdf

建议还是创建功能包 以下来自 GPT 4o

要在 ROS 中创建一个功能包,载入 URDF 文件并在 RViz 中可视化,你可以按照以下步骤进行:

1. 创建功能包

首先,确保你在 ROS 工作空间内。然后使用以下命令创建一个新的功能包:

cd ~/catkin_ws/src
catkin_create_pkg my_robot_description urdf rviz

2. 添加 URDF 文件

将你的 URDF 文件放置在 my_robot_description 包的 urdf 目录下。确保该目录存在:

mkdir -p ~/catkin_ws/src/my_robot_description/urdf
cp /path/to/your_robot.urdf ~/catkin_ws/src/my_robot_description/urdf/

3. 配置 RViz 配置文件

创建一个 RViz 配置文件以便于加载你的机器人模型:

mkdir -p ~/catkin_ws/src/my_robot_description/rviz

rviz 目录下创建一个文件,比如 view_robot.rviz,并添加以下内容:

# RViz configuration file
Fixed Frame: base_link  # 确保这个与URDF中的根链接一致

4. 创建启动文件

my_robot_description 包中创建一个 launch 目录,并在其中添加一个启动文件,比如 display.launch

mkdir -p ~/catkin_ws/src/my_robot_description/launch

display.launch 中添加以下内容:

<launch>
  <!-- Load the URDF into the parameter server -->
  <param name="robot_description" command="$(find xacro)/xacro '$(find my_robot_description)/urdf/your_robot.urdf'" />

  <!-- Start RViz -->
  <node name="rviz" pkg="rviz" type="rviz" args="-d $(find my_robot_description)/rviz/view_robot.rviz" />
</launch>

注意:也可能长这样.

<launch>
  <!-- Load the URDF into the parameter server -->
  <param name="robot_description" command="$(find xacro)/xacro '/home/user/julyfun/ur10e_shadowhand_teleop-julyfun/ur10e.urdf'" />
  <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" ></node>
  <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
  <node name="rviz" pkg="rviz" type="rviz"/>
</launch>

5. 编译工作空间

返回到工作空间的根目录并编译:

cd ~/catkin_ws
catkin_make
source devel/setup.bash

6. 运行启动文件

现在,你可以运行启动文件来在 RViz 中可视化你的机器人:

roslaunch my_robot_description display.launch

注意事项

  • 确保你的 URDF 文件路径和名称正确。
  • 如果使用的是 xacro 文件,请确保在 display.launch 文件中使用 xacro 命令。
  • 在 RViz 中,确保 Fixed Frame 设置正确,与 URDF 中的根链接匹配。

这将启动 RViz,并根据你的 URDF 文件显示机器人模型。

Problems

verified on 24.9.30