Skip to content

yuanzhongqiao/mrs_uav_system

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

多机器人系统集团无人机系统

标志

缩略图

多机器人系统小组布拉格捷克技术大学的一个机器人实验室。我们专注于多旋翼直升机,并专门为它们开发了这种控制、估计和仿真系统。我们认为现实世界和可复制的实验应该支持机器人技术的出色研究和科学研究。因此,我们的平台旨在允许对规划、控制、估计、计算机视觉、跟踪等方法进行安全的现实实验验证。

⚠️ 请注意:此自述文件需要修改。

MRS无人机系统1.5正在发布,此页面需要更新。请记住,此页面上的信息可能无效。查看此WIP Google 文档以了解最新消息和更改。

TL;DR 与旧系统相比有何变化

注意: MRS UAV 系统 v1.5 仍处于开发中,文档正在进行维护(Issue#169)。您可以在此处WIP Google 文档中找到更改和新说明。欢迎任何反馈(您可以使用此存储库中的问题或对 Google 文档发表评论)!

系统属性

该系统是

  • 建立在机器人操作系统Noetic之上,
  • 意味着完全在配套计算机上执行,
  • 可以控制欠驱动多旋翼直升机,
  • 包含控制、状态估计、绘图和规划管道。

主要文档来源位于: https: //ctu-mrs.github.io/。然而,该网站只触及了其应包含内容的表面(我们知道这一点)。我们的系统是一个以研究为导向的平台,并且发展迅速。我们的大多数用户要么是研究人员(已经了解该平台),要么是新生(可能不了解 ROS)。为这样的受众维护最新的文档是一项艰巨的工作,因为我们主要是在将系统用于我们的研究时开发该系统。因此,我们的目标是教育学生查看软件包(每个软件包都包含自己的自述文件),探索启动文件,并能够阅读我们努力保持可读性的代码。

控制和估计系统在文章doi.org/10.1007/s10846-021-01383-5pdf中描述:

Baca, T., Petrlik, M., Vrba, M., Spurny, V., Penicka, R., Hert, D., and Saska, M.,
"The MRS UAV System: Pushing the Frontiers of Reproducible Research, Real-world Deployment, and
Education with Autonomous Unmanned Aerial Vehicles", J Intell Robot Syst 102, 26 (2021).

安装

原生安装

  1. 安装机器人操作系统(Noetic):
curl https://ctu-mrs.github.io/ppa-unstable/add_ros_ppa.sh | bash
sudo apt install ros-noetic-desktop-full
  1. 根据http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment配置你的ROS环境

  2. 选择您要安装的 MRS 无人机系统版本。

对于稳定版本,添加稳定的 PPA:

curl https://ctu-mrs.github.io/ppa-stable/add_ppa.sh | bash

对于不稳定(每夜构建)的系统,添加不稳定的 PPA:

curl https://ctu-mrs.github.io/ppa-unstable/add_ppa.sh | bash
  1. 安装MRS无人机系统:
sudo apt install ros-noetic-mrs-uav-system-full
  1. 启动示例 Gazebo 模拟会话:
roscd mrs_uav_gazebo_simulation/tmux/one_drone
./start.sh

奇点容器

请点击此链接了解如何使用 Singularity 运行我们的系统。

开始开发自己的包

本教程假设您已使用上述命令安装了 MRS 无人机系统。

  1. 设置catkin工作区:
source /opt/ros/noetic/setup.bash             # source the general ROS workspace so that the local one will extend it and see all the packages
mkdir -p ~/workspace/src && cd ~/workspace    # create the workspace folder in home and cd to it
catkin init -w ~/workspace                    # initialize the new workspace
# setup basic compilation profiles
catkin config --profile debug --cmake-args -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_CXX_FLAGS='-std=c++17 -Og' -DCMAKE_C_FLAGS='-Og'
catkin config --profile release --cmake-args -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_CXX_FLAGS='-std=c++17'
catkin config --profile reldeb --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_CXX_FLAGS='-std=c++17'
catkin profile set reldeb                     # set the reldeb profile as active
  1. 您可以重新利用我们的示例之一作为起点(可选):
# it is good practice to not clone ROS packages directly into a workspace, so let's use a separate directory for this
git clone [email protected]:ctu-mrs/mrs_core_examples.git ~/git/mrs_core_examples                    # clone this repository (recommended, requires private key on Github)
# git clone https://github.com/ctu-mrs/mrs_core_examples.git ~/git/mrs_core_examples              # if you do not have a private key set up on Github, you can use https instead of ssh
export NEW_PACKAGE=replaceme                                                                      # fill the NEW_NAME variable with your desired name of the new package (no spaces)
cp -r ~/git/mrs_core_examples/cpp/waypoint_flier ~/git/$NEW_PACKAGE                               # copy an example package (e.g. the waypoint_flier)
cp ~/git/mrs_core_examples/repurpose_package.sh ~/git/$NEW_PACKAGE                                # copy the repurpose_package.sh script to the new package
cd ~/git/$NEW_PACKAGE && ./repurpose_package.sh example_waypoint_flier $NEW_PACKAGE --camel-case  # use the script to replace all occurences of the old name
  1. 将您的包链接到工作区并构建它(下面的代码假设您设置了变量NEW_PACKAGE):
ln -s ~/git/$NEW_PACKAGE ~/workspace/src         # create a symbolic link of the package to the workspace
cd ~/workspace/src && catkin build $NEW_PACKAGE  # build the package within the workspace
  1. 现在,您可以使用新包:
source ~/workspace/devel/setup.bash     # source the workspace to see the packages within (if you don't use bash, source the appropriate script instead)
roscd $NEW_PACKAGE                      # now ROS knows about your new package and you can roscd to it

注意:建议将source ~/workspace/devel/setup.bash命令添加到您的命令中~/.bashrc,以便在每个新工作区中自动执行。

  1. 为您的新包创建一个远程包(取决于您的 git 服务器)并推送到它:
cd ~/workspace/src/$NEW_PACKAGE && git add . && git commit -m "initial commit"  # create the first commit in the new repository
git remote add origin <your-new-remote>                                         # replace <your-new-remote>
git push --set-upstream origin master                                           # push your initial commit

注意:在开发过程中不要忘记git commit git push定期!

系统组成

主要元包 内容 存储库 包裹
MRS无人机系统 无人机核心及无人机模块 mrs_uav_system ros-noetic-mrs-uav-system
MRS 无人机系统 - 完整版 全部如下 mrs_uav_system ros-noetic-mrs-uav-system-full
元包 存储库 包裹
无人机核心 mrs_uav_core ros-noetic-mrs-uav-core
无人机模块 mrs_uav_模块 ros-noetic-mrs-uav-modules
Octomap 测绘+规划 mrs_octomap_mapping_planning ros-noetic-mrs-octomap-mapping-planning
ALOAM核心 mrs_aloam_core ros-noetic-mrs-aloam-core
LIO-SAM核心 mrs_liosam_core ros-noetic-mrs-liosam-core
赫克托·科尔 mrs_hector_core ros-noetic-mrs-hector-core
OpenVINS 核心 mrs_open_vins_core ros-noetic-mrs-open-vins-core
模拟器 存储库 包裹
凉亭模拟 mrs_uav_gazebo_simulation ros-noetic-mrs-uav-gazebo-simulation
MRS模拟 mrs_多旋翼_模拟器 ros-noetic-mrs-multirotor-simulator
葛蓓亚模拟 mrs_uav_coppelia_simulation ros-noetic-mrs-uav-coppelia-simulation
虚幻模拟 mrs_uav_unreal_simulation ros-noetic-mrs-uav-unreal-simulation
硬件API插件 存储库 包裹
PX4 API mrs_uav_px4_api ros-noetic-mrs-uav-px4-api
大疆特洛API mrs_uav_dji_tello_api ros-noetic-mrs-uav-dji-tello-api

示例包

例子 存储库 构建状态
核心示例 mrs_core_examples ros_build_测试
计算机视觉示例 mrs_computer_vision_examples ros_build_测试
Gazebo 定制无人机示例 mrs_gazebo_custom_drone_example ros_build_测试

构建状态(Buildfarm

我们利用验收测试来确定系统的可发布性并自动发布系统。无论下面的测试和危险信号的状态如何,我们系统的稳定版本都应该可以安装并始终工作。

购电协议

稳定的 测试 不稳定
稳定的 ppa 构建 测试-ppa-构建 不稳定的 ppa 构建

测试

相对。候选人 不稳定 测试覆盖率
rostest 和发布 mrs-amd64 rostest_不稳定 测试-ppa-构建

x86-64/AMD64

稳定的 发布候选 不稳定
MRS ROS 套餐 稳定-mrs-amd64 rostest 和发布 mrs-amd64 不稳定-mrs-amd64
第三方 ROS 包 稳定的第三方 amd64 测试--第三方-amd64 不稳定的第三方 amd64
非 ROS 包 稳定非bloom-amd64 测试--nonbloom-amd64 不稳定-nonbloom-amd64

AARCH64/ARM64

稳定的 不稳定
MRS ROS 套餐 稳定-mrs-arm64 不稳定-mrs-arm64
第三方 ROS 包 稳定的第三方arm64 不稳定的第三方arm64
非 ROS 包 稳定非布卢姆arm64 不稳定非布卢姆arm64

无人机

MRS 无人机系统已针对 MRS 运营的以下无人机平台进行了预先配置。无人机平台可以从我们的合作伙伴公司Fly4Future购买。

模型 模拟 真正的无人机
大疆 f330
大疆 f450
霍利布罗 x500
大疆f550
塔罗牌t650
遥控无人机 m690
纳基二号

向后兼容性和更新

我们不保证随时向后兼容。该平台正在根据 MRS 集团的需求不断发展。可以进行与用户的本地配置、模拟世界、tmux 会话等不兼容的更新。但是,当我们更改需要用户操作来保持兼容性的内容时,我们将在此存储库中创建一个标记为users-read-的问题我。单击此页面右上角的“观看”按钮订阅此存储库更新和问题。需要用户操作的最新更改:

免责声明

本软件由版权所有者和贡献者“按原样”提供,不承担任何明示或默示的保证,包括但不限于适销性和特定用途适用性的默示保证。在任何情况下,版权持有者或贡献者均不对任何直接、间接、附带、特殊、惩戒性或后果性损害(包括但不限于采购替代商品或服务;使用、数据或利润损失;或其他损失)承担责任。或业务中断),无论是何种原因造成的,并且基于任何责任理论,无论是合同责任、严格责任还是侵权行为(包括疏忽或其他),均因使用本软件而产生,即使已被告知可能发生此类损害。

Releases

No releases published

Packages

No packages published

Languages

  • Shell 94.6%
  • CMake 5.4%