- Intel NUC (Link) with Ubuntu 20.04
- Intel Realsense D435i Depth camera (Link)
- USB 3.2 Gen 2 Type C to Type A cable
- BEC for powering on NUC (Used Traco TEP 1000-2415 - Link)
- Flight Controller with Ardupilot (Used Link)
- Resisters
- ROS (Robot Operating System): Ensure ROS is installed on your system. This guide assumes you are using ROS Noetic.
- MAVProxy: A command-line ground control station for MAVLink-based drones.
- RealSense SDK: Install the RealSense SDK for camera support.
- Python 3: Required for running the Python scripts.
- Mavros: Required for connecting Mavproxy to ROS
-
Clone the Repository
git clone https://github.com/arjungupta1012/V-SLAM.git cd V-SLAM -
Run the System Setup Script
The
setup.shscript will install system dependencies and configure the environment. Make sure to review the script for any customizations you might need.chmod +x setup.sh ./setup.sh
The requirements.txt file includes Python packages necessary for the project. Install them using pip:
pip3 install -r requirements.txtStart MAVProxy with the following command to establish the communication channels:
mavproxy.py --out udp:127.0.0.1:14540 --out udp:127.0.0.1:14550 --out 127.0.0.1:14560Launch the MAVROS node with the following command:
roslaunch mavros apm.launchEnsure that the apm.launch file is correctly set up for your MAVLink communication parameters.
Launch the RealSense camera node for visual input:
roslaunch realsense2_camera opensource_tracking.launchMake sure that opensource_tracking.launch is configured according to your camera setup.
Finally, run the Python script to start the Visual SLAM process:
python3 all.py- MAVProxy Connection Issues: Ensure that MAVProxy is correctly configured and running. Check for any error messages in the terminal.
- ROS Launch Errors: Verify that all ROS packages are installed and sourced properly. Use
roscdto ensure paths are correct. - Camera Not Detected: Confirm that the RealSense camera is connected and recognized by your system. Check
dmesgorlsusbfor device detection.
Feel free to open issues or pull requests if you encounter problems or have improvements to suggest. Contributions are welcome!
For questions or support, please contact arjun222gupta@gmail.com.