|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/simulacion-y-control-de-un-drone-ardupilot-en-ros-noetic/
课程评论:没有评论
课程名称:Simulación y control de un drone ArduPilot en ROS Noetic 课程概述:本课程分为四个章节,旨在教授如何在ROS Noetic环境下模拟和控制ArduPilot品牌的ArduCopter无人机。 第一章:安装与配置 学习如何在Ubuntu 20.04系统中安装ROS相关包及其依赖,以便在Gazebo 11中启动ArduCopter。将使用ArduPilot的官方网站以及GitHub上的一个仓库。 第二章:无人机的启动 本章将指导你如何启动不同配置的ArduCopter,包括不带额外传感器的模型、配备前置摄像头的模型以及配备激光雷达的模型。此外,你还将学习如何向Gazebo中添加更多模型,并指定Gazebo寻找这些模型的路径。还将安装地面站软件QGroundControl,以监测和操控无人机,并设置飞行路径,而无需使用ROS。 第三章:ROS控制机制 本章详细说明了启动ArduCopter所需的ROS launch文件和节点,介绍了用于通过终端控制无人机的主题及其消息类型。 第四章:基于C++的轨迹跟踪编程 在本章中,您将编写多个ROS节点来实现无人机的轨迹跟踪,考虑的控制输入包括期望的笛卡尔坐标、速度和无人机的期望方向以及垂直推力。最终结果将通过MATLAB中的图表展示,以评估所设计控制器的性能。 课程内容大纲包括: 1. 在ROS Noetic和Ubuntu 20.04中安装ArduPilot(ArduCopter) 1.1 在ROS Noetic和Gazebo 11中安装ArduPilot 2. 配置ROS工作环境 2.1 创建ROS包及launch文件以启动不同的ArduCopters 2.2 启动不带额外传感器的ArduCopter 2.3 启动前置摄像头的ArduCopter 2.4 启动配备激光雷达的ArduCopter 2.5 启动底部摄像头的ArduCopter 2.6 向Gazebo添加模型 2.7 安装QGroundControl地面站 3. 在ROS中控制ArduCopter 3.1 更改命名空间 3.2 ArduPilot在ROS中的主题和消息 4. 使用C++控制ArduCopter的节点 4.1 位置控制 4.2 速度控制 4.3 速度控制结果 4.4 方向与垂直推力的控制 4.5 方向与垂直推力控制结果 该课程适合对无人机控制、ROS系统有兴趣的学习者,提供了实践经验和理论知识的结合。
Este curso está dividido en 4 capítulos.En el capítulo 1 aprenderás a instalar los paquetes y dependencias de ROS necesarias para lanzar un ArduCopter (drone de la marca ArduPilot) en Gazebo 11, ROS Noetic y Ubuntu 20.04, utilizando la página oficial de ArduPilot y un repositorio en Github.En el capítulo 2 lanzarás un ArduCoper sin sensores extra, con sensor lidar o con cámara apuntando hacia abajo y hacia enfrente. Podrás agregar más modelos al simulador Gazebo y especificar la ruta dónde gazebo puede encontrar tales modelos. Además, instalarás la estación en tierra QGroundControl para monitorear y manipular el drone, además de establecer recorridos de vuelo, sin usar ROS.En el capítulo 3 se explica a detalle el archivo launch y los nodos de ROS necesarios para lanzar un ArduCoper en Gazebo. Se explica también qué tópicos y sus tipos de mensajes son usados para controlar el drone desde terminal usando ROS.Finalmente en el capítulo 4, programarás diferentes nodos de ROS en lenguaje C++ parar lograr el seguimiento de trayectoria del drone, considerando que las entradas de control son: a) posiciones cartesianas deseadas, b) velocidades o c) la orientación deseada del drone y su empuje vertical. Los resultados serán interpretados mediante gráficas en MATLAB para calificar el desempeño de todos los controladores diseñados.El contenido del curso se muestra a continuación.1 Instalación de ArduPilot en ROS Noetic y Ubuntu 20.04 1.1 Instalación de ArduPilot (ArduCopter) en ROS Noetic y Gazebo 112 Configuración del ambiente de trabajo en ROS 2.1 Creación de un paquete en ROS y archivos launch para lanzar diferentes ArduCopters 2.2 Lanzar un ArduCopter sin sensores extra 2.3 Lanzar un ArduCopter con cámara frontal 2.4 Lanzar un ArduCopter con sensor lidar 2.5 Lanzar un ArduCopter con cámara apuntando hacia abajo 2.6 Agregando modelos a Gazebo 2.7 Instalación de la estación en tierra QGroundControl para un ArduCopter3 Control de un ArduCopter en ROS 3.1 Cambio de namespace 3.2 Tópicos y mensajes de ArduPilot en ROS4 Nodos en C++ para controlar el ArduCopter 4.1 Control por posición 4.2 Control por velocidades 4.3 Resultados del control por velocidades 4.4 Control por orientación deseada y empuje vertical 4.5 Resultados del control por orientación deseada y empuje vertical