Quadcopter Offboard Control Development (Phase 1)

Job ID: 39337760

Budget: $30 – $250 USD

This project aims to control a quad-copter in off board mode by utilizing a companion computer attached to the drone.
It will leverage ROS2 and Python for development. The CORE node will serve as the central hub, transmitting all commands to the PX4 controller and functioning as the primary entry point. Additionally, the TESTING node will validate the functionality of the CORE node to ensure seamless operations.

CORE NODE
Maintains the current Vehicle Status (PX4 MSG CLASS).
Processes commands from the TESTING Node to perform the actions such as:
Arm the drone.
Launch
Fly to location (Altitude, Latitude, Longitude, and velocity)
Land
Disarm
Status checks Like
battery
Location
Lat
Lng
Pitch
Speed
Alt
Sends a message (topic) back to the TESTING Node open each task being executed
Once switched to Off-board mode, it will remain in Off-board mode unless instructed otherwise by another node.
Can Proceed to multiple locations with a single request from the TESTING Node, based on the following parameters:
Altitude, Latitude, Longitude, and velocity.
Sends a message (topic) back to the TESTING Node upon completion for each location.


TESTING Node
Sends messages to the CORE Node, based on instructions read from a JSON file.
Reads and parses a JSON file (format can be customized).
Performs tasks listed in the JSON file, which can appear multiple times, such as:
Specify destinations and travel speed.
Set duration to wait at a location.
Land the drone.
Launch/Takeoff.
Check battery status.
Retrieve location details including:
Latitude (Lat).
Longitude (Lng).
Pitch.
Speed.
Altitude (Alt).
Return the drone to the home location.
Logs every action for monitoring and validation.

Both Nodes will have robust error handling and documentation in the code
If this proto type works there is a potential of more to follow.

Notes
ROS2
Python
px4_ros_com
Related categories: Python Software Architecture Drones