# offboard_control **Repository Path**: ChenZehao-rgb/offboard_control ## Basic Information - **Project Name**: offboard_control - **Description**: No description available - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-26 - **Last Updated**: 2025-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Offboard Control System ## Project Introduction Offboard Control is a control system for unmanned aerial vehicles (UAVs) that allows external computers to take control of the drone. This system can be used to perform complex tasks such as cable following, coordinate transformation, and trajectory generation. ## Features - **Cable Following**: Enables the drone to fly along a cable. - **Coordinate Transformation**: Provides conversion from WGS84 geographic coordinates to Cartesian coordinates. - **Trajectory Generation**: Online and offline trajectory generation to support various flight modes. - **Keyboard Control**: Allows drone control via keyboard input. - **State Monitoring**: Observes and logs the drone's state information. ## Installation Guide Ensure that you have a ROS (Robot Operating System) environment installed and configured with a catkin workspace. Then follow these steps: 1. Clone this package into the `src` directory of your catkin workspace. 2. Compile the entire workspace using `catkin_make` or `catkin build`. 3. Source the appropriate setup file in your ROS environment, for example: `source devel/setup.bash`. ## Usage Examples You can use the provided launch files to start different functional modules. For example: - `muti_mavros_px4.launch` - Launches connections for multiple drones using MAVROS and PX4 firmware. - `offboard.launch` - Starts the basic offboard control node. - `test_ruckig.cpp` - Tests the Ruckig library for motion control. ## API Documentation Main classes and functions include: - `FollowCable` class: Handles the logic for cable following. - `OffboardCtl` class: Provides position control and other services. - `OnlineTrajGenerator` class: Responsible for online trajectory generation. - `UavCoordinateTrans` class: Handles coordinate transformations between different drones. Each class contains detailed member function descriptions for subscribing to topics, publishing messages, and invoking services. ## License This project is licensed under the MIT License. Please check [WGS84toCartesian.hpp](/root/.cache/skyline-repo-cache/c1f3081ddf3d1df1e67e5ac967b8d979d83032fe514780875cde8f7224b55e96/src/offboard_control/include/WGS84toCartesian.hpp) for the complete license agreement. Note that the license in `package.xml` is marked as TODO and should be updated to the correct license type for actual use. ## Contributors This project is maintained by Chen. If you'd like to contribute code or documentation, please submit a pull request or contact the maintainer. ## More Information For more detailed documentation and tutorials, refer to the `.md` files in the project, such as `state_control.md` and `todo.md`, which provide information on state control strategies and future development plans.