Skip to main content Skills Marktplatz Entdecken und erkunden Sie KI-Skills, die von der Community erstellt wurden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Prompt kopierenPrompt-Details anzeigen Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
npx skills add https://github.com/MIUAV/vibe-coding-ros2 --skill sdf-xacro-modelDer Befehl bleibt in einer Zeile. Scrollen Sie horizontal, um ihn vor dem Kopieren vollständig zu prüfen.
Sie bevorzugen eine lokale Kopie? Laden Sie die Dateien herunter, die SkillsMP derzeit vorliegen.
ZIP herunterladen Herunterladen... Mehr aus diesem Repository
Verwandte Berufe SOC
Basierend auf der SOC-Berufsklassifikation
name sdf-xacro-model description 轮式车辆 SDF/XACRO 模型开发技能 - 差速驱动车、阿克曼车、履带车模型创建与仿真配置 argument-hint 创建轮式车辆模型 OR 差速驱动 OR 阿克曼模型 OR 履带车 user-invocable true
Wheeled Vehicle SDF/XACRO Model Skill
用于创建轮式移动机器人的 SDF 和 XACRO 模型
何时使用
当需要以下帮助时使用此技能:
创建差速驱动轮式机器人
创建阿克曼转向车辆
创建履带式机器人
配置轮式车辆传感器
设置仿真环境参数
快速参考
车辆类型选择
差速驱动车辆
SDF 模型 - 完整示例
<?xml version="1.0" ?>
<sdf version ="1.11" >
<model name ="diff_drive_robot" >
<static > false</static >
<self_collide > false</self_collide >
<link name ="base_link" >
<pose > 0 0 0.1 0 0 0</pose >
<inertial >
<mass > 10.0</mass >
<inertia >
<ixx > 0.1</ixx > <ixy > 0</ixy > <ixz > 0</ixz >
<iyy > 0.1</iyy > <iyz > 0</iyz >
<izz > 0.1</izz >
</inertia >
</inertial >
<collision name ="base_collision" >
<geometry >
<box >
<size > 0.5 0.4 0.1</size >
</box >
</geometry >
</collision >
<visual name ="base_visual" >
<geometry >
<box >
<size > 0.5 0.4 0.1</size >
</box >
</geometry >
<material >
<ambient > 0.3 0.3 0.3 1</ambient >
<diffuse > 0.3 0.3 0.3 1</diffuse >
</material >
</visual >
</link >
<link name ="wheel_fl" >
<pose > 0.2 0.25 0 0 0 0</pose >
<inertial >
<mass > 0.5</mass >
<inertia >
<ixx > 0.001</ixx > <ixy > 0</ixy > <ixz > 0</ixz >
<iyy > 0.001</iyy > <iyz > 0</iyz >
<izz > 0.001</izz >
</inertia >
</inertial >
<collision name ="wheel_fl_collision" >
<geometry >
<cylinder >
<radius > 0.1</radius >
<length > 0.05</length >
</cylinder >
</geometry >
<surface >
<friction >
<ode >
<mu > 1.0</mu >
<mu2 > 1.0</mu2 >
</ode >
</friction >
</surface >
</collision >
<visual name ="wheel_fl_visual" >
<geometry >
<cylinder >
<radius > 0.1</radius >
<length > 0.05</length >
</cylinder >
</geometry >
<material >
<ambient > 0.1 0.1 0.1 1</ambient >
</material >
</visual >
</link >
<joint name ="wheel_fl_joint" type ="continuous" >
<parent > base_link</parent >
<child > wheel_fl</child >
<axis >
<xyz > 0 1 0</xyz >
</axis >
</joint >
<link name ="wheel_fr" >
<pose > 0.2 -0.25 0 0 0 0</pose >
<inertial >
<mass > 0.5</mass >
<inertia >
<ixx > 0.001</ixx > <ixy > 0</ixy > <ixz > 0</ixz >
<iyy > 0.001</iyy > <iyz > 0</iyz >
<izz > 0.001</izz >
</inertia >
</inertial >
<collision name ="wheel_fr_collision" >
<geometry >
<cylinder >
<radius > 0.1</radius >
<length > 0.05</length >
</cylinder >
</geometry >
</collision >
<visual name ="wheel_fr_visual" >
<geometry >
<cylinder >
<radius > 0.1</radius >
<length > 0.05</length >
</cylinder >
</geometry >
<material >
<ambient > 0.1 0.1 0.1 1</ambient >
</material >
</visual >
</link >
<joint name ="wheel_fr_joint" type ="continuous" >
<parent > base_link</parent >
<child > wheel_fr</child >
<axis >
<xyz > 0 1 0</xyz >
</axis >
</joint >
<link name ="wheel_rl" >
<pose > -0.2 0.25 0 0 0 0</pose >
<inertial >
<mass > 0.5</mass >
<inertia >
<ixx > 0.001</ixx > <ixy > 0</ixy > <ixz > 0</ixz >
<iyy > 0.001</iyy > <iyz > 0</iyz >
<izz > 0.001</izz >
</inertia >
</inertial >
<collision name ="wheel_rl_collision" >
<geometry >
<cylinder >
<radius > 0.1</radius >
<length > 0.05</length >
</cylinder >
</geometry >
</collision >
<visual name ="wheel_rl_visual" >
<geometry >
<cylinder >
<radius > 0.1</radius >
<length > 0.05</length >
</cylinder >
</geometry >
<material >
<ambient > 0.1 0.1 0.1 1</ambient >
</material >
</visual >
</link >
<joint name ="wheel_rl_joint" type ="continuous" >
<parent > base_link</parent >
<child > wheel_rl</child >
<axis >
<xyz > 0 1 0</xyz >
</axis >
</joint >
<link name ="wheel_rr" >
<pose > -0.2 -0.25 0 0 0 0</pose >
<inertial >
<mass > 0.5</mass >
<inertia >
<ixx > 0.001</ixx > <ixy > 0</ixy > <ixz > 0</ixz >
<iyy > 0.001</iyy > <iyz > 0</iyz >
<izz > 0.001</izz >
</inertia >
</inertial >
<collision name ="wheel_rr_collision" >
<geometry >
<cylinder >
<radius > 0.1</radius >
<length > 0.05</length >
</cylinder >
</geometry >
</collision >
<visual name ="wheel_rr_visual" >
<geometry >
<cylinder >
<radius > 0.1</radius >
<length > 0.05</length >
</cylinder >
</geometry >
<material >
<ambient > 0.1 0.1 0.1 1</ambient >
</material >
</visual >
</link >
<joint name ="wheel_rr_joint" type ="continuous" >
<parent > base_link</parent >
<child > wheel_rr</child >
<axis >
<xyz > 0 1 0</xyz >
</axis >
</joint >
<link name ="laser_link" >
<pose > 0.25 0 0.15 0 0 0</pose >
<sensor name ="laser" type ="gpu_lidar" >
<update_rate > 10</update_rate >
<ray >
<scan >
<horizontal >
<samples > 360</samples >
<resolution > 1</resolution >
</horizontal >
</scan >
<range >
<min > 0.1</min >
<max > 30</max >
</range >
</ray >
<plugin filename ="gz-sim-sensors-gpu-lidar" name ="gz::sim::systems::GpuRaySensor" >
<ros >
<namespace > /robot</namespace >
</ros >
</plugin >
</sensor >
</link >
<joint name ="laser_joint" type ="fixed" >
<parent > base_link</parent >
<child > laser_link</child >
</joint >
<plugin filename ="gz-sim-diff-drive-system" name ="gz::sim::systems::DiffDrive" >
<left_joint > wheel_fl_joint</left_joint >
<right_joint > wheel_fr_joint</right_joint >
<left_joint > wheel_rl_joint</left_joint >
<right_joint > wheel_rr_joint</right_joint >
<wheel_radius > 0.1</wheel_radius >
<wheel_separation > 0.5</wheel_separation >
<max_wheel_torque > 20</max_wheel_torque >
<max_wheel_velocity > 10</max_wheel_velocity >
</plugin >
</model >
</sdf >
XACRO 模型
<?xml version="1.0" ?>
<robot name ="diff_drive_robot" xmlns:xacro ="http://www.ros.org/wiki/xacro" >
<xacro:property name ="PI" value ="3.14159265358979" />
<xacro:property name ="base_mass" value ="10.0" />
<xacro:property name ="base_length" value ="0.5" />
<xacro:property name ="base_width" value ="0.4" />
<xacro:property name ="base_height" value ="0.1" />
<xacro:property name ="wheel_radius" value ="0.1" />
<xacro:property name ="wheel_width" value ="0.05" />
<xacro:property name ="wheel_mass" value ="0.5" />
<xacro:property name = = />
1.0
1.0
/robot
cmd_vel:=cmd_vel
odom:=odom
50
wheel_fl_joint
wheel_fr_joint
${wheel_separation}
${wheel_radius}
20
10
阿克曼转向车辆
SDF 模型
<?xml version="1.0" ?>
<sdf version ="1.11" >
<model name ="ackermann_vehicle" >
<static > false</static >
<link name ="chassis" >
<pose > 0 0 0.2 0 0 0</pose >
<inertial >
<mass > 50.0</mass >
<inertia >
<ixx > 0.5</ixx > <ixy > 0</ixy > <ixz > 0</ixz >
<iyy > 0.8</iyy > <iyz > 0</iyz >
<izz > 0.8</izz >
</inertia >
</inertial >
<collision name ="chassis_collision" >
1.0 0.5 0.2
1.0 0.5 0.2
0.4 0.2 0.1 1
0.4 0 0.1 0 0 0
5.0
0.01 0 0
0.01 0
0.01
0.1 0.4 0.1
0.1 0.4 0.1
0.2 0.2 0.2 1
chassis
front_axle
0 0 1
-0.5
0.5
0.4 0.3 0.1 0 0 0
2.0
0.01 0 0
0.01 0
0.01
0.15
0.1
0.15
0.1
0.1 0.1 0.1 1
front_axle
wheel_fl
0 1 0
0.4 -0.3 0.1 0 0 0
2.0
0.01 0 0
0.01 0
0.01
0.15
0.1
0.15
0.1
0.1 0.1 0.1 1
front_axle
wheel_fr
0 1 0
-0.4 0.25 0.1 0 0 0
2.0
0.01 0 0
0.01 0
0.01
0.15
0.1
0.15
0.1
0.1 0.1 0.1 1
chassis
wheel_rl
0 1 0
-0.4 -0.25 0.1 0 0 0
2.0
0.01 0 0
0.01 0
0.01
0.15
0.1
0.15
0.1
0.1 0.1 0.1 1
chassis
wheel_rr
0 1 0
wheel_fl_joint
wheel_fr_joint
wheel_rl_joint
wheel_rr_joint
front_steering_joint
0.15
0.6
0.8
0.5
履带式车辆
SDF 模型
<?xml version="1.0" ?>
<sdf version ="1.11" >
<model name ="tracked_vehicle" >
<static > false</static >
<link name ="chassis" >
<pose > 0 0 0.15 0 0 0</pose >
<inertial >
<mass > 30.0</mass >
<inertia >
<ixx > 0.3</ixx > <ixy > 0</ixy > <ixz > 0</ixz >
<iyy > 0.5</iyy > <iyz > 0</iyz >
<izz > 0.5</izz >
</inertia >
</inertial >
<collision name ="chassis_collision" >
0.8 0.4 0.15
0.8 0.4 0.15
0.3 0.3 0.2 1
0 0.25 0 0 0 0
5.0
0.05 0 0
0.05 0
0.05
0.8 0.1 0.1
2.0
2.0
0.8 0.1 0.1
0.1 0.1 0.1 1
chassis
track_left
0 1 0
0 -0.25 0 0 0 0
5.0
0.05 0 0
0.05 0
0.05
0.8 0.1 0.1
2.0
2.0
0.8 0.1 0.1
0.1 0.1 0.1 1
chassis
track_right
0 1 0
track_left_joint
track_right_joint
0.1
0.5
50
5
传感器配置
轮式车辆常用传感器
<link name ="front_laser_link" >
<pose > 0.4 0 0.15 0 0 0</pose >
<sensor name ="front_laser" type ="gpu_lidar" >
<update_rate > 10</update_rate >
<ray >
<scan >
<horizontal >
<samples > 360</samples >
<resolution > 1</resolution >
</horizontal >
</scan >
<range >
<min > 0.1</min >
<max > 30</max >
</range >
</ray >
<plugin filename ="gz-sim-sensors-gpu-lidar" name ="gz::sim::systems::GpuRaySensor" >
<ros >
<namespace > /robot
0.3 0 0.2 0 0.3 0
30
1.57
640
480
/robot
0 0 0.1 0 0 0
100
/robot
0 0 0.2 0 0 0
10
/robot
环境参数配置
地面摩擦参数
<gazebo reference ="wheel" >
<surface >
<friction >
<ode >
<mu > 1.0</mu >
<mu2 > 1.0</mu2 >
<fdir1 > 0 0 1</fdir1 >
<slip1 > 0</slip1 >
<slip2 > 0</slip2 >
</ode >
<contact >
<kp > 1e7</kp >
<kd > 1</kd >
</contact >
</friction >
</surface >
</gazebo >
负载配置
<gazebo reference ="base_link" >
<mass > 2.0</mass >
</gazebo >
常见问题
问题 1: 机器人滑动
解决方案 :
增加轮子摩擦系数 (mu > 1.0)
检查关节阻尼设置
验证驱动扭矩
问题 2: 转向不准
解决方案 :
调整阿克曼转向角度限制
验证前轴位置
检查转向关节限位
相关资源
另见
"wheel_separation"
value
"0.5"
<xacro:property name ="wheel_base" value ="0.4" />
<xacro:macro name ="base_link" >
<link name ="base_link" >
<inertial >
<mass value ="${base_mass}" />
<inertia
ixx ="${base_mass / 12 * (base_width**2 + base_height**2)}"
ixy ="0" ixz ="0"
iyy ="${base_mass / 12 * (base_length**2 + base_height**2)}"
iyz ="0"
izz ="${base_mass / 12 * (base_length**2 + base_width**2)}" />
</inertial >
<collision >
<geometry >
<box size ="${base_length} ${base_width} ${base_height}" />
</geometry >
</collision >
<visual >
<geometry >
<box size ="${base_length} ${base_width} ${base_height}" />
</geometry >
<material name ="grey" >
<color rgba ="0.3 0.3 0.3 1" />
</material >
</visual >
</link >
</xacro:macro >
<xacro:macro name ="wheel" params ="name x y" >
<joint name ="${name}_joint" type ="continuous" >
<origin xyz ="${x} ${y} 0" rpy ="-${PI/2} 0 0" />
<parent link ="base_link" />
<child link ="${name}" />
<axis xyz ="0 0 1" />
<dynamics damping ="0.1" friction ="0.5" />
</joint >
<link name ="${name}" >
<inertial >
<mass value ="${wheel_mass}" />
<inertia
ixx ="${wheel_mass * wheel_radius**2 / 2}"
ixy ="0" ixz ="0"
iyy ="${wheel_mass * wheel_radius**2 / 2}"
iyz ="0"
izz ="${wheel_mass * wheel_radius**2 / 2}" />
</inertial >
<collision >
<geometry >
<cylinder radius ="${wheel_radius}" length ="${wheel_width}" />
</geometry >
<surface >
<friction >
<ode >
<mu >
</mu >
<mu2 >
</mu2 >
</ode >
</friction >
</surface >
</collision >
<visual >
<geometry >
<cylinder radius ="${wheel_radius}" length ="${wheel_width}" />
</geometry >
<material name ="black" >
<color rgba ="0.1 0.1 0.1 1" />
</material >
</visual >
</link >
</xacro:macro >
<xacro:base_link />
<xacro:wheel name ="wheel_fl" x ="${wheel_base/2}" y ="${wheel_separation/2}" />
<xacro:wheel name ="wheel_fr" x ="${wheel_base/2}" y ="-${wheel_separation/2}" />
<xacro:wheel name ="wheel_rl" x ="-${wheel_base/2}" y ="${wheel_separation/2}" />
<xacro:wheel name ="wheel_rr" x ="-${wheel_base/2}" y ="-${wheel_separation/2}" />
<gazebo >
<plugin filename ="libgazebo_ros_diff_drive.so" name ="gazebo_ros_diff_drive" >
<ros >
<namespace >
</namespace >
<remap >
</remap >
<remap >
</remap >
</ros >
<update_rate >
</update_rate >
<left_joint >
</left_joint >
<right_joint >
</right_joint >
<wheel_separation >
</wheel_separation >
<wheel_radius >
</wheel_radius >
<max_wheel_torque >
</max_wheel_torque >
<max_wheel_velocity >
</max_wheel_velocity >
</plugin >
</gazebo >
</robot >
<geometry >
<box >
<size >
</size >
</box >
</geometry >
</collision >
<visual name ="chassis_visual" >
<geometry >
<box >
<size >
</size >
</box >
</geometry >
<material >
<ambient >
</ambient >
</material >
</visual >
</link >
<link name ="front_axle" >
<pose >
</pose >
<inertial >
<mass >
</mass >
<inertia >
<ixx >
</ixx >
<ixy >
</ixy >
<ixz >
</ixz >
<iyy >
</iyy >
<iyz >
</iyz >
<izz >
</izz >
</inertia >
</inertial >
<collision name ="front_axle_collision" >
<geometry >
<box >
<size >
</size >
</box >
</geometry >
</collision >
<visual name ="front_axle_visual" >
<geometry >
<box >
<size >
</size >
</box >
</geometry >
<material >
<ambient >
</ambient >
</material >
</visual >
</link >
<joint name ="front_steering_joint" type ="revolute" >
<parent >
</parent >
<child >
</child >
<axis >
<xyz >
</xyz >
<limit >
<lower >
</lower >
<upper >
</upper >
</limit >
</axis >
</joint >
<link name ="wheel_fl" >
<pose >
</pose >
<inertial >
<mass >
</mass >
<inertia >
<ixx >
</ixx >
<ixy >
</ixy >
<ixz >
</ixz >
<iyy >
</iyy >
<iyz >
</iyz >
<izz >
</izz >
</inertia >
</inertial >
<collision name ="wheel_fl_collision" >
<geometry >
<cylinder >
<radius >
</radius >
<length >
</length >
</cylinder >
</geometry >
</collision >
<visual name ="wheel_fl_visual" >
<geometry >
<cylinder >
<radius >
</radius >
<length >
</length >
</cylinder >
</geometry >
<material >
<ambient >
</ambient >
</material >
</visual >
</link >
<joint name ="wheel_fl_joint" type ="continuous" >
<parent >
</parent >
<child >
</child >
<axis >
<xyz >
</xyz >
</axis >
</joint >
<link name ="wheel_fr" >
<pose >
</pose >
<inertial >
<mass >
</mass >
<inertia >
<ixx >
</ixx >
<ixy >
</ixy >
<ixz >
</ixz >
<iyy >
</iyy >
<iyz >
</iyz >
<izz >
</izz >
</inertia >
</inertial >
<collision name ="wheel_fr_collision" >
<geometry >
<cylinder >
<radius >
</radius >
<length >
</length >
</cylinder >
</geometry >
</collision >
<visual name ="wheel_fr_visual" >
<geometry >
<cylinder >
<radius >
</radius >
<length >
</length >
</cylinder >
</geometry >
<material >
<ambient >
</ambient >
</material >
</visual >
</link >
<joint name ="wheel_fr_joint" type ="continuous" >
<parent >
</parent >
<child >
</child >
<axis >
<xyz >
</xyz >
</axis >
</joint >
<link name ="wheel_rl" >
<pose >
</pose >
<inertial >
<mass >
</mass >
<inertia >
<ixx >
</ixx >
<ixy >
</ixy >
<ixz >
</ixz >
<iyy >
</iyy >
<iyz >
</iyz >
<izz >
</izz >
</inertia >
</inertial >
<collision name ="wheel_rl_collision" >
<geometry >
<cylinder >
<radius >
</radius >
<length >
</length >
</cylinder >
</geometry >
</collision >
<visual name ="wheel_rl_visual" >
<geometry >
<cylinder >
<radius >
</radius >
<length >
</length >
</cylinder >
</geometry >
<material >
<ambient >
</ambient >
</material >
</visual >
</link >
<joint name ="wheel_rl_joint" type ="continuous" >
<parent >
</parent >
<child >
</child >
<axis >
<xyz >
</xyz >
</axis >
</joint >
<link name ="wheel_rr" >
<pose >
</pose >
<inertial >
<mass >
</mass >
<inertia >
<ixx >
</ixx >
<ixy >
</ixy >
<ixz >
</ixz >
<iyy >
</iyy >
<iyz >
</iyz >
<izz >
</izz >
</inertia >
</inertial >
<collision name ="wheel_rr_collision" >
<geometry >
<cylinder >
<radius >
</radius >
<length >
</length >
</cylinder >
</geometry >
</collision >
<visual name ="wheel_rr_visual" >
<geometry >
<cylinder >
<radius >
</radius >
<length >
</length >
</cylinder >
</geometry >
<material >
<ambient >
</ambient >
</material >
</visual >
</link >
<joint name ="wheel_rr_joint" type ="continuous" >
<parent >
</parent >
<child >
</child >
<axis >
<xyz >
</xyz >
</axis >
</joint >
<plugin filename ="gz-sim-ackermann-steering-system" name ="gz::sim::systems::AckermannSteering" >
<left_joint >
</left_joint >
<right_joint >
</right_joint >
<left_rear_joint >
</left_rear_joint >
<right_rear_joint >
</right_rear_joint >
<steering_joint >
</steering_joint >
<wheel_radius >
</wheel_radius >
<wheel_separation >
</wheel_separation >
<axle_length >
</axle_length >
<max_steering_angle >
</max_steering_angle >
</plugin >
</model >
</sdf >
<geometry >
<box >
<size >
</size >
</box >
</geometry >
</collision >
<visual name ="chassis_visual" >
<geometry >
<box >
<size >
</size >
</box >
</geometry >
<material >
<ambient >
</ambient >
</material >
</visual >
</link >
<link name ="track_left" >
<pose >
</pose >
<inertial >
<mass >
</mass >
<inertia >
<ixx >
</ixx >
<ixy >
</ixy >
<ixz >
</ixz >
<iyy >
</iyy >
<iyz >
</iyz >
<izz >
</izz >
</inertia >
</inertial >
<collision name ="track_left_collision" >
<geometry >
<box >
<size >
</size >
</box >
</geometry >
<surface >
<friction >
<ode >
<mu >
</mu >
<mu2 >
</mu2 >
</ode >
</friction >
</surface >
</collision >
<visual name ="track_left_visual" >
<geometry >
<box >
<size >
</size >
</box >
</geometry >
<material >
<ambient >
</ambient >
</material >
</visual >
</link >
<joint name ="track_left_joint" type ="continuous" >
<parent >
</parent >
<child >
</child >
<axis >
<xyz >
</xyz >
</axis >
</joint >
<link name ="track_right" >
<pose >
</pose >
<inertial >
<mass >
</mass >
<inertia >
<ixx >
</ixx >
<ixy >
</ixy >
<ixz >
</ixz >
<iyy >
</iyy >
<iyz >
</iyz >
<izz >
</izz >
</inertia >
</inertial >
<collision name ="track_right_collision" >
<geometry >
<box >
<size >
</size >
</box >
</geometry >
<surface >
<friction >
<ode >
<mu >
</mu >
<mu2 >
</mu2 >
</ode >
</friction >
</surface >
</collision >
<visual name ="track_right_visual" >
<geometry >
<box >
<size >
</size >
</box >
</geometry >
<material >
<ambient >
</ambient >
</material >
</visual >
</link >
<joint name ="track_right_joint" type ="continuous" >
<parent >
</parent >
<child >
</child >
<axis >
<xyz >
</xyz >
</axis >
</joint >
<plugin filename ="gz-sim-diff-drive-system" name ="gz::sim::systems::DiffDrive" >
<left_joint >
</left_joint >
<right_joint >
</right_joint >
<wheel_radius >
</wheel_radius >
<wheel_separation >
</wheel_separation >
<max_wheel_torque >
</max_wheel_torque >
<max_wheel_velocity >
</max_wheel_velocity >
</plugin >
</model >
</sdf >
</namespace >
</ros >
</plugin >
</sensor >
</link >
<link name ="camera_link" >
<pose >
</pose >
<sensor name ="camera" type ="rgbd_camera" >
<update_rate >
</update_rate >
<camera >
<horizontal_fov >
</horizontal_fov >
<image >
<width >
</width >
<height >
</height >
</image >
</camera >
<plugin filename ="gz-sim-sensors-rgbd-camera-system" name ="gz::sim::systems::RgbdCamera" >
<ros >
<namespace >
</namespace >
</ros >
</plugin >
</sensor >
</link >
<link name ="imu_link" >
<pose >
</pose >
<sensor name ="imu" type ="imu" >
<update_rate >
</update_rate >
<plugin filename ="gz-sim-sensors-imu-system" name ="gz::sim::systems::Imu" >
<ros >
<namespace >
</namespace >
</ros >
</plugin >
</sensor >
</link >
<link name ="gps_link" >
<pose >
</pose >
<sensor name ="gps" type ="gps" >
<update_rate >
</update_rate >
<plugin filename ="gz-sim-sensors-gps-system" name ="gz::sim::systems::Gps" >
<ros >
<namespace >
</namespace >
</ros >
</plugin >
</sensor >
</link >