Skip to content

Latest commit

 

History

History
204 lines (139 loc) · 5.42 KB

有关无人机的基础上手配置.md

File metadata and controls

204 lines (139 loc) · 5.42 KB

基本介绍

  • 电脑系统:ubuntu20.04 x64架构
  • 机载电脑:ubuntu20.04 arm64(v8)架构
  • PX4版本:v1.13.3

参考文档

电脑配置

  • Tip:自己的工作电脑(x86)需要完整安装以下所有,机载电脑(arm64)只需完成0~4步

0 切换安装源

参考链接: https://mirrors.ustc.edu.cn/help/ubuntu.html (x86架构) https://mirrors.ustc.edu.cn/help/ubuntu-ports.html (arm64架构)

1 安装 ROS (noetic版本)

参考链接:https://wiki.ros.org/noetic/Installation/Ubuntu (参考英文版)

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt install curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

sudo apt update
sudo apt install ros-noetic-desktop

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

sudo apt install python3-rosdep
sudo rosdep init
rosdep update

2 安装 mavros

参考链接 https://docs.px4.io/v1.13/en/ros/mavros_installation.html 两种安装方式:

  • 二进制安装(推荐):
sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
sudo bash ./install_geographiclib_datasets.sh   
	
  • 源码编译安装(进阶):

	

3 安装 mavlink

sudo apt install ros-noetic-mavlink

4 安装 vrpn_client_ros

sudo apt search vrpn
sudo apt install ros-noetic-vrpn-client-ros

5 下载 PX4 源码并安装所需工具链

参考链接:https://docs.px4.io/v1.13/en/dev_setup/dev_env_linux_ubuntu.html

git clone https://github.com/PX4/PX4-Autopilot.git --recursive
git checkout v1.13.3
git submodule update --init --recursive
sudo bash /home/zhangsk/PX4-Autopilot/Tools/setup/ubuntu.sh
  • px4 源码下在完成后,重启电脑后执行下面操作
make px4_sitl_default gazebo

​ 可能会出现缺失了很多包而报错,只需要按照提示,把这些包都装上就可以了

ROS 联合 gazebo 仿真配置

参考链接:https://docs.px4.io/v1.13/en/simulation/ros_interface.html

  • 将以下代码添加到 .bashrc 文件中(针对v1.13.3版本,不同版本稍有区别)
source /home/zhangsk/PX4-Autopilot/Tools/setup_gazebo.bash /home/zhangsk/PX4-Autopilot /home/zhangsk/PX4-Autopilot/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/zhangsk/PX4-Autopilot
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/zhangsk/PX4-Autopilot/Tools/sitl_gazebo
  • 第一次进行联合仿真的时候可能会出现ResourceNotFound: gazebo_ros报错,使用sudo apt install ros-noetic-gazebo-ros-pkgs

安装 QGC

参考链接:https://docs.qgroundcontrol.com/master/en/getting_started/download_and_install.html

  • 官方给出的是一个AppImage文件,没有应用图标。可以通过以下的方法创建应用图标
1.双击打开QGC
2.进入到 /tmp文件,按下 Ctrl+H 键显示隐藏文件
3.找到QGC的文件,点击进入
	复制QGC的图标和其 .desktop 文件到一个自己创建的文件夹中
4.修改 .desktop 文件中的图标和AppImage路径
5.sudo chmod 777 xxx.desktop
6.sudo cp /your/path/xxx.desktop /usr/share/applications/
  • 打开设置,添加虚拟手柄,否则后续会无法进入offboard模式

创建独立的工作空间

  • 在创建自己的工作空间之前先安装一些工具包

    sudo apt install python3-catkin-tools
    
  • 创建并初始化工作空间,以及创建ros包并编译

    mkdir -p zhangsk_ws/src
    cd zhangsk_ws
    catkin init
    cd src
    catkin_create_pkg xxx_pkg roscpp geometry_msgs
    catkin build
    
  • 将路径添加到配置文件

    echo "source /home/zhangsk/zhangsk_ws/devel/setup.bash" >> .bashrc
    

PX4飞控在使用前的基本设置

  • 以下设置为飞控+机载电脑在使用动捕系统进行定位的前提
    // 修改串口参数
    MAV_2_CONFIG  = TELEM 2
    MAV_2_MODE    = Onboard
    MAV_2_RATE    = 80000
    MAV_2_FORWARD = TRUE
    SER_TEL2_BAUD = 921600
    	
    // 修改EKF参数
    EKF2_AID_MASK = 24
    EKF2_HGT_MODE = VISION
    设置完之后重新进行水平校准
    

机载电脑与飞控的通信 mavros

  • 如果通过有线连接
	// 修改 mavros 下的 px4.launch 文件
	fcu_url:="/dev/ttyTHS0:921600"
	gcs_url:="udp://@{使用qgc的设备ip}"

  • 如果通过wifi模块(数传)连接
	// wifi模块设置如下
	
	
	
	
	// 修改 mavros 下的 px4.launch 文件
	fcu_url:="udp://:{UgCS Port}@{wifi模块的ip}{Local Port}"
	gcs_url:="udp://@{使用qgc的设备ip}"

遇到的一些莫名其妙的bug

在仿真里面运行的程序和实际运行的不太一样,重启电脑也无法解决

	catkin clean // 清空之前的编译文件
	catkin build // 重新编译