- 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
- Rviz 如果遇到滑动条没有,报错 TF 的问题,see: https://blog.csdn.net/qq_41299133/article/details/124899504
verified on 24.9.30