Giter Site home page Giter Site logo

aerial_drone_base's Introduction

Aerial Drone Control with ROS 2 and PX4

Этот проект предоставляет средства для управления беспилотными летательными аппаратами (БПЛА) с использованием QGroundControl через Docker. QGroundControl предоставляет мощный и гибкий интерфейс для планирования миссий, мониторинга полётов и настройки параметров БПЛА в реальном времени.

Overview

This project provides a ROS 2 interface for controlling a drone using the PX4 autopilot in offboard mode. It includes nodes for keyboard control, offboard control, visualization, and more. The setup is primarily designed for simulation with PX4 SITL (Software In The Loop) and can be extended for use with real drones.

Installation

  1. Clone the Repository:

    git clone https://github.com/AntonSHBK/aerial_drone_base
    cd aerial_drone_base/docker
    
    
    
  2. Build the Workspace:

    colcon build --packages-select px4_msgs px4_ros_com
    colcon build --packages-select aerial_drone_base
  3. Source the Workspace:

    source install/setup.bash

Launching the Drone

Start the ROS 2 Nodes

Launch the ROS 2 nodes required for controlling the drone:

ros2 launch aerial_drone_base aerial_drone_base.py

This launch file will start the following nodes:

  • processes_node: Manages different background processes such as the PX4 SITL simulation.
  • control_node: Handles the offboard control and sends commands to PX4.
  • velocity_node: Manages the drone's velocity commands.
  • visualizer_node: Provides visualization tools for Rviz.

Keyboard Controls

Use the following keys to control the drone:

  • W: Move Up
  • S: Move Down
  • A: Yaw Left
  • D: Yaw Right
  • Up Arrow: Pitch Forward
  • Down Arrow: Pitch Backward
  • Left Arrow: Roll Left
  • Right Arrow: Roll Right

Speed Adjustments:

  • Q: Increase linear and angular speed
  • Z: Decrease linear and angular speed
  • E: Increase angular speed only
  • C: Decrease angular speed only

Arm/Disarm:

  • Space: Arm or disarm the drone

Exit:

  • CTRL+C: Exit the teleop node

Troubleshooting

  • If the drone doesn't respond to commands, ensure that the PX4 is running properly and that the nodes are correctly launched.
  • Check the ROS 2 topics to ensure messages are being published correctly:
    ros2 topic list
  • Monitor logs for any errors or warnings.

Additional Information

License

This project is licensed under the MIT License. See the LICENSE file for more details.

aerial_drone_base's People

Contributors

antonshbk avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.