The Eigen library is required. As the documentation mentions, it is enough to place the Eigen headers in a standard header path.
Install Eigen trough brew:
brew install eigen
Make sure Eigen headers are present in one of your gcc header search paths.
Run gcc -v -E -
to list the standard search paths.
TODO: Write Windows documentation
Run sh setup.sh
from the root folder of the project.
Issue ./6dof
to start the simulation.
Once started, the simulator will listen for the PX4 autopilot handshake messages.
- The PX4 autopilot must be downloaded from the PX4 Repo.
- Start the autopilot via the command
make px4_sitl none_standard_vtol
. This will build the autopilot and start it with the default standard_vtol parameters.
Once PX4 displays a ready state, one can interact with the commander via the commander
controls from the PX4 console.
To takeoff issue commander takeoff
. This will issue actuation controls to the simulator and the drone will start the VTOL takeoff sequence.
The flight logs produced by PX4 can be found in the cloned PX4 repo, under the build/px4_standard_vtol/logs
folder.
To analyse the flight logs (.ulg), one can upload them to the PX4 Flight Review web application.
To display the MAVLink messages passed to the autopilot, uncomment the relevant defines in Interfaces/DroneStateEncoder.h
.
To display the received actuator controls from the autopilot, uncomment the relevant define in Drone.cc
.
The 6DOFSimulator uses the equations of motion implemented in the CAELUS_FDM package.
The desired version is specified in the dependencies/CMakeLists.txt
file, under the GIT_TAG
key.
If one desires to use another version of the CAELUS_FDM library:
- Update the GIT_TAG value with the desired commit hash
- Re-issue the installation command for the 6DOF library (
bash setup.sh
)