从0入门自主空中机器人-3-【环境与常用软件安装】

关于本课程:

本次课程是一套面向对自主空中机器人 感兴趣的学生、爱好者、相关从业人员的免费课程,包含了从硬件组装机载电脑环境设置代码部署、实机实验等全套详细流程,带你从0开始,组装属于自己的自主无人机,并让它可以在未知的环境中自由避障穿行。

本次课程的重心主要落在自主空中机器人的搭建、代码部署及调试上,关于自主空中机器人的一些理论基础,例如动力学模型路径搜索 ,轨迹规划,地图构建等内容。

课程视频

B站: 【完结】从0入门自主空中机器人 | 开源 | 浙江大学Fast-Lab

深蓝学院: 从0入门自主空中机器人

相关源码

GitHub: https://github.com/ZJU-FAST-Lab/Fast-Drone-250

Gitee: https://gitee.com/pn_code/Fast-Drone-250

1. 机载电脑环境安装

机载电脑推荐环境

系统:Ubuntu20.04 LST

ROS1:noetic

ROS2:foxy

说明:ROS1和ROS2可以安装在同一个系统,但需要进行一点配置,见【ROS1和ROS2的共存问题】

目前很多算法,包括本教程都是基于ROS1的版本,但ROS2对比ROS1优势很大,而且ROS1目前已经宣布将会在2023年停止更新,因此ROS2已经是大众所趋,建议学有余力的同学在学完ROS1后可以顺带连ROS2也一起学了

1.1 Ubuntu安装

视频教程如下:

教程中推荐笔记本上也安装Ubuntu ,但实际用下来并不推荐安装Ubuntu 在笔记本上,很多软件Windows 也有,而且笔记本的作用主要就是编辑并发送代码文件到机载电脑 上,用VScode +MobaXterm +ssh +nomachine即可

1.2 ROS安装

推荐使用鱼香ros的一键安装脚本:一行代码搭建机器人开发环境(ROS/ROS2/ROSDEP)

shell 复制代码
wget http://fishros.com/install -O fishros && . fishros

开源地址:https://github.com/fishros/install

问题汇总:一键安装 | 鱼香ROS (fishros.org.cn)

更多ROS 的资源及教程参考:ROS资源汇总 | MGodmonkeyの世界

2. 必备软件安装

2.1 realsense驱动安装(RGB-D相机)

参考:https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md

  1. 添加秘钥
sh 复制代码
sudo apt update
sudo apt-get install apt-transport-https
sudo mkdir -p /etc/apt/keyrings
curl -sSf https://librealsense.intel.com/Debian/librealsense.pgp | sudo tee /etc/apt/keyrings/librealsense.pgp > /dev/null
  1. 添加安装源
sh 复制代码
echo "deb [signed-by=/etc/apt/keyrings/librealsense.pgp] https://librealsense.intel.com/Debian/apt-repo `lsb_release -cs` main" | \
sudo tee /etc/apt/sources.list.d/librealsense.list
sudo apt-get update

以下是README.pdf中的方法

sh 复制代码
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
  1. 安装包
sh 复制代码
# 下面两个必装
sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils
sudo apt-get install ros-noetic-realsense2-camera
# 下面两个可选,主要是开发调试用
sudo apt-get install librealsense2-dev
sudo apt-get install librealsense2-dbg
  1. 测试

    realsense-viewer

通过realsense-viewer的指令来检查深度相机是否正确安装并显示

2.2 MAVROS

  1. 介绍

MAVROS相当于PX4飞控中的MAVLINK模块。MAVROS将话题转为MAVLINK格式消息发送给飞控,飞控中的MAVLINK模块将MAVLINK格式消息转化为uORB消息给PX4各模块间传递消息使用,也可以反过来从uORB消息一直到ROS话题。

代码示例看MAVROS Offboard control example就好了,讲得很清楚。

  1. 安装
sh 复制代码
sudo apt-get install ros-noetic-mavros   # 这里的noetic是ros的版本,其他版本自行更换名称
cd /opt/ros/noetic/lib/mavros
sudo ./install_geographiclib_datasets.sh

2.3 git、gcc、g++、python与make

sh 复制代码
sudo apt install git			# git
sudo apt install build-essential # gcc、g++
sudo apt install make			# make
sudo apt install python3		# python3

检查版本

sh 复制代码
git --version
gcc --version
g++ --version
make --version
python3 --version

2.4 ceres、glog与ddyanmic-reconfigure

  • 介绍

    • ceres 是什么
      Ceres Solver是一个开源**C++**库,用于建模和解决大型复杂的优化问题。它可以用于解决具有边界约束和一般无约束优化问题的非线性最小二乘问题。它是一个成熟,功能丰富且高性能的库。Ceres Solver是谷歌2010就开始用于解决优化问题的C++库,2014年开源。在Google地图,Tango项目,以及著名的SLAM系统OKVIS和Cartographer的优化模块中均使用了Ceres Solver。

    • glog是什么

      gloggoogle 出品的c++日志库,提供了很多非常不错的功能,例如日志分等级打印条件打印日志格式化日志文件滚动大小等。

    • ddynamic-reconfigure是什么

      ddynamic-reconfigure 是一个ROS软件包,它提供了一个动态重新配置的框架,可以在运行时修改ROS节点的参数。它可以帮助用户在

      不停止节点的情况下,实时地调整节点的参数,从而优化节点的性能。

  • 下载并解压3rd_party.zip

sh 复制代码
wget https://gitee.com/pn_code/Fast-Drone-250/blob/master/3rd_party.zip
unzip 3rd_party.zip
  • 编译安装
sh 复制代码
cd ./glog
sudo chmod 777 ./autogen.sh
sudo chmod 777 ./configure 
sudo ./autogen.sh && sudo ./configure && sudo make install
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev
cd ../ceres-solver-2.0.0rc1
mkdir build
cd build
cmake ..
sudo make -j4
sudo make install
sudo apt-get install ros-noetic-ddynamic-reconfigure

这里的libcxsparse3如果有错误,参考下面这篇博客【安装Ceres相关依赖时libcxsparse3.1.2报错_安装ceres相关依赖项时显示找不到_振华OPPO的博客-CSDN博客】

2.4 ego-plannner

参考:ZJU-FAST-Lab/ego-planner (gitee.com)的**Readme.md**中的说明

  • 安装uav_simulator 需要的Armadillo
sh 复制代码
sudo apt-get install libarmadillo-dev
  • 下载源码

    From github

sh 复制代码
git clone https://github.com/ZJU-FAST-Lab/ego-planner.git

Or from gitee

sh 复制代码
git clone https://gitee.com/iszhouxin/ego-planner.git
  • 编译源码
sh 复制代码
cd ego-planner
catkin_make -DCMAKE_BUILD_TYPE=Release
  • 执行

ego-planner文件夹的一个终端中,打开rviz进行可视化和交互

sh 复制代码
source devel/setup.bash
roslaunch ego_planner rviz.launch

ego-planner文件夹的另一个终端中,打开仿真

sh 复制代码
source devel/setup.bash
roslaunch ego_planner run_in_sim.launch

3. 常用软件安装

  • vscode
    • 前往【vscode官网】下载Linux x64 deb
    • 使用sudo apt install ****.deb进行安装
  • Terminator
    • 多窗口命令行终端
    • 使用sudo apt install terminator进行安装
  • Plotjuggler
    • 可视化时间时序的工具
    • 使用sudo apt install ros-noetic-plotjuggler ros-noetic-plotjuggler-ros进行安装
    • 使用rosrun plotjuggler plotjuggler进行查看
  • Net-tools
    • 网络工具包,用于查看linux的IP地址
    • 使用sudo apt install net-tools进行安装
    • 使用ifconfig进行查看IP地址
  • ssh
    • 使用sudo apt install openssh-server进行安装
    • 使用ssh终端等工具连接上机载电脑

以上工具的使用方式请自行前往度娘搜索

以上工具的阿里云盘下载地址:【下载入口

{% pdf https://mybog.s3.bitiful.net/ros/word/readme.pdf %}

相关推荐
硅谷秋水2 小时前
在相机空间中落地动作:以观察为中心的视觉-语言-行动策略
机器学习·计算机视觉·语言模型·机器人
视觉语言导航16 小时前
哈工深无人机目标导航新基准!UAV-ON:开放世界空中智能体目标导向导航基准测试
人工智能·深度学习·无人机·具身智能
nenchoumi31191 天前
Tello无人机与LLM模型控制 ROS
人工智能·语言模型·机器人·无人机
Xvisio诠视科技1 天前
WAIC点燃人形机器人热潮,诠视SeerSense® DS80:多感融合的空间感知中枢,重新定义机器三维认知
机器人
爱研究的小牛2 天前
M4T无人机在外墙脱落监测中的应用:从被动补救到主动预防的技术革新
无人机·低空经济
Coovally AI模型快速验证2 天前
SOD-YOLO:基于YOLO的无人机图像小目标检测增强方法
人工智能·yolo·目标检测·机器学习·计算机视觉·目标跟踪·无人机
楚韵天工2 天前
基于GIS的无人机模拟飞行控制系统设计与实现
深度学习·算法·深度优先·无人机·广度优先·迭代加深·图搜索算法
音视频牛哥2 天前
从「行走」到「思考」:机器人进化之路与感知—决策链路的工程化实践
机器学习·机器人·音视频开发
人类发明了工具2 天前
【机器人-开发工具】ROS 2 (4)Jetson Nano 系统Ubuntu22.04安装ROS 2 Humble版本
机器人
夜幕龙3 天前
宇树 G1 部署(十)——数据格式转换与 IL 训练
人工智能·机器人·具身智能