Pixhawk4+Up Board / NUC Implement VIO By Deploying T265

2023-05-16

How learning without GFW

Reference Links

Open links below in sequence.
(Things you need to learn, or following Overall Steps below but get nothing )
Some are combined by same web page.

ROS Tutorials

PX4 User Guide
PX4 Development Guide

Initial Setup

Ubuntu Development Environment
PX4 Buliding(Alternative)

Companion Computer

MAVLink
MAVROS Installation
MAVLink Router(Alternative)

VIO Introduction

MAVLink Interface
T265
VIO Git
VIO Dependence
Realsense-ros
Vision_to_Mavros

MAVLink Inspector
Flight Analysis which is really important.
(Matlab is available of course)

cnROS_T

cnPX4_UG
cnPX4_DG

PX4 User/Development Guide & ROS Tutorials in Chinese.
(Recommend BUT Reference)

QGC User Guide
Flight Modes
Flight Modes Setup
Vehicle Status Notifications !!! MUST Remember and Check before each Flying Mission !!!


Notes

  1. How to install Java & Ant correctly.(if using Flightplot)
  2. connection between PX4 & Up Board

Overall Steps Beta

Capable in 20.04 tutorial has released. Please check at the end of the article.

Already have drones and a PC installed QGC?

Disarm your propellers First !
ESC Calibration
After ESC Calibration, press SWITCH button

Step 1. Choose Companion Computer

Intel NUC or Up Board (both used in my development) or others, with Ubuntu18.04 Mate or 16.04 (18.04 is officially recommend).

Step 2. PX4 Tool Chain

Set on the computer that using QGC for PX4 firmware upgrade.
CC is recommend.
Here’s reference with his notes

git clone https://github.com/PX4/Firmware.git --recursive
bash ./Firmware/Tools/setup/ubuntu.sh
reboot

sudo apt upgrade libignition-math2		//In case of (gazebo: symbol lookup error: xxx_xxx...)


//*************************
//QGC Linux Installtion

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

/**Download QGC from Link above**/

chmod +x ./QGroundControl.AppImage
./QGroundControl.AppImage

//**************************
//Test if Tool Chain successfully configured
//Run QGC first

cd Firmware/
make px4_sitl_default jmavsim /*(or gazebo)*/		//Run Simulation

commander takeoff
commander land

Step 3. Basic Environment Setting: Ros Melodic installed. (or 16.04 & kinetic)

Before Ros installed (python2.7 for 18.04)

sudo apt install python2.7
sudo ln -s /usr/bin/python2.7 /usr/bin/python

Step 4. Install Mavros

MAVROS Installation

mavros is a ROS (1) package that enables MAVLink extendable communication between computers running ROS1 for any MAVLink enabled autopilot, ground station, or peripheral. MAVROS is the “official” supported bridge between ROS1 and the MAVLink protocol.

The easiest way to setup PX4 simulation with ROS on Ubuntu Linux is to use the standard installation script that can be found at Development Environment on Linux > Gazebo with ROS.

wget https://raw.githubusercontent.com/PX4/Devguide/master/build_scripts/ubuntu_sim_ros_melodic.sh

bash ubuntu_sim_ros_melodic.sh

or

sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras

//For 'wget' below
sudo apt-get install openssl
sudo apt-get install libssl-dev

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

Step 5. VIO Dependencies

  1. ROS in step1.
  2. Librealsense
    build it from source or following below bash code
export http_proxy="http://<proxy>:<port>"	//In case the public key cannot be retrieved

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE

sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u

sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils

sudo apt-get install librealsense2-dev
sudo apt-get install librealsense2-dbg
/*Reconnect the Intel RealSense depth camera and run: 
	realsense-viewer
to verify the installation.*/

//sudo apt install python-catkin-tools

Step 6. T265 Dependencies

// realsense2_camera
sudo apt-get install ros-melodic-realsense2-camera
sudo apt install ros-melodic-cv-bridge ros-melodic-image-transport ros-melodic-tf ros-melodic-diagnostic-updater ros-melodic-ddynamic-reconfigure


//**************************
//Realsense SDK
git clone https://github.com/IntelRealSense/librealsense.git

cd librealsense
mkdir build
cd build

cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=true \
-DFORCE_RSUSB_BACKEND=ON -DBUILD_WITH_TM2=false -DIMPORT_DEPTH_CAM_FW=false

sudo make uninstall && make clean && make  && sudo make install


//**************************
//realsense-ros
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src

git clone -b 2.2.7 https://github.com/IntelRealSense/realsense-ros.git
sudo apt-get install ros-melodic-ddynamic-reconfigure

catkin_init_workspace
cd ..

catkin_make clean

/****
There might be a "...find_if... ...suggested alternative: In file included from...from..." error while below catkin_make

vim /home/xxl/catkin_ws/src/realsense-ros/realsense2_camera/src/base_realsense_node.cpp +1854
//Then add 'std::' before 'find_if'
***/

catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
catkin_make install

gedit ~/.bashrc
source ~/catkin_ws/devel/setup.bash
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_ws/

Step 7. Vision_to_Mavros

This is vision_to_mavros project original, you may get something useful.

T265 POSE
在这里插入图片描述

mkdir -p ~/vision_ws/src
cd ~/vision_ws/src
git clone https://github.com/thien94/vision_to_mavros.git
catkin_init_workspace
cd ..
catkin_make

gedit ~/.bashrc
source ~/vision_ws/devel/setup.bash
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/vision_ws/

cd vision_ws/src/vision_to_mavros/launch
vim t265_all_nodes.launch
//TURN <include file="$(find mavros)/launch/apm.launch"/> TO <include file="$(find mavros)/launch/px4.launch"/>

//***
If there is timesync warning during below step, you can

sudo vim /opt/ros/melodic/share/mavros/launch/px4_config.yaml

CHANGE line 12
/
timesync_rate: 0.0
/
/***

Step 8. VIO Installation

cd ~/catkin_ws/src
git clone https://github.com/Auterion/VIO.git

sudo apt install ros-melodic-mavros ros-melodic-mavros-extras		//melodic

cd ~/catkin_ws
catkin build px4_realsense_bridge

source ~/catkin_ws/devel/setup.bash
roslaunch px4_realsense_bridge bridge_mavros.launch		//This launch file starts the mavros node as well.

Step 8. QGC Parameter Setup

Set up Step2. computer’s QGC
Official
在这里插入图片描述
here’s my addition

参数名称设置值
MPC_XY_VEL_MAX (X/Y方向最大速度限制)0.50m/s(1.12mph)
MPC_Z_VEL_MAX_DN (Z轴下降速度限制)0.500m/s(1.12mph)
MPC_Z_VEL_MAX_UP (Z轴上升速度限制)0.500m/s(1.12mph)
PWM_MAX 通道频率上限2000us
PWM_MIN 通道频率下限1000us
CBRK_USB_CHK197848 (禁用USB检查)
EKF2_AID_MASK ()24 (视觉外设编号)
EKF2_HGT_MODE (高度源)Vision
SENS_TEL2_BAUD (TELEM2波特率设置)921600 8N1

Step 9. Connection CC with PX4

Official
。。。
。。。
。。。
Flight_Modes

USE FTDI FT232

sudo chmod 777 /dev/ttyUSB0
sudo vim /opt/ros/melodic/share/mavros/launch/px4.launch

//*****************
/CHANGE/

<arg name="fcu_url" default="/dev/ttyACM0:57600" />

/TO/

<arg name="fcu_url" default="/dev/ttyUSB0:460800" />
*****************//

UDEV<--------MUST DO IT

Step 10. Check Everything

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
/**********************************************/

roslaunch realsense2_camera demo_t265.launch
/***********************************************/

roslaunch mavros px4.launch
/***********************************************/

roslaunch realsense2_camera rs_t265.launch
roslaunch mavros px4.launch
roslaunch vision_to_mavros t265_tf_to_mavros.launch
/************************************************/

roslaunch vision_to_mavros t265_all_nodes.launch
rostopic echo mavros/vision_pose/pose

Step 11. Others

Ros launch automatically. (rm_bringup is recommend)
Easy way.
System Setting -----> login window ----> automatic login

vim start.sh
"
#! /bin/bash
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
source ~/vision_ws/devel/setup.bash
roslaunch vision_to_mavros t265_all_nodes.launch
"

sudo chmod 777 start.sh

Add start.sh to System Startup Application

Now Enjoy

Arm your paddle
RC----POSITION MODE

roslaunch vision_to_mavros t265_all_nodes.launch

Capable in 20.04

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pixhawk4+Up Board / NUC Implement VIO By Deploying T265 的相关文章

  • 解决RuntimeError: implement_array_function method already has a docstring报错问题

    该问题的报错最后一行显示为 xff1a RuntimeError implement array function method already has a docstring 在其错误上面所提示的信息可得知 xff0c pandas nu
  • composite-id class must implement Serializable

    org hibernate MappingException composite id class must implement Serializable com xxx pojo Organization 这一段中 xff0c 最重要的错
  • 我发现无人机把Pixhawk2.4.8换成pixhawk4 不需要换很多东西,也不需要再焊什么东西

    我发现无人机把Pixhawk2 4 8换成pixhawk4 不需要换很多东西 xff0c 也不需要再焊什么东西 xff01 xff01 xff01 其实你Pixhawk2 4 8上面变得接口直接了几样东西 蜂鸣器 安全开关 电源 GPS 真
  • TX2/NUC/树莓派和pixhawk的接线

    看阿木的图他们是接的pixhawk的Telme2口 xff0c 我看了下我pixhawk2 4 8 上面确实是有这个口的 https item taobao com item htm spm 61 a1z10 3 c s w4002 226
  • MSCKF_VIO作者就是用小觅双目摄像头跑的

    https gitee com maxibooksiyi msckf vio GPS 我在youtube上也看到有人用小觅摄像头跑MSCKF VIO 还有小觅自己也写过用小觅摄像头跑MSCKF https blog csdn net sin
  • MSCKF-vio源码阅读

    作为一个菜狗来说 xff0c 一开始弄明白kf ekf等滤波方法实属不易 xff0c 但是一旦理解原理之后再发散到基于滤波的状态估计方法 xff0c 学习起来就会事半功倍 xff0c 就像导航包中的robot pose ekf xff0c
  • NUC主机部署px4+T265

    NUC主机部署px4 43 T265 安装T265驱动及realsense ros安装mavros安装VIO测试 px4使用T265做视觉定位在官方指导手册上给出了相关的教程 xff0c 但有些细节部分比较蛋疼 xff0c 需要修改 xff
  • VINS-MONO运行TUM VIO数据集真实轨迹问题处理

    小loser第一次写记录 xff0c 再次记录一下测试TUM VIO数据集碰到的问题及处理 VINS本身输出的数据需要进行格式转换才能用 xff0c 输出文件修改参考这个博客 Ubuntu 18 04 VINS Mono运行与EVO的评测与
  • AirSim中运行VIO算法(VINS-Mono)

    VINS Mono在AirSim上跑通 文章目录 VINS Mono在AirSim上跑通一 IMU参数配置二 相机参数设置三 AirSim发布数据问题 关于相机 IMU内外参的完整解释 xff0c 可以参考我的另一篇文章 一 IMU参数配置
  • VIO标定(相机和IMU的标定)

    VIO标定 VIO标定分为三个部分 xff0c 相机的标定 xff0c IMU的标定 xff0c 相机和IMU的联合标定 双目相机相机内参标定 xff08 单目相机可以用类似的方法 xff09 标定单目和标定双目的区别 标定单目相机就是简单
  • px4+mavros+offboard控制+gazebo仿真以及与pixhawk4飞控连接(一)

    记录一下自己从px4到板载控制的一系列流程以及踩坑过程 xff0c 希望也可以帮助大家避雷 话不多说直接上干货 一 软 硬件平台 px4版本 xff1a 1 10 1 飞控板 xff1a pixhawk4 ros版本 xff1a melod
  • pixhawk4 mini重启后死机

    pixhawk4 mini通过供电口供电 xff0c telement1口连接数传 xff0c usb口连接树莓派 xff08 机载计算机 xff09 此时如果用QGC地面站数传发送reboot指令 xff0c pixhawk4 mini关
  • NUC安装Ubuntu18.04系统

    NUC安装Ubuntu18 04系统 基本信息前言安装过程配置Ubuntu18 04系统镜像安装系统解决系统字体过大 分辨率低的问题测试 其他软件安装 基本信息 Time xff1a 2021 3 9使用NUC版本 xff1a 猎豹峡谷NU
  • Auterion PX4 VIO代码分析

    也就是PX官方文档给的VIO代码 xff0c 用的T265 也是之前在github里面搜PX4 T265搜到的 https github com Auterion VIO blob master src nodes px4 realsens
  • 20.9.24 msckf_vio学习——源码试用问题

    msckf vio学习参考文见 xff1a https zhuanlan zhihu com p 76347723 本文主要解决在运行时的一些报错问题 xff1a 1 编译时出现没有random numbers的问题 博文 2 测试时 xf
  • UP Board 串口使用心得

    前言 原创文章 xff0c 转载引用务必注明链接 本文使用Markdown写成 xff0c 为获得更好的阅读体验和正常的图片 链接 xff0c 请访问我的博客 xff1a http www cnblogs com sjqlwy p up s
  • 关于VIO中IMU预积分的讲解

    Why VIO 转自 xff1a https zhehangt github io 2019 03 23 SLAM Basic VIOInit 首先我们先简单回顾一下为什么要做VIO xff0c 以及为什么要做VIO初始化 我们知道单目相机
  • 万里挑一!Intel选中研扬UP Squared Board的理由

    xfeff xfeff 近日 xff0c 研扬携手Intel 全力打造一款 UP SQUARED GROVE 物联网开发套件 作为这款套件的核心 UP UP Squared 来自于工业自动化和智能控制解决方案的主要开发商 研扬科技 工业自动
  • 无人机仿真—PX4编译,gazebo仿真及简单off board控制模式下无人机起飞

    无人机仿真 PX4编译 xff0c gazebo仿真及简单off board控制模式下无人机起飞 前言 在上篇记录中 xff0c 已经对整体的PX4仿真环境有了一定的了解 xff0c 现如今就要开始对无人机进行起飞等仿真环境工作 xff0c
  • 滑窗优化——边缘化

    文章目录 一 从高斯分布到信息矩阵 1 1 SLAM 问题概率建模 1 2 SLAM 问题求解 1 3 高斯分布和协方差矩阵 1 4 样例 1 4 1 样例1 1 4 2 样例2 二 舒尔补应用 边际概率 条件概率 2 1 舒尔补的概念 2

随机推荐

  • 完成select的TCP客户端

    include lt stdio h gt include lt sys types h gt include lt sys socket h gt include lt arpa inet h gt include lt netinet
  • vins概述

    基本框架如上 xff0c VINS的功能模块可包括五个部分 xff1a 数据预处理 初始化 后端非线性优化 闭环检测及闭环优化 代码中主要开启了四个线程 xff0c 分别是 xff1a 前端图像跟踪 后端非线性优化 xff08 其中初始化和
  • 软件项目管理总结(全)

    软件项目管理知识综述 第一章知识总结 软件项目管理的作用和重要性 项目管理就是将知识 技能 工具与技术应用于项目活动 xff0c 以满足项目的要求 项目管理通过合理 运用与整合特定项目所需的项目管理过程得以实现 项目管理使组织能够有效且高效
  • FreeRTOS 的任务调度方式和具体任务是怎么切换的

    FreeRTOS操作系统主要是两种任务调度方式 xff1a 抢占式调度 每个任务都有不同的优先级 xff0c 任务会一直运行直到被高优先级任务抢占或者遇到阻塞式的 API 函数 xff0c 比如 vTaskDelay 时间片调度 每个任务都
  • linux/UNIX中如何使用fork函数调用exec函数族,实现子进程做特定操作

    前言 在 Unix Linux 操作系统中 xff0c 进程是一种非常重要的概念 进程是程序执行的实例 xff0c 操作系统会为每个进程分配资源 xff0c 进程之间相互独立 xff0c 可以进行通信 在 Unix Linux 中 xff0
  • Opencv学习----矩阵操作-基本操作

    5 1 基本操作 cv absdiff InputArray src1 InputArray src2 OutputArray dst 计算两个数组之间或数组与标量之间的每元素绝对差值 注意 当阵列具有深度CV 32S时 xff0c 不应用
  • 【Linux】实验报告2 Linux基础命令

    作者 xff5c Ricky 水果摊 时间 xff5c 2022年6月27日 文章目录 实验目的实验原理1 Linux文件系统2 Linux存储位置常用命令存放位置头文件存放位置 3 Linux常用命令路径目录文件 实验内容1 Linux常
  • 【Linux】实验报告3 vi、gcc 和 gdb 的使用

    实验三 编辑器 vi 编译器 gcc 和调试器 gdb 的使用 文章目录 实验三 编辑器 vi 编译器 gcc 和调试器 gdb 的使用实验目的实验原理1 vi和vim简介1 1 vi1 2 vim 2 vi的三种工作模式2 1 命令模式
  • 【Linux】实验报告8 Linux文件系统

    作者 xff5c Ricky的水果摊 时间 xff5c 2022年7月6日 文章目录 实验目的实验内容1 文件信息命令2 基本的命令行文件管理3 文件系统权限操作 实验目的 使用 控制字符 执行特殊功能 xff1b 使用 file 和 st
  • 【Java】学习日记 Day16

    作者 xff5c Ricky 水果摊 时间 xff5c 2022年7月21日 x1f308 今日知识点总结 方法重载 xff08 Overload xff09 1 方法重载的定义 方法重载 是指 Java 允许在同一个类中 xff0c 定义
  • 【信息奥赛题解】昆虫繁殖(详细分析题解 & C++ 代码)

    昆虫繁殖问题 x1f31f 题目名称 昆虫繁殖 题目描述 科学家在热带森林中发现了一种特殊的昆虫 xff0c 这种昆虫的繁殖能力很强 每对成虫过 X X X 个月后开始产卵 xff0c 每月产 Y Y
  • 【期末指北】嵌入式系统——选择题(feat. ChatGPT)

    作者 xff5c Ricky 水果摊 时间 xff5c 2023年2月20日 基本信息 本博客摘录了一些 嵌入式系统 的 常见选择题 xff0c 供有需求的同学们学习使用 部分答案解析由 ChatGPT 生成 xff0c 博主进行审核 使用
  • GPT-4 终问世!旧王已死,新王当立!面对AI,人类真的准备好了吗?

    GPT 4 终问世 xff01 旧王已死 xff0c 新王当立 xff01 面对AI xff0c 人类真的准备好了吗 xff1f 摊主一大早醒来 xff0c 就看见 GPT 4 发布的消息 xff0c 不得不感慨今年 AI 更新的速度真是太
  • 【Linux】如何在 Ubuntu 上安装 Clang 编译器

    Linux Ubuntu 上安装 Clang 编译器 摊主将在本文中介绍如何在 Ubuntu 上安装 Clang 编译器 摊主的个人技术博客 xff1a https rickyxcoder top x1f9d1 x1f3fb x1f4bb
  • 【信息奥赛题解】四平方和(详细分析题解 & C++ 代码)

    x1f4da 四平方和 摊主的个人技术博客 xff1a https rickyxcoder top x1f9d1 x1f3fb x1f4bb 备用站点 xff1a https rickyxcoder gitee io x1f680 题目浏览
  • Python VS C(上篇)

    Python VS C xff08 上篇 xff09 摊主的个人技术博客 xff1a https rickyxcoder top x1f9d1 x1f3fb x1f4bb 备用站点 xff1a https rickyxcoder gitee
  • Opencv学习----Opencv宏定义(CV_8U、CV_8S、CV_16U...)

    数据类型宏定义 xff1a define CV 8U 0 define CV 8S 1 define CV 16U 2 define CV 16S 3 define CV 32S 4 define CV 32F 5 define CV 64
  • 分区助手磁盘移动毁我双系统

    如果电脑装有双系统或者多系统的话 我的是win10 43 ubuntu18 04 xff0c 不要随意用分区助手更改系统盘的分区空间 xff01 xff01 情况是这样的 xff0c 我的win10系统中C盘有200GB 可用空间100GB
  • Python VS C(下篇)

    Python VS C xff08 下篇 xff09 摊主的个人技术博客 xff1a https rickyxcoder top x1f9d1 x1f3fb x1f4bb 备用站点 xff1a https rickyxcoder gitee
  • Pixhawk4+Up Board / NUC Implement VIO By Deploying T265

    How learning without GFW Reference Links Open links below in sequence Things you need to learn or following Overall Step