GSoC 2023: GPS-Denied Autonomous Exploration with ROS 2

Hello @pedro-fuoco and @rfriedman I’ve read your project research and it is great! I usually use ROS for my research work and I’m approaching to ROS. I work with ground rovers, do you think your project can also be adapted to work on UGV? I’m looking for a navigation system with NO GPS support, but with a high accuracy.

Yep! We’ve already made basic examples for rover here. Feel free to try it out and provide feedback.

You can do velocity control with rover on master.

Pretty much all the code in ArduPilot for the ROS 2 interface is platform-agnostic anyways. The platform-specific adaptations are very thin.

If you don’t ever have GPS, there are mods you’ll need to do through parameters to disable GPS during pre-arm.

1 Like

Thank you a lot! I can’t use GPS indoor since the signal would be too noisy, so I need to assume I have no GPS sensor.

Sometimes, it can happen that the vehicle will move from outdoor to indoor so in this case I think the navigation wouldn’t be affected too much.

The problem is when the vehicle will start moving directly from an indoor environment since it does not have amy valid GPS position.

Yep, that’s totally fine. You have to provide some sort of yaw alignment. We just made the project easier by adding a GPS to pass pre-arm.

@pedro-fuoco , do you manage to pass all the Ardupilot DDS tests?
colcon test --packages-select ardupilot_dds_tests
colcon test-result --all --verbose

Does this work well outdoors in open terrain? Does it lose accuracy over a long flight and if so, how much? What are its limitations in terms of types of terrain, altitude, etc.? Thank you.

The 2D lidar used in SITL is not suitable for outdoor use and it is small range. It will not work in a flat field with no obstacles. There is not much point to use this technology if you are outdoor - just use GPS.

Outdoor requires a different set of technologies and hardware. To my knowledge, there is not much available in ROS 2 for outdoor GPS denied navigation. Some manufacturers sell integrated solutions with their platforms; I would purchase one of those.

The infrastructure (DDS) build here creates a nice platform to develop against in ROS 2, so if you are have ability to perform work in this open-source for outdoor navigation, please share your findings and code.

2 Likes

Hello @pedro-fuoco, your contributions to the community are truly impressive. I am currently working on a project involving Ardupilot and ROS2 for warehouse applications. The navigation requirements include operating in a 3D environment, as the drone’s goal is to conduct stock counting. Given my relative newness to this field, I would greatly appreciate any recommendations you might have. Thank you!