https://github.com/maximilian-nitsch/navigation-interfaces
ROS 2 Package with Navigation Sensor and Filter Interfaces.
https://github.com/maximilian-nitsch/navigation-interfaces
dvl gnss imu magnetometer navigation pressure underwater-acoustics underwater-robotics usbl
Last synced: 5 months ago
JSON representation
ROS 2 Package with Navigation Sensor and Filter Interfaces.
- Host: GitHub
- URL: https://github.com/maximilian-nitsch/navigation-interfaces
- Owner: maximilian-nitsch
- License: bsd-3-clause
- Created: 2025-04-04T07:57:10.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-11T09:44:00.000Z (about 1 year ago)
- Last Synced: 2025-06-19T01:36:42.541Z (12 months ago)
- Topics: dvl, gnss, imu, magnetometer, navigation, pressure, underwater-acoustics, underwater-robotics, usbl
- Language: CMake
- Homepage:
- Size: 29.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# C++/ROS 2 Navigation Interfaces
[](https://github.com/maximilian-nitsch/Navigation-Interfaces/actions)
[](https://github.com/maximilian-nitsch/Navigation-Interfaces/blob/main/LICENSE)
[](https://github.com/maximilian-nitsch/Navigation-Interfaces/commits/main)
[](https://index.ros.org/doc/ros2/Installation/Humble/)
[](https://github.com/maximilian-nitsch/Navigation-Interfaces/releases)
[](https://github.com/maximilian-nitsch/Navigation-Interfaces/issues)
[](https://github.com/maximilian-nitsch/Navigation-Interfaces/graphs/contributors)
**Author:**
- Maximilian Nitsch
**Affiliation:** Institute of Automatic Control - RWTH Aachen University
**Maintainer:**
- Maximilian Nitsch
**Contributors:**
- Till Koch
- Philippe Panten
## Description
Dedicated Repo for Interfaces (Messages, Services, Actions) of ROS 2 Navigation Packages.
The simulator implements the following interface packages:
- Sensor driver (and simulator) interfaces
- Navigation interfaces
## Table of Contents
- [Dependencies](#dependencies)
- [Installation](#installation)
- [Further Reading](#further-readings)
- [Contributing](#contributing)
- [License](#license)
# Dependencies
This project depends on:
- **ROS 2 Humble**: ROS 2 is a set of software libraries and tools for building robot applications: [ROS 2 Installation page](https://docs.ros.org/en/humble/Installation.html).
# Installation
To install the navigation interfaces, you need to follow these steps:
1. **Install ROS 2 Humble**: Ensure you have ROS 2 (Humble) installed. You can follow the official installation instructions provided by ROS 2. Visit [ROS 2 Humble Installation page](https://docs.ros.org/en/humble/Installation.html) for detailed installation instructions tailored to your platform.
3. **Clone the Package**: Clone the package repository to your ROS 2 workspace. If you don't have a ROS 2 workspace yet, you can create one using the following commands:
```bash
mkdir -p /path/to/ros2_workspace/src
cd /path/to/ros2_workspace/src
```
Now, clone the package repository:
```bash
git clone
```
Replace `` with the URL of your package repository.
4. **Build the Package**: Once the package is cloned, you must build it using colcon, the default build system for ROS 2. Navigate to your ROS 2 workspace and run the following command:
```bash
cd /path/to/ros2_workspace
colcon build
```
This command will build all the packages in your workspace, including the newly added package.
5. **Using Navigation-Interfaces in Your ROS 2 Package**
To use the interfaces (messages, services, actions) provided by **Navigation-Interfaces** in your own ROS 2 package, follow these steps:
In your package's `package.xml`, add:
```xml
nanoauv_sensor_driver_interfaces
navigation_interfaces
```
In your package's `CMakeLists.txt`, add:
```xml
find_package(nanoauv_sensor_driver_interfaces REQUIRED)
find_package(navigation_interfaces REQUIRED)
ament_target_dependencies(your_node_target
rclcpp
nanoauv_sensor_driver_interfaces
navigation_interfaces
)
```
That's it! Your interfaces should now be installed and ready to use in your ROS 2 environment.
## Further Readings:
- https://docs.ros.org/en/humble/Concepts/Basic/About-Interfaces.html
- https://roboticsbackend.com/ros2-create-custom-message/
- https://design.ros2.org/articles/legacy_interface_definition.html
## Contributing
If you'd like to contribute to the project, see the [CONTRIBUTING](CONTRIBUTING) file for details.
## License
This project is licensed under the BSD-3-Clause License. Please look at the [LICENSE](LICENSE) file for details.