{"id":23891638,"url":"https://github.com/stephendade/ros_stereo_ardupilot","last_synced_at":"2025-09-11T06:32:38.328Z","repository":{"id":148321134,"uuid":"448827253","full_name":"stephendade/ros_stereo_ardupilot","owner":"stephendade","description":"Scripts for using stereo-visual navigation using VINS-GPU and ArduPilot","archived":false,"fork":false,"pushed_at":"2023-06-22T01:10:36.000Z","size":8,"stargazers_count":11,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-15T03:46:08.960Z","etag":null,"topics":["ardupilot","jetson-nano","ros","vins-fusion"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stephendade.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-17T09:21:13.000Z","updated_at":"2025-03-23T06:33:29.000Z","dependencies_parsed_at":"2025-02-23T05:25:18.747Z","dependency_job_id":"7f4864c1-9956-449a-8651-99317bc35559","html_url":"https://github.com/stephendade/ros_stereo_ardupilot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephendade%2Fros_stereo_ardupilot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephendade%2Fros_stereo_ardupilot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephendade%2Fros_stereo_ardupilot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephendade%2Fros_stereo_ardupilot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stephendade","download_url":"https://codeload.github.com/stephendade/ros_stereo_ardupilot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249003938,"owners_count":21196794,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ardupilot","jetson-nano","ros","vins-fusion"],"created_at":"2025-01-04T13:00:23.801Z","updated_at":"2025-04-15T03:46:14.971Z","avatar_url":"https://github.com/stephendade.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scripts for running VINS-GPU/ROS with ArduPilot\nThis repository contains a ROS workspace for using stereo-visual navigation with ROS and ArduPilot.\n\nThe end result is the ability to use non-GPS navigation with ArduPilot, using a stereo camera.\n\n# Components\n\nHardware:\n- Stereo Camera. Global shutter preferred (such as https://www.arducam.com/product/arducam-1mp2-wide-angle-stereo-camera-for-raspberry-pi-jetson-nano-and-xavier-nx-dual-ov9281-monochrome-global-shutter-camera-module/)\n- Nvidia Jetson Nano\n- ArduPilot flight controller (connected to UART on Jetson 40-pin header)\n\nSoftware:\n- ROS Melodic\n- VINS-GPU Lite\n- MAVROS\n\n# How it works\n\nThe VINS_Lite_GPU (https://github.com/KopiSoftware/VINS_Lite_GPU) algorithm is used as a ROS module to take in stereo camera images and generate a pose in 3D space. This pose is sent to ArduPilot via MAVROS and the VISION_POSITION_ESTIMATE message. ArduPilot then uses these messages as a non-GPS navigation source.\n\nNote the VINS_Lite_GPU used here is slightly modified from source - adding a odometry message compatible with MAVROS.\n\nIt is a \"lighter\" version of VINS-GPU (https://github.com/pjrambo/VINS-Fusion-gpu) which allows for better realtime performance on a Jetson Nano.\n\n# Installation\n\nFollow the instructions at https://www.arducam.com/doc-old/camera-for-jetson-nano/multiple-cameras-on-the-jetson/how-to-use-stereo-camera-to-perform-location-with-visual-slam/#ftoc-heading-20, noting the following changes:\n\n- Use `git clone https://github.com/stephendade/Camarray_HAT.git` repo in place of ``git clone -b ov9281_stereo https://github.com/ArduCAM/Camarray_HAT.git``\n- Use `git clone https://github.com/stephendade/Nvidia_Jetson_ROS_SLAM_VINS.git` repo in place of ``git clone https://github.com/ArduCAM/Nvidia_Jetson_ROS_SLAM_VINS.git``\n- Use this repository as your ROS workspace\n- Install MAVROS via ``sudo apt install ros-melodic-mavros ros-melodic-mavros-extras``\n- Use ``systemctl stop nvgetty \u0026\u0026 systemctl disable nvgetty`` on the Jetson and reboot to disable the system console on the UART.\n\n# Configure\n- If not using the ArduCAM OV9281 stereo camera, edit ``jetson.launch`` to suit your stereo camera setup\n- Edit ``jetson.launch`` to point the to appropriate UART or UDP port for MAVROS.\n\nArdupilot will need the following parameters:\n\n```\nSCHED_LOOP_RATE  250 \nVISO_DELAY_MS    150\nVISO_ORIENT      0\nVISO_POS_M_NSE   0.100000\nVISO_POS_X       0.000000\nVISO_POS_Y       0.000000\nVISO_POS_Z       0.000000\nVISO_SCALE       1.000000\nVISO_TYPE        2\nVISO_VEL_M_NSE   0.010000\nVISO_YAW_M_NSE   0.100000\n```\n\n# Running\nUse ``launch.sh`` to run the ROS instance. If using a remote ROS node (for viewing, debugging, etc) edit the IP addresses in ``launch.sh`` as required.\n\nWhen connecting a ground station, ensure the streamrate is 20Hz. This is required for the VINS inertial message (/mavros/imu/data) input.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephendade%2Fros_stereo_ardupilot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstephendade%2Fros_stereo_ardupilot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephendade%2Fros_stereo_ardupilot/lists"}