Skip to content

Latest commit

 

History

136 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

uwb-drone-px4-experiments

Collection of files for the UWB drone experiments

As of now (Oct 7th, 2024), the repository contains the following files, with the following purposes:

Key files

These are the different launch files we run

  • launch/mocap_offboard.launch: Launch file for the offboard control node with the motion capture system. This is the one used to do waypoint/trajectory following
  • launch/my_sensors.launch: Launch file for the sensors that Andrew and Alan are using (vectornav, realsense, etc.)
  • launch/record_data.launch: Launch file for recording all of the different topics that we (Andrew and Alan) are interested in recording. This is set so each robot records its own data.

These are the key MAVROS files we use

  • scripts/base_mavros_interface.py: Python file that contains the base class for the MAVROS interface. This is a generic class that we then build on top of for the offboard control node.
  • scripts/offboard_node.py: Python node that contains the offboard control node. This node is responsible for sending the setpoints to the PX4 flight controller. This extends the base_mavros_interface.py class. This also launches a ROS node.

These are files we use to generate trajectories offline and then publish them so that the offboard control node can follow them

  • scripts/make_experiment_trajectories.py: Python script that generates the trajectories that we want to follow. This script generates the trajectories and saves them to a CSV file.
  • scripts/trajectories.csv: CSV file that contains the trajectories that we want to follow. This file is generated by the make_experiment_trajectories.py script. It is rewritten every time the script is run.
  • scripts/publish_trajectories.py: Python script that publishes the trajectories that we want to follow. This script reads the CSV file and publishes the trajectories to the appropriate ROS topic for the offboard control node to follow.
  • scripts/drone_vars.py: Generic file that contains the drone variables that we use in the different scripts. This file is imported by the other scripts.

These are the other (miscellaneous) files that we use

  • scripts/my_transform_broadcaster.py: Python script that broadcasts the transform between the motion capture system and the drone. This is used to get the position of the drone in the motion capture system. It is not clear that this is useful I think this is not used
  • scripts/repub_mocap.py: Python script that republishes the motion capture data. This is used to republish the motion capture data to the proper topic so that the offboard control node can use it for state estimation.
  • scripts/spoofed_mocap.py: Python script that spoofs the motion capture data. We used this to test things before we worked out the mocap system. This is not used

Example files

These files were created to test the offboard control node with a square trajectory. They are just example code now (that we occasionally use to test things)

  • launch/offboard_square_example.launch: Launch file for the offboard control node with a square trajectory
  • scripts/track_square_node.py: Python node that publishes a square trajectory for the offboard control node to follow.

ROS required files

  • CMakeLists.txt: CMake file for the ROS package
  • package.xml: Package file for the ROS package

About

Collection of files for the UWB drone experiments

Resources

Stars

0 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages