PX4+gazebo仿真给无人机添加摄像头(转载)

转载自:https://blog.csdn.net/u013083665/article/details/104840286

PX4+gazebo仿真给无人机添加摄像头

1113249853 2020-04-01 13:35:04

1899

收藏 21

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/u013083665/article/details/104840286

版权

1.启动仿真:

cd到Firmware文件夹,执行以下代码

roslaunch px4 mavros_posix_sitl.launch

如果启动过程卡住或者很慢,下载该链接的压缩包https://bitbucket.org/osrf/gazebo_models/downloads/

解压到.gazebo/models文件夹下,该文件夹为隐藏文件夹,按ctrl+h使其显示。如果没有models文件夹,则自己新建一个

启动后输入

commander takeoff

测试其是否正常起飞

2.添加单目摄像头

{path_to_firmware}/launch文件夹中找到mavros_posix_sitl.launch文件,打开

 
  1. <?xml version="1.0"?>

  2. <launch>

  3. <!-- MAVROS posix SITL environment launch script -->

  4. <!-- launches MAVROS, PX4 SITL, Gazebo environment, and spawns vehicle -->

  5. <!-- vehicle pose -->

  6. <arg name="x" default="0"/>

  7. <arg name="y" default="0"/>

  8. <arg name="z" default="0"/>

  9. <arg name="R" default="0"/>

  10. <arg name="P" default="0"/>

  11. <arg name="Y" default="0"/>

  12. <!-- vehicle model and world -->

  13. <arg name="est" default="ekf2"/>

  14. <arg name="vehicle" default="iris"/>

  15. <arg name="my_model" default="iris_fpv_cam"/>

  16. <arg name="world" default="$(find mavlink_sitl_gazebo)/worlds/empty.world"/>

  17. <!-- <arg name="sdf" default="$(find mavlink_sitl_gazebo)/models/$(arg vehicle)/$(arg vehicle).sdf"/>-->

  18. <arg name="sdf" default="$(find mavlink_sitl_gazebo)/models/$(arg my_model)/$(arg my_model).sdf"/>

  19. <!-- gazebo configs -->

  20. <arg name="gui" default="true"/>

  21. <arg name="debug" default="false"/>

  22. <arg name="verbose" default="false"/>

  23. <arg name="paused" default="false"/>

  24. <arg name="respawn_gazebo" default="false"/>

  25. <!-- MAVROS configs -->

  26. <arg name="fcu_url" default="udp://:14540@localhost:14557"/>

  27. <arg name="respawn_mavros" default="false"/>

  28. <!-- PX4 configs -->

  29. <arg name="interactive" default="true"/>

  30. <!-- PX4 SITL and Gazebo -->

  31. <include file="$(find px4)/launch/posix_sitl.launch">

  32. <arg name="x" value="$(arg x)"/>

  33. <arg name="y" value="$(arg y)"/>

  34. <arg name="z" value="$(arg z)"/>

  35. <arg name="R" value="$(arg R)"/>

  36. <arg name="P" value="$(arg P)"/>

  37. <arg name="Y" value="$(arg Y)"/>

  38. <arg name="world" value="$(arg world)"/>

  39. <arg name="vehicle" value="$(arg vehicle)"/>

  40. <arg name="sdf" value="$(arg sdf)"/>

  41. <arg name="gui" value="$(arg gui)"/>

  42. <arg name="interactive" value="$(arg interactive)"/>

  43. <arg name="debug" value="$(arg debug)"/>

  44. <arg name="verbose" value="$(arg verbose)"/>

  45. <arg name="paused" value="$(arg paused)"/>

  46. <arg name="respawn_gazebo" value="$(arg respawn_gazebo)"/>

  47. </include>

  48. <!-- MAVROS -->

  49. <include file="$(find mavros)/launch/px4.launch">

  50. <!-- GCS link is provided by SITL -->

  51. <arg name="gcs_url" value=""/>

  52. <arg name="fcu_url" value="$(arg fcu_url)"/>

  53. <arg name="respawn_mavros" value="$(arg respawn_mavros)"/>

  54. </include>

  55. </launch>

做如下改动:

添加

<arg name="my_model" default="iris_fpv_cam"/>

修改

<arg name="sdf" default="$(find mavlink_sitl_gazebo)/models/$(arg vehicle)/$(arg vehicle).sdf"/> 

<arg name="sdf" default="$(find mavlink_sitl_gazebo)/models/$(arg my_model)/$(arg my_model).sdf"/>

然后保存

3.修改摄像头朝向

打开{path_to_firmware}/Tools/sitl_gazebo/models/iris_fpv_cam中的iris_fpv_cam.sdf文件

修改

 
  1. <include>

  2. <uri>model://fpv_cam</uri>

  3. <pose>0 0 0 0 0 0</pose>

  4. </include>

 
  1. <include>

  2. <uri>model://fpv_cam</uri>

  3. <pose>0 0 0 0 1.57 0</pose>

  4. </include>

其中<pose>0 0 0 0 0 0</pose>为相机朝向参数意义为XYZ,以及以XYZ 为顺序的欧拉角(幅度表示,逆时针为正)

如果想添加下置相机,修改pose为<pose>0 0 0 0 1.57 0</pose>

  • 2
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PX4 Gazebo无人机仿真是一种利用Gazebo仿真软件来模拟现实世界中无人机的行为和环境的方法。通过PX4的源代码,我们可以获得PX4无人机Gazebo模型,通过运行launch文件,我们可以在Gazebo环境中模拟出一个无人机。这种仿真环境可以帮助开发者测试和调试无人机的控制算法和系统。它还可以用于学习ROS系统的基本操作和与无人机进行通讯,如使用MAVROS进行通讯。 在使用PX4 Gazebo无人机仿真的过程中,首先需要打开Gazebo环境,此时会显示一个地面上有一个无人机的场景。然后,我们可以通过使用rostopic echo /mavros/state命令来测试无人机的通讯状态。这个仿真环境可以帮助我们进行无人机的控制和跟踪移动物体等实验。 总结来说,PX4 Gazebo无人机仿真是一种通过Gazebo仿真软件来模拟无人机行为和环境的方法,可以用于测试和调试无人机的控制算法和系统,以及学习ROS系统的基本操作和与无人机进行通讯。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [PX4无人机-Gazebo仿真实现移动物体的跟踪](https://blog.csdn.net/qq_44939973/article/details/120965458)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值