ROS workspace
Overview
ROS workspace is a directory where you can build and run ROS packages. It is a recommended way to organize your ROS projects. It's no different for OpenMowerNext. The root of the repository is a ROS workspace.
Nodes
map_server
- a ROS node responsible for managing map and providing map-related services to navigation stackmap_recorder
- a ROS node responsible for recording map
External packages
There are few biggest chunks to mention:
- ros2_control - differential drive controller, but also a hardware layer provider
- nav2 - navigation stack
- robot_localization - fuse sensors data to get accurate pose estimation
- NTRIP client - a ROS node to connect to NTRIP caster and get RTK corrections
- Foxglove bridge - a ROS node exposing websocket connection to Foxglove Studio. See instructions here. It can be used for custom Web UIs as well.
Hardware specific packages:
- VESC driver interface - a ros2_control hardware layer implementation for VESC motor controllers
- ublox_f9p - a ROS2 driver for u-blox F9P GNSS receiver with support of UBX protocol
- micro-ros-agent - a micro-ROS agent to connect to micro-ROS nodes. It's used to connect to the micro-ROS node running on the OpenMower mainboard.