ROS(5)PX4仿真安装及运行

1、配置,提升下载速度

启动

  • $ cd clash-for-linux
  • $ sudo bash start.sh
  • $ source /etc/profile.d/clash.sh
  • $ proxy_on

关闭

  • $ cd clash-for-linux
  • $ sudo bash shutdown.sh
  • $ proxy_off

2、安装PX4开源无人机

bash 复制代码
git clone https://github.com/PX4/PX4-Autopilot.git --recursive

在PX4根目录执行

安装时如果下载较慢,则需要加快下载速度

bash 复制代码
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh --no-sim-tools --no-nuttx
bash 复制代码
sudo apt-get install protobuf-compiler libeigen3-dev libopencv-dev -y

如果有安装失败的情况,执行

复制代码
python3 -m pip install --upgrade pip

python3 -m pip install --upgrade Pillow
bash 复制代码
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh --fix-missing

更新并重启系统

**注意:下方命令为继续下载未下载完的组件,如在github执行clone时出错可执行命令

复制代码
git submodule update --init --recursive

打开gazebo

重启后

make distclean

打开gazebo

make px4_sitl_default gazebo

加载px4 v3部件

加载px4 v3部件

make px4_fmu-v3_default

**报错:arm-none-eabi-gcc

sudo apt-get install gcc-arm-none-eabi

3、利用ros查看无人机飞行

  • cd PX4-Autopilot
  • make px4_sitl_default gazebo
  • 终端输入 commander takeoff ,可以看到无人机起飞
  • 终端输入 commander land , 可以看到无人机降落

添加环境变量

  • source ~/px4/PX4-Autopilot/Tools/simulation/gazebo-classic/setup_gazebo.bash ~/px4/PX4-Autopilot ~/px4/PX4-Autopilot/build/px4_sitl_default
  • export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/px4/PX4-Autopilot
  • export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/px4/PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic

安装mavros

cpp 复制代码
sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras
bash 复制代码
sudo /opt/ros/noetic/lib/mavros/install_geographiclib_datasets.sh

**注意:如果未执行上方安装命令,则会报错 UAS:GeographicLib exception: File not readable

执行命令

bash 复制代码
roslaunch mavros px4.launch

如果出现FCU: DeviceError:serial:open: No such file or directory报错,是由于没有链接硬件所致。

也可以参考树莓派串口通信设置 - 知乎,解决serial0和ttyAMA0映射关系问题

4、安装QGC

Download and Install · QGroundControl User Guidehttps://docs.qgroundcontrol.com/master/en/getting_started/download_and_install.html

  1. On the command prompt enter:

    复制代码
    sudo usermod -a -G dialout $USER
    sudo apt-get remove modemmanager -y
    sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y
    sudo apt install libqt5gui5 -y
    sudo apt install libfuse2 -y
  2. Logout and login again to enable the change to user permissions.

  1. Download QGroundControl.AppImage.(下载后的文件放到指定文件夹中)

  2. Install (and run) using the terminal commands:

    复制代码
    chmod +x ./QGroundControl.AppImage
    ./QGroundControl.AppImage  (or double click)

5、px4仿真

启动gazebo、mavros、px4.launch等

roslaunch px4 mavros_posix_sitl.launch

如果启动成功,可以使用commander takeoff / commander land执行起飞和降落

查看话题列表

rostopic list

相关推荐
额额额对了12 分钟前
Linux 数据库开发实战:使用 C 语言与 SQLite3 构建轻量级终端词典
linux·数据库·oracle
爱笑鱼17 分钟前
Android 系统启动机制(六):Zygote 创建 App 为什么走 Socket?哪些是源码事实,哪些是架构解释?
android·linux
影视飓风TIM18 分钟前
C++哈希表深度剖析:冲突处理、rehash、迭代器与unordered容器封装
c++·哈希算法·散列表
2601_9622998828 分钟前
Linux下运行Python脚本
linux·python·ubuntu·脚本·命令
Zenova EdgeOS33 分钟前
Linux eBPF 工业边缘性能观测实战
linux·服务器·网络
C++ 老炮儿的技术栈36 分钟前
Qt5 使用 QPainter 绘制阿基米德螺线
开发语言·c++·windows·qt·代码化
skywalk81631 小时前
通过下载Ubuntu ova文件在Virtual Box快速安装ubuntu
linux·运维·ubuntu·virtualbox
xxwxx__1 小时前
深入理解 C++ STL:stack、queue 与 deque 从使用到底层实现全解析
开发语言·c++·算法
wuminyu1 小时前
JVM锁膨胀与Futex源码解析
java·linux·c语言·jvm·c++
郝学胜-神的一滴1 小时前
C++11 工程级应用 08:Lambda表达式与Tuple元组
开发语言·jvm·c++·python·程序人生·开源