sudo apt install libompl-dev
- PX4 Autopilot
Follow installation guidelines from PX4 Autopilot ROS2
-
QGround Control FOllow installation guidelines from QGroundControl
-
ROS2 Humble
-
Gazebo
Use gazebo version such that it uses gz command.
- UNSEEN ORB-SLAM3 Follow installation guidelines from ORB-SLAM3
Update all submodules in the repository:
git submodule update --init --recursiveIn order to run the components, it is necessary to set global paths for PX4, QgroundControl and ORB-SLAM3.
Link the executable to the path here
Link the executable to the path here
Link the CMake configuration file to the global path of your orb slam implementation here
source /opt/ros/<ROS_DISTRO>/setup.bash
colcon build
colcon build --symlink-install --packages-select orbslam3
source install/local_setup.bashros2 launch uncertain_planner drone_planner.launch.pyros2 run traj offboard_takeoff --ros-args -p altitude:=4.0ros2 launch traj sim_demo.launch.py- Add an entry with a suitable number and name in
~/PX4-Autopilot/ROMFS/px4fmu_common/init.d-posix/airframes - Add the model into
src/drone_description/models - Update the
CMakeLists.txtadding the name of the airframe - Make sure to check the appropriate flags are defined in
~/PX4-Autopilot/ROMFS/px4fmu_common/init.d-posix/px4-rc.simulator
Starting the simulation environment with the drone model and the world:
gz service -s /world/warehouse/control --reqtype gz.msgs.WorldControl --reptype gz.msgs.Boolean --timeout 3000 --req 'pause: false'
data: trueros2 launch traj px4_sim.launch.pyros2 run traj offboard_takeoff --ros-args -p altitude:=4.0ros2 run traj offboard_controlros2 run traj land_disarmros2 run uncertain_planner drone_planner slam_mapEverything is taken care of by running:
px4_modulesCurrently only run streaming of the camera and depth data:
rs_launchsource aliasesThis command launches all necessary nodes to run the hardware:
run_hardwareOnce the drone has taken off (either manually or enabling the takeoff sequence with takeoff), run the following command to start the planner:
run_hardware_plannerTo record the bag file:
record_experiment