PX4与ROS仿真使用

本文详细记录了在Ubuntu系统中安装和配置PX41.12.3版本,以及与ROS的集成过程,包括下载源码、安装依赖、编译PX4和gazebo仿真、安装MAVROS、设置环境变量,以及启动仿真实验。同时提到了硬件运行和多机仿真的方法。
摘要由CSDN通过智能技术生成

最近学习用到了ROS和PX4,ROS的安装和使用wiki上写得很详细,而PX4官方的教程则让我这个小白比较困惑,所以写这篇博客记录一下,防止以后自己遗忘,也供小白参考。下面是我参考官方教程安装和运行PX4仿真的步骤,如有错误,还请各位指出,以免误导他人。

安装PX4

  1. 下载源代码(指定版本1.12.3,最新版本可能会有问题)
git clone -b v1.12.3 https://github.com/PX4/PX4-Autopilot.git --recursive
  1. 安装依赖
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh

以上安装完成后重启

可能需要安装额外的依赖

sudo apt-get install protobuf-compiler libeigen3-dev libopencv-dev -y
  1. 编译
cd PX4-Autopilot
make px4_sitl gazebo

编译完成后出现gazebo仿真界面,表示安装成功,然后退出进行下一步

安装MAVROS

二进制安装

sudo apt-get install ros-${ROS_DISTRO}-mavros ros-${ROS_DISTRO}-mavros-extras ros-${ROS_DISTRO}-mavros-msgs

安装GeographicLib

wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
./install_geographiclib_datasets.sh

如果提示没有权限,则需要添加执行权限

PX4仿真

  1. 添加环境变量

在~/.bashrc后添加以下环境变量

source ~/PX4-Autopilot/Tools/setup_gazebo.bash ~/PX4-Autopilot ~/PX4-Autopilot/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot/Tools/sitl_gazebo
  1. 启动PX4仿真
roslaunch px4 posix_sitl.launch
  1. 在新的终端中启动mavros,与仿真的PX4进行通信
roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:14557"

或者将2、3合成一步

roslaunch px4 mavros_posix_sitl.launch
  1. 查看mavros和PX4连接情况
rostopic echo /mavros/state
  1. 运行自己的ROS节点(官方offboard教程)
rosrun offboard_py offb_node.py

硬件运行PX4

硬件运行与软件仿真不同在于PX4的运行和mavros与PX4的通信,将飞控板通过USB连接电脑就运行PX4了,然后在终端运行

roslaunch mavros px4.launch fcu_url:=/dev/ttyACM0:57600

或者

roslaunch mavros px4.launch

就能使电脑上mavros与PX4飞控进行通信

多机仿真

启动多机仿真

roslaunch px4 multi_uav_mavros_sitl.launch

默认有三个无人机,可以修改launch文件修改无人机个数,同时在offboard里面mavros话题和服务要添加uav0/1/2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值