# 車子可視化 :::info https://blog.csdn.net/weixin_52029211/article/details/119538435 ::: 1. 創建功能包 ``` cd catkin_ws #进入工作空间 catkin_create_pkg jubot_demo urdf xacro #创建功能包、添加依赖 cd jubot_demo/ mkdir urdf mkdir launch mkdir meshes #存放渲染机器人模型的文件 mkdir config #存放rviz配置的文件 ``` 打開VS Code寫兩個檔案 jubot_base.urdf(放urdf資料夾下) display_jubot_base_urdf.launch(放launch資料夾下) config裡的rviz檔案是儲存生成的,不用寫 2. urdf文件 ```xml <?xml version="1.0" ?> <robot name="dalbot"> <!--base_car-->> <link name="base_link"> <visual> <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/> <geometry> <box size="0.9 8.2 1.29"/> </geometry> <material name="yellow"> <color rgba="1 0.4 0 1"/> </material> </visual> </link> <!--left_back_wheel--> <joint name="left_back_joint" type="continuous"> <origin xyz="-0.20 0.298 0.109" rpy="1.57 0.0 0.0"/> <parent link="base_link"/> <child link="left_back_link"/> <axis xyz="0.0 1.0 0.0"/> </joint> <link name="left_back_link"> <visual> <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/> <geometry> <cylinder radius="0.109" length="0.04"/> </geometry> <material name="black"> <color rgba="0 0 0 1"/> </material> </visual> </link> <!--right_back_wheel--> <joint name="right_back_joint" type="continuous"> <origin xyz="-0.20 -0.298 0.109" rpy="1.57 0.0 0.0"/> <parent link="base_link"/> <child link="right_back_link"/> <axis xyz="0.0 1.0 0.0"/> </joint> <link name="right_back_link"> <visual> <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/> <geometry> <cylinder radius="0.109" length="0.04"/> </geometry> <material name="black"> <color rgba="0 0 0 1"/> </material> </visual> </link> <!--left_front_wheel--> <joint name="left_front_joint" type="continuous"> <origin xyz="0.20 0.298 0.109" rpy="1.57 0.0 0.0"/> <parent link="base_link"/> <child link="left_front_link"/> <axis xyz="0.0 1.0 0.0"/> </joint> <link name="left_front_link"> <visual> <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/> <geometry> <cylinder radius="0.109" length="0.04"/> </geometry> <material name="black"> <color rgba="0 0 0 1"/> </material> </visual> </link> <!--right_front_wheel--> <joint name="right_front_joint" type="continuous"> <origin xyz="0.20 -0.298 0.109" rpy="1.57 0.0 0.0"/> <parent link="base_link"/> <child link="right_front_link"/> <axis xyz="0.0 1.0 0.0"/> </joint> <link name="right_front_link"> <visual> <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/> <geometry> <cylinder radius="0.109" length="0.04"/> </geometry> <material name="black"> <color rgba="0 0 0 1"/> </material> </visual> </link> </robot> ``` 3. launch文件 ```launch <launch> <!-- 设置机器人模型路径参数 --> <param name="robot_description" textfile="$(find jubot_demo)/urdf/jubot_base.urdf" /> <!-- 运行joint_state_publisher节点,发布机器人的关节状态 --> <node name="joint_state_publisher_gui" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" /> <!-- 运行robot_state_publisher节点,发布tf --> <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" /> <!-- 运行rviz可视化界面 --> <node name="rviz" pkg="rviz" type="rviz" args="-d $(find jubot_demo)/config/jubot_urdf.rviz" required="true" /> </launch> ``` 4. 圖形化顯示 ``` sudo apt-get install liburdfdom-tools ``` urdf 資料夾中使用指令 ``` check_urdf jubot_base.urdf ``` ``` urdf_to_graphiz jubot_base.urdf ```