前言
本篇博客是自己的学习记录,不对任何言论负责!如果中间有任何错误欢迎指出。^ ^
简单介绍一下环境配置Ubuntu20.04 Gazebo11 PX4 1.13
1. 如何在已有的模型上添加东西
举例:在无人艇的船板上添加apriltag
笔者这里用的是sandisland.launch文件,无人艇作为可控对象,直接在launch文件中就有相关的模型的定义。
在这个场景下,对无人艇的定义如下:
<!-- Load robot model -->
<arg name="urdf" default="$(find wamv_gazebo)/urdf/wamv_gazebo.urdf.xacro"/>
<param name="$(arg namespace)/robot_description"
command="$(find xacro)/xacro --inorder '$(arg urdf)'
thruster_config:=$(arg thrust_config)
camera_enabled:=$(arg camera_enabled)
gps_enabled:=$(arg gps_enabled)
imu_enabled:=$(arg imu_enabled)
lidar_enabled:=$(arg lidar_enabled)
ground_truth_enabled:=$(arg ground_truth_enabled)
namespace:=$(arg namespace) "/>
根据这段代码,找到这个模型对应的相关的文件,此处为wamv_gazebo.urdf.xacro,再根据前面的路径找到该文件,有的时候文件重复的比较多,容易找错。
然后在这个文件当中,可以看到一段代码是对无人艇这个模型自身的定义,而不是其他的什么传感器。
<!-- === The WAM-V platform === -->
<xacro:include filename="$(find wamv_gazebo)/urdf/wamv_gazebo.xacro"/>
再进入wamv_gazebo.xacro这个文件。以下是这个文件的全部内容:
<?xml version="1.0"?>
<robot xmlns:xacro="http://ros.org/wiki/xacro">
<!-- Macro to create a WAM-V with dyanmics plugins and a customizeable thruster layout -->
<xacro:macro name="wamv_gazebo" params="thruster_layout">
<!-- Include macros for dynamics plugins -->
<xacro:include filename="$(find wamv_gazebo)/urdf/macros.xacro" />
<!-- Defines the base vehicle -->
<xacro:include filename="$(find wamv_description)/urdf/wamv_base.urdf.xacro" />
<!-- Thruster Layout -->
<xacro:include filename="${thruster_layout}"/>
<!-- Attach hydrodynamics plugin -->
<xacro:usv_dynamics_gazebo name="wamv_dynamics_plugin"/>
</xacro:macro>
</robot>
大致看一下可以发现wamv_base.urdf.xacro这个文件就是封装这个无人艇模型的最终文件。
<?xml version="1.0"?>

最低0.47元/天 解锁文章
886

被折叠的 条评论
为什么被折叠?



