This repository contains a ROS 2 simulation for the Dronut, the world's first bi-rotor ducted drone. Designed for safe indoor operation, confined spaces, and GPS-denied environments, the Dronut excels in high maneuverability, real-time high-definition video streaming, LiDAR data collection, and providing operators with critical insights to enhance efficiency, reduce costs, and improve safety in hazardous environments. For more details about the Dronut, visit the official product page.

Screencast.from.2025-01-07.15-29-52.webm
- Bi-rotor ducted drone: Ensures safe operation in tight spaces.
- Indoor and GPS-denied navigation: Equipped with advanced algorithms for localization and control.
- High-definition video streaming: Provides real-time video feedback.
- LiDAR data collection: Maps confined spaces and improves situational awareness.
- High maneuverability: Agile performance in complex environments.
Ensure you have the following installed:
- ROS 2 (Works on Humble and Jazzy)
- Gazebo or Ignition for simulation
rosdepfor managing dependencies
git clone https://github.com/yourusername/dronut_ros2_sim.gitcd ~/dronut/src
git clone https://github.com/nathanshankar/realsense_cam -b d455Navigate to your workspace and install the required dependencies using rosdep:
cd ~/dronut
rosdep install --from-paths src --ignore-src -r -yBuild the ROS 2 workspace with colcon:
colcon buildSource the workspace to overlay the environment:
source ~/ros2_ws/install/setup.bash- Launch the Dronut simulation in Gazebo:
ros2 launch dronut_controller drone.launch.py
.
├── src
├── dronut_controller # Flying the drone around in gazebo
├── dronut_description # URDF files for drone physical model and configuration
├── dronut_w_cam # Updated Drone model equipped with a camera
├── joy_test # Scripts or nodes for joystick-based teleoperation
├── realsense_cam # Integration with Intel RealSense camera for depth and vision data
└── README.md # Project documentation
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a feature branch (
git checkout -b feature-name). - Commit your changes (
git commit -m 'Add feature'). - Push to your branch (
git push origin feature-name). - Create a pull request.
For inquiries or support, please contact Nathan Shankar.
Happy flying with Dronut!