|
发表于 2021-4-8 16:02:54
8489 浏览 6 回复
[控制算法]
多机仿真中launch文件
在gazebo中进行多机仿真,希望把无人机的模型换成带雷达的模型iris_rplidar,但在多机仿真包含的single_vehicle_spawn.launch文件中的iris模型改为iris_rplidar,仿真中的无人机还是没有雷达,求大佬帮忙!
下列为部分three_uav_mavros_sitl.launch
<!-- PX4 SITL and vehicle spawn -->
<include file="$(find px4)/launch/single_vehicle_spawn.launch">
<arg name="x" value="0"/>
<arg name="y" value="0"/>
<arg name="z" value="0"/>
<arg name="R" value="0"/>
<arg name="P" value="0"/>
<arg name="Y" value="0"/>
<arg name="vehicle" value="$(arg vehicle)"/>
<arg name="mavlink_udp_port" value="14560"/>
<arg name="mavlink_tcp_port" value="4560"/>
<arg name="ID" value="$(arg ID)"/>
</include>
<!-- MAVROS -->
<include file="$(find mavros)/launch/px4.launch">
<arg name="fcu_url" value="$(arg fcu_url)"/>
<arg name="gcs_url" value=""/>
<arg name="tgt_system" value="$(eval 1 + arg('ID'))"/>
<arg name="tgt_component" value="1"/>
</include>
</group>
下为修改的single_vehicle_spawn.launch
<launch>
<!-- Posix SITL environment launch script -->
<!-- launchs PX4 SITL and spawns vehicle -->
<!-- vehicle pose -->
<arg name="x" default="0"/>
<arg name="y" default="0"/>
<arg name="z" default="0"/>
<arg name="R" default="0"/>
<arg name="P" default="0"/>
<arg name="Y" default="0"/>
<!-- vehcile model and config -->
<arg name="est" default="ekf2"/>
<arg name="vehicle" default="iris_rplidar"/>
<arg name="ID" default="1"/>
<env name="PX4_SIM_MODEL" value="$(arg vehicle)" />
<env name="PX4_ESTIMATOR" value="$(arg est)" />
<arg name="mavlink_udp_port" default="14560"/>
<arg name="mavlink_tcp_port" default="4560"/>
|
扫一扫浏览分享
|
|
|
|
|
|
|
楼主|
发表于 2021-4-8 16:22:53
<!-- generate urdf vehicle model -->
<arg name="cmd" default="$(find xacro)/xacro $(find px4)/Tools/sitl_gazebo/models/rotors_description/urdf/$(arg vehicle)_base.xacro rotors_description_dir:=$(find px4)/Tools/sitl_gazebo/models/rotors_description mavlink_udp_port:=$(arg mavlink_udp_port) mavlink_tcp_port:=$(arg mavlink_tcp_port) --inorder"/>
<param command="$(arg cmd)" name="rotors_description"/>
No such file or directory: /home/Firmware/Tools/sitl_gazebo/models/rotors_description/urdf/iris_rplidar_base.xacro
改了模型,在终端中报错,找不到这个模型 |
|
|
|
|
|
|
|
发表于 2021-4-9 10:59:10
|
|
|
|
|
|
|
楼主|
发表于 2021-4-9 14:23:02
感谢您的回答,路径中没有这个iris_rplidar的模型文件,只有iris的文件,如果需要自己添加rplidar雷达的话,应该咋写.xacro文件 |
|
|
|
|
|
|
|
发表于 2021-4-9 18:22:40
了解一下xacro的写法吧,网上相关资源挺多的,随意找一个仿照着写就可以了 |
|
|
|
|
|
|
|
楼主|
发表于 2021-4-10 16:44:04
看了一些xacro的写法,感觉和iris.xacro写法不太一样,例如加imu的写法和网上的一些就不太一样,请问有专门针对无人机模型的一些案例嘛
<xacro:if value="$(arg enable_ground_truth)">
<!-- Mount an IMU providing ground truth. -->
<xacro:imu_plugin_macro
namespace="${namespace}"
imu_suffix="gt"
parent_link="base_link"
imu_topic="ground_truth/imu"
mass_imu_sensor="0.00001"
gyroscope_noise_density="0.0"
gyroscopoe_random_walk="0.0"
gyroscope_bias_correlation_time="1000.0"
gyroscope_turn_on_bias_sigma="0.0"
accelerometer_noise_density="0.0"
accelerometer_random_walk="0.0"
accelerometer_bias_correlation_time="300.0"
accelerometer_turn_on_bias_sigma="0.0"
>
<inertia ixx="0.00001" ixy="0.0" ixz="0.0" iyy="0.00001" iyz="0.0" izz="0.00001" />
<origin xyz="0 0 0" rpy="0 0 0" />
</xacro:imu_plugin_macro> |
|
|
|
|
|
|
|
发表于 2021-4-12 11:19:35
imu就是一个传感器,跟无人机,无人车这些对象相关性不大,只要这个imu仿真模块给你的数据是你需要的就行。 |
|
|
|
|
|
|
|