/azure_spatial_anchors_ros

ROS wrapper for the Azure Spatial Anchors Linux SDK, allowing robots (and other devices with vision-based sensors) to co-localize with other robots, AR-enabled phones, and Hololens devices.

Primary LanguageC++MIT LicenseMIT

Azure Spatial Anchors Linux SDK ROS Wrapper

This is a ROS wrapper for the Azure Spatial Anchors Linux SDK, allowing robots (and other devices equipped with a vision-based sensors and a pose estimation system) to create and query Azure Spatial Anchors, allowing the robot to co-localize with AR-enabled phones and Hololens devices.

This was presented as part of the IROS 2020 Tutorial on Mixed Reality and Robotics. The tutorial was available from October 2020 until January 2021 at https://www.iros2020.org/.

The lecture content of the tutorial is now available as a Microsoft Research Webinar: https://note.microsoft.com/MSR-Webinar-Reality-and-Robotics-Registration-On-Demand.html

The hands-on video walkthroughs for the demos are available on the MSR YouTube channel:

You can sign up to get access to the Azure Spatial Anchors Linux SDK here: aka.ms/ASALinuxSDKSignup. This is REQUIRED to use this repo. It may take us up to 2 business days to add you. This requires an Azure Devops account.

You should have an Azure Spatial Anchors account in Azure to use this SDK and wrapper. Please see instructions for the ASA Quickstarts to create one. Keep the Account ID, and Account Key, and Account Domain nearby. This is free up to 10k queries/month.

Requirements

Input data requirements

Timeseries of:

  • Undistorted grayscale images
  • 6 DoF poses of the cameras for the corresponding images
  • Camera intrinsics (focal length, principal point)

See this description of camera calibration for more details.

Get Started

See the Wiki for getting started and installation instructions.

Support

Check out the FAQ and Known Issues page on the Wiki first!

Please file an issue on the Github repo if it is not covered in the Wiki.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.