![]() |
orca_base package from orca4 repoorca_base orca_bringup orca_description orca_msgs orca_nav2 orca_shared |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS2 AUV based on the BlueROV2, ArduSub and Navigation2 |
Checkout URI | https://github.com/clydemcqueen/orca4.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-16 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Clyde McQueen
Authors
- Clyde McQueen
Orca4 Design
Sensors
- BlueRobotics Bar30 depth sensor
- 2 IMUs on the Pixhawk
- A down-facing stereo camera
Current Use Cases
ORB_SLAM2 detects and manages a single continuous map of ORB features.
Case 1: The sub starts at the surface with good visibility of the seafloor and maintains visibility during the mission.
Case 2: The sub starts at the surface, but the seafloor is not visible. The sub dives to obtain good visibility of the seafloor. Once the seafloor is discovered the mapping begins.
Future Use Cases
Case 3: After mapping starts the sub loses visibility of the seafloor and enters into recovery actions to rediscover a previously mapped portion of the seafloor. No mapping occurs during recovery.
Case 4: Visibility is lost and the sub discovers an unmapped patch of seafloor and starts building a separate map. This may repeat. The origins of the subsequent maps are set by dead reckoning. The map origins may be adjusted over time as exploration continues. Maps may be merged if they are found to overlap.
Case 5: A GPS sensor is available to provide good poses at the surface. These poses can be used to improve the origin poses of the map(s). The sub may ascend and descend while mapping regions.
Coordinate Frames
Orca4 uses the 3 coordinate frames described in ROS REP 105: base_link, odom and map. A fourth slam frame is used to handle the case when mapping starts late.
base_link
The base_link frame is a body frame, centered on the sub itself.
The ROS body frame convention is FLU: x-forward, y-left, z-up.
The ArduSub body frame convention is FRD: x-forward, y-right, z-down.
odom
The odom frame is a world frame used to describe the sub’s pose in the local environment.
The ROS world frame convention is ENU: x-east, y-north, z-up.
The ArduSub world frame convention is NED: x-north, y-east, z-down.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The pose is predicted from the Nav2-generated desired velocity and a simple motion model.
ArduSub does not know about the odom frame.
In the simulation you can see the error between the simple Orca4 motion model and the more accurate Gazebo motion model by observing the TF chain map -> odom -> base_link.
map
The map frame is a world frame used to describe the sub’s pose in the global environment.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The map frame is the same as a MAVLink LOCAL frame such as MAV_FRAME_LOCAL_ENU. The ArduSub EKF is running in the map frame.
ArduSub also keeps a MAVLink GLOBAL frame that is expressed in altitude, latitude and longitude. Orca4 does not use this GLOBAL frame.
slam
The slam frame records the global position of the sub when the ORB_SLAM2 first generates a map.
In future use cases there will be multiple slam frames, one for each SLAM-generated map.
Helper frames
By default ORB_SLAM2 assumes that the stereo camera is facing forward. The down frame is rotated to point the camera down towards the seafloor.
MAVROS handles NED/ENU and FLU/FRD translations, and publishes transforms for helper frames map_ned, odom_ned and base_link_frd.
Control Summary
The Manager node manages the state of ArduSub, MAVROS and Orca4.
The BaseController node sends VISION_POSITION_ESTIMATE
messages to ArduSub at 5Hz.
The ArduSub EKF fuses these poses with the barometer and IMU readings.
- When the system boots the default pose {0, 0, 0} is sent to warm the ArduSub EKF
- If the sub moves before mapping starts (dead reckoning), the pose generated by the BaseController motion model is sent
- Once mapping starts the pose from ORB_SLAM2 is sent
Nav2 uses the latest map pose to plan a route at 1Hz.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged orca_base at Robotics Stack Exchange
![]() |
orca_base package from orca4 repoorca_base orca_bringup orca_description orca_msgs orca_nav2 orca_shared |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS2 AUV based on the BlueROV2, ArduSub and Navigation2 |
Checkout URI | https://github.com/clydemcqueen/orca4.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-16 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Clyde McQueen
Authors
- Clyde McQueen
Orca4 Design
Sensors
- BlueRobotics Bar30 depth sensor
- 2 IMUs on the Pixhawk
- A down-facing stereo camera
Current Use Cases
ORB_SLAM2 detects and manages a single continuous map of ORB features.
Case 1: The sub starts at the surface with good visibility of the seafloor and maintains visibility during the mission.
Case 2: The sub starts at the surface, but the seafloor is not visible. The sub dives to obtain good visibility of the seafloor. Once the seafloor is discovered the mapping begins.
Future Use Cases
Case 3: After mapping starts the sub loses visibility of the seafloor and enters into recovery actions to rediscover a previously mapped portion of the seafloor. No mapping occurs during recovery.
Case 4: Visibility is lost and the sub discovers an unmapped patch of seafloor and starts building a separate map. This may repeat. The origins of the subsequent maps are set by dead reckoning. The map origins may be adjusted over time as exploration continues. Maps may be merged if they are found to overlap.
Case 5: A GPS sensor is available to provide good poses at the surface. These poses can be used to improve the origin poses of the map(s). The sub may ascend and descend while mapping regions.
Coordinate Frames
Orca4 uses the 3 coordinate frames described in ROS REP 105: base_link, odom and map. A fourth slam frame is used to handle the case when mapping starts late.
base_link
The base_link frame is a body frame, centered on the sub itself.
The ROS body frame convention is FLU: x-forward, y-left, z-up.
The ArduSub body frame convention is FRD: x-forward, y-right, z-down.
odom
The odom frame is a world frame used to describe the sub’s pose in the local environment.
The ROS world frame convention is ENU: x-east, y-north, z-up.
The ArduSub world frame convention is NED: x-north, y-east, z-down.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The pose is predicted from the Nav2-generated desired velocity and a simple motion model.
ArduSub does not know about the odom frame.
In the simulation you can see the error between the simple Orca4 motion model and the more accurate Gazebo motion model by observing the TF chain map -> odom -> base_link.
map
The map frame is a world frame used to describe the sub’s pose in the global environment.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The map frame is the same as a MAVLink LOCAL frame such as MAV_FRAME_LOCAL_ENU. The ArduSub EKF is running in the map frame.
ArduSub also keeps a MAVLink GLOBAL frame that is expressed in altitude, latitude and longitude. Orca4 does not use this GLOBAL frame.
slam
The slam frame records the global position of the sub when the ORB_SLAM2 first generates a map.
In future use cases there will be multiple slam frames, one for each SLAM-generated map.
Helper frames
By default ORB_SLAM2 assumes that the stereo camera is facing forward. The down frame is rotated to point the camera down towards the seafloor.
MAVROS handles NED/ENU and FLU/FRD translations, and publishes transforms for helper frames map_ned, odom_ned and base_link_frd.
Control Summary
The Manager node manages the state of ArduSub, MAVROS and Orca4.
The BaseController node sends VISION_POSITION_ESTIMATE
messages to ArduSub at 5Hz.
The ArduSub EKF fuses these poses with the barometer and IMU readings.
- When the system boots the default pose {0, 0, 0} is sent to warm the ArduSub EKF
- If the sub moves before mapping starts (dead reckoning), the pose generated by the BaseController motion model is sent
- Once mapping starts the pose from ORB_SLAM2 is sent
Nav2 uses the latest map pose to plan a route at 1Hz.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged orca_base at Robotics Stack Exchange
![]() |
orca_base package from orca4 repoorca_base orca_bringup orca_description orca_msgs orca_nav2 orca_shared |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS2 AUV based on the BlueROV2, ArduSub and Navigation2 |
Checkout URI | https://github.com/clydemcqueen/orca4.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-16 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Clyde McQueen
Authors
- Clyde McQueen
Orca4 Design
Sensors
- BlueRobotics Bar30 depth sensor
- 2 IMUs on the Pixhawk
- A down-facing stereo camera
Current Use Cases
ORB_SLAM2 detects and manages a single continuous map of ORB features.
Case 1: The sub starts at the surface with good visibility of the seafloor and maintains visibility during the mission.
Case 2: The sub starts at the surface, but the seafloor is not visible. The sub dives to obtain good visibility of the seafloor. Once the seafloor is discovered the mapping begins.
Future Use Cases
Case 3: After mapping starts the sub loses visibility of the seafloor and enters into recovery actions to rediscover a previously mapped portion of the seafloor. No mapping occurs during recovery.
Case 4: Visibility is lost and the sub discovers an unmapped patch of seafloor and starts building a separate map. This may repeat. The origins of the subsequent maps are set by dead reckoning. The map origins may be adjusted over time as exploration continues. Maps may be merged if they are found to overlap.
Case 5: A GPS sensor is available to provide good poses at the surface. These poses can be used to improve the origin poses of the map(s). The sub may ascend and descend while mapping regions.
Coordinate Frames
Orca4 uses the 3 coordinate frames described in ROS REP 105: base_link, odom and map. A fourth slam frame is used to handle the case when mapping starts late.
base_link
The base_link frame is a body frame, centered on the sub itself.
The ROS body frame convention is FLU: x-forward, y-left, z-up.
The ArduSub body frame convention is FRD: x-forward, y-right, z-down.
odom
The odom frame is a world frame used to describe the sub’s pose in the local environment.
The ROS world frame convention is ENU: x-east, y-north, z-up.
The ArduSub world frame convention is NED: x-north, y-east, z-down.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The pose is predicted from the Nav2-generated desired velocity and a simple motion model.
ArduSub does not know about the odom frame.
In the simulation you can see the error between the simple Orca4 motion model and the more accurate Gazebo motion model by observing the TF chain map -> odom -> base_link.
map
The map frame is a world frame used to describe the sub’s pose in the global environment.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The map frame is the same as a MAVLink LOCAL frame such as MAV_FRAME_LOCAL_ENU. The ArduSub EKF is running in the map frame.
ArduSub also keeps a MAVLink GLOBAL frame that is expressed in altitude, latitude and longitude. Orca4 does not use this GLOBAL frame.
slam
The slam frame records the global position of the sub when the ORB_SLAM2 first generates a map.
In future use cases there will be multiple slam frames, one for each SLAM-generated map.
Helper frames
By default ORB_SLAM2 assumes that the stereo camera is facing forward. The down frame is rotated to point the camera down towards the seafloor.
MAVROS handles NED/ENU and FLU/FRD translations, and publishes transforms for helper frames map_ned, odom_ned and base_link_frd.
Control Summary
The Manager node manages the state of ArduSub, MAVROS and Orca4.
The BaseController node sends VISION_POSITION_ESTIMATE
messages to ArduSub at 5Hz.
The ArduSub EKF fuses these poses with the barometer and IMU readings.
- When the system boots the default pose {0, 0, 0} is sent to warm the ArduSub EKF
- If the sub moves before mapping starts (dead reckoning), the pose generated by the BaseController motion model is sent
- Once mapping starts the pose from ORB_SLAM2 is sent
Nav2 uses the latest map pose to plan a route at 1Hz.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged orca_base at Robotics Stack Exchange
![]() |
orca_base package from orca4 repoorca_base orca_bringup orca_description orca_msgs orca_nav2 orca_shared |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS2 AUV based on the BlueROV2, ArduSub and Navigation2 |
Checkout URI | https://github.com/clydemcqueen/orca4.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-16 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Clyde McQueen
Authors
- Clyde McQueen
Orca4 Design
Sensors
- BlueRobotics Bar30 depth sensor
- 2 IMUs on the Pixhawk
- A down-facing stereo camera
Current Use Cases
ORB_SLAM2 detects and manages a single continuous map of ORB features.
Case 1: The sub starts at the surface with good visibility of the seafloor and maintains visibility during the mission.
Case 2: The sub starts at the surface, but the seafloor is not visible. The sub dives to obtain good visibility of the seafloor. Once the seafloor is discovered the mapping begins.
Future Use Cases
Case 3: After mapping starts the sub loses visibility of the seafloor and enters into recovery actions to rediscover a previously mapped portion of the seafloor. No mapping occurs during recovery.
Case 4: Visibility is lost and the sub discovers an unmapped patch of seafloor and starts building a separate map. This may repeat. The origins of the subsequent maps are set by dead reckoning. The map origins may be adjusted over time as exploration continues. Maps may be merged if they are found to overlap.
Case 5: A GPS sensor is available to provide good poses at the surface. These poses can be used to improve the origin poses of the map(s). The sub may ascend and descend while mapping regions.
Coordinate Frames
Orca4 uses the 3 coordinate frames described in ROS REP 105: base_link, odom and map. A fourth slam frame is used to handle the case when mapping starts late.
base_link
The base_link frame is a body frame, centered on the sub itself.
The ROS body frame convention is FLU: x-forward, y-left, z-up.
The ArduSub body frame convention is FRD: x-forward, y-right, z-down.
odom
The odom frame is a world frame used to describe the sub’s pose in the local environment.
The ROS world frame convention is ENU: x-east, y-north, z-up.
The ArduSub world frame convention is NED: x-north, y-east, z-down.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The pose is predicted from the Nav2-generated desired velocity and a simple motion model.
ArduSub does not know about the odom frame.
In the simulation you can see the error between the simple Orca4 motion model and the more accurate Gazebo motion model by observing the TF chain map -> odom -> base_link.
map
The map frame is a world frame used to describe the sub’s pose in the global environment.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The map frame is the same as a MAVLink LOCAL frame such as MAV_FRAME_LOCAL_ENU. The ArduSub EKF is running in the map frame.
ArduSub also keeps a MAVLink GLOBAL frame that is expressed in altitude, latitude and longitude. Orca4 does not use this GLOBAL frame.
slam
The slam frame records the global position of the sub when the ORB_SLAM2 first generates a map.
In future use cases there will be multiple slam frames, one for each SLAM-generated map.
Helper frames
By default ORB_SLAM2 assumes that the stereo camera is facing forward. The down frame is rotated to point the camera down towards the seafloor.
MAVROS handles NED/ENU and FLU/FRD translations, and publishes transforms for helper frames map_ned, odom_ned and base_link_frd.
Control Summary
The Manager node manages the state of ArduSub, MAVROS and Orca4.
The BaseController node sends VISION_POSITION_ESTIMATE
messages to ArduSub at 5Hz.
The ArduSub EKF fuses these poses with the barometer and IMU readings.
- When the system boots the default pose {0, 0, 0} is sent to warm the ArduSub EKF
- If the sub moves before mapping starts (dead reckoning), the pose generated by the BaseController motion model is sent
- Once mapping starts the pose from ORB_SLAM2 is sent
Nav2 uses the latest map pose to plan a route at 1Hz.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged orca_base at Robotics Stack Exchange
![]() |
orca_base package from orca4 repoorca_base orca_bringup orca_description orca_msgs orca_nav2 orca_shared |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS2 AUV based on the BlueROV2, ArduSub and Navigation2 |
Checkout URI | https://github.com/clydemcqueen/orca4.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-16 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Clyde McQueen
Authors
- Clyde McQueen
Orca4 Design
Sensors
- BlueRobotics Bar30 depth sensor
- 2 IMUs on the Pixhawk
- A down-facing stereo camera
Current Use Cases
ORB_SLAM2 detects and manages a single continuous map of ORB features.
Case 1: The sub starts at the surface with good visibility of the seafloor and maintains visibility during the mission.
Case 2: The sub starts at the surface, but the seafloor is not visible. The sub dives to obtain good visibility of the seafloor. Once the seafloor is discovered the mapping begins.
Future Use Cases
Case 3: After mapping starts the sub loses visibility of the seafloor and enters into recovery actions to rediscover a previously mapped portion of the seafloor. No mapping occurs during recovery.
Case 4: Visibility is lost and the sub discovers an unmapped patch of seafloor and starts building a separate map. This may repeat. The origins of the subsequent maps are set by dead reckoning. The map origins may be adjusted over time as exploration continues. Maps may be merged if they are found to overlap.
Case 5: A GPS sensor is available to provide good poses at the surface. These poses can be used to improve the origin poses of the map(s). The sub may ascend and descend while mapping regions.
Coordinate Frames
Orca4 uses the 3 coordinate frames described in ROS REP 105: base_link, odom and map. A fourth slam frame is used to handle the case when mapping starts late.
base_link
The base_link frame is a body frame, centered on the sub itself.
The ROS body frame convention is FLU: x-forward, y-left, z-up.
The ArduSub body frame convention is FRD: x-forward, y-right, z-down.
odom
The odom frame is a world frame used to describe the sub’s pose in the local environment.
The ROS world frame convention is ENU: x-east, y-north, z-up.
The ArduSub world frame convention is NED: x-north, y-east, z-down.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The pose is predicted from the Nav2-generated desired velocity and a simple motion model.
ArduSub does not know about the odom frame.
In the simulation you can see the error between the simple Orca4 motion model and the more accurate Gazebo motion model by observing the TF chain map -> odom -> base_link.
map
The map frame is a world frame used to describe the sub’s pose in the global environment.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The map frame is the same as a MAVLink LOCAL frame such as MAV_FRAME_LOCAL_ENU. The ArduSub EKF is running in the map frame.
ArduSub also keeps a MAVLink GLOBAL frame that is expressed in altitude, latitude and longitude. Orca4 does not use this GLOBAL frame.
slam
The slam frame records the global position of the sub when the ORB_SLAM2 first generates a map.
In future use cases there will be multiple slam frames, one for each SLAM-generated map.
Helper frames
By default ORB_SLAM2 assumes that the stereo camera is facing forward. The down frame is rotated to point the camera down towards the seafloor.
MAVROS handles NED/ENU and FLU/FRD translations, and publishes transforms for helper frames map_ned, odom_ned and base_link_frd.
Control Summary
The Manager node manages the state of ArduSub, MAVROS and Orca4.
The BaseController node sends VISION_POSITION_ESTIMATE
messages to ArduSub at 5Hz.
The ArduSub EKF fuses these poses with the barometer and IMU readings.
- When the system boots the default pose {0, 0, 0} is sent to warm the ArduSub EKF
- If the sub moves before mapping starts (dead reckoning), the pose generated by the BaseController motion model is sent
- Once mapping starts the pose from ORB_SLAM2 is sent
Nav2 uses the latest map pose to plan a route at 1Hz.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged orca_base at Robotics Stack Exchange
![]() |
orca_base package from orca4 repoorca_base orca_bringup orca_description orca_msgs orca_nav2 orca_shared |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS2 AUV based on the BlueROV2, ArduSub and Navigation2 |
Checkout URI | https://github.com/clydemcqueen/orca4.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-16 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Clyde McQueen
Authors
- Clyde McQueen
Orca4 Design
Sensors
- BlueRobotics Bar30 depth sensor
- 2 IMUs on the Pixhawk
- A down-facing stereo camera
Current Use Cases
ORB_SLAM2 detects and manages a single continuous map of ORB features.
Case 1: The sub starts at the surface with good visibility of the seafloor and maintains visibility during the mission.
Case 2: The sub starts at the surface, but the seafloor is not visible. The sub dives to obtain good visibility of the seafloor. Once the seafloor is discovered the mapping begins.
Future Use Cases
Case 3: After mapping starts the sub loses visibility of the seafloor and enters into recovery actions to rediscover a previously mapped portion of the seafloor. No mapping occurs during recovery.
Case 4: Visibility is lost and the sub discovers an unmapped patch of seafloor and starts building a separate map. This may repeat. The origins of the subsequent maps are set by dead reckoning. The map origins may be adjusted over time as exploration continues. Maps may be merged if they are found to overlap.
Case 5: A GPS sensor is available to provide good poses at the surface. These poses can be used to improve the origin poses of the map(s). The sub may ascend and descend while mapping regions.
Coordinate Frames
Orca4 uses the 3 coordinate frames described in ROS REP 105: base_link, odom and map. A fourth slam frame is used to handle the case when mapping starts late.
base_link
The base_link frame is a body frame, centered on the sub itself.
The ROS body frame convention is FLU: x-forward, y-left, z-up.
The ArduSub body frame convention is FRD: x-forward, y-right, z-down.
odom
The odom frame is a world frame used to describe the sub’s pose in the local environment.
The ROS world frame convention is ENU: x-east, y-north, z-up.
The ArduSub world frame convention is NED: x-north, y-east, z-down.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The pose is predicted from the Nav2-generated desired velocity and a simple motion model.
ArduSub does not know about the odom frame.
In the simulation you can see the error between the simple Orca4 motion model and the more accurate Gazebo motion model by observing the TF chain map -> odom -> base_link.
map
The map frame is a world frame used to describe the sub’s pose in the global environment.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The map frame is the same as a MAVLink LOCAL frame such as MAV_FRAME_LOCAL_ENU. The ArduSub EKF is running in the map frame.
ArduSub also keeps a MAVLink GLOBAL frame that is expressed in altitude, latitude and longitude. Orca4 does not use this GLOBAL frame.
slam
The slam frame records the global position of the sub when the ORB_SLAM2 first generates a map.
In future use cases there will be multiple slam frames, one for each SLAM-generated map.
Helper frames
By default ORB_SLAM2 assumes that the stereo camera is facing forward. The down frame is rotated to point the camera down towards the seafloor.
MAVROS handles NED/ENU and FLU/FRD translations, and publishes transforms for helper frames map_ned, odom_ned and base_link_frd.
Control Summary
The Manager node manages the state of ArduSub, MAVROS and Orca4.
The BaseController node sends VISION_POSITION_ESTIMATE
messages to ArduSub at 5Hz.
The ArduSub EKF fuses these poses with the barometer and IMU readings.
- When the system boots the default pose {0, 0, 0} is sent to warm the ArduSub EKF
- If the sub moves before mapping starts (dead reckoning), the pose generated by the BaseController motion model is sent
- Once mapping starts the pose from ORB_SLAM2 is sent
Nav2 uses the latest map pose to plan a route at 1Hz.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged orca_base at Robotics Stack Exchange
![]() |
orca_base package from orca4 repoorca_base orca_bringup orca_description orca_msgs orca_nav2 orca_shared |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS2 AUV based on the BlueROV2, ArduSub and Navigation2 |
Checkout URI | https://github.com/clydemcqueen/orca4.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-16 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Clyde McQueen
Authors
- Clyde McQueen
Orca4 Design
Sensors
- BlueRobotics Bar30 depth sensor
- 2 IMUs on the Pixhawk
- A down-facing stereo camera
Current Use Cases
ORB_SLAM2 detects and manages a single continuous map of ORB features.
Case 1: The sub starts at the surface with good visibility of the seafloor and maintains visibility during the mission.
Case 2: The sub starts at the surface, but the seafloor is not visible. The sub dives to obtain good visibility of the seafloor. Once the seafloor is discovered the mapping begins.
Future Use Cases
Case 3: After mapping starts the sub loses visibility of the seafloor and enters into recovery actions to rediscover a previously mapped portion of the seafloor. No mapping occurs during recovery.
Case 4: Visibility is lost and the sub discovers an unmapped patch of seafloor and starts building a separate map. This may repeat. The origins of the subsequent maps are set by dead reckoning. The map origins may be adjusted over time as exploration continues. Maps may be merged if they are found to overlap.
Case 5: A GPS sensor is available to provide good poses at the surface. These poses can be used to improve the origin poses of the map(s). The sub may ascend and descend while mapping regions.
Coordinate Frames
Orca4 uses the 3 coordinate frames described in ROS REP 105: base_link, odom and map. A fourth slam frame is used to handle the case when mapping starts late.
base_link
The base_link frame is a body frame, centered on the sub itself.
The ROS body frame convention is FLU: x-forward, y-left, z-up.
The ArduSub body frame convention is FRD: x-forward, y-right, z-down.
odom
The odom frame is a world frame used to describe the sub’s pose in the local environment.
The ROS world frame convention is ENU: x-east, y-north, z-up.
The ArduSub world frame convention is NED: x-north, y-east, z-down.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The pose is predicted from the Nav2-generated desired velocity and a simple motion model.
ArduSub does not know about the odom frame.
In the simulation you can see the error between the simple Orca4 motion model and the more accurate Gazebo motion model by observing the TF chain map -> odom -> base_link.
map
The map frame is a world frame used to describe the sub’s pose in the global environment.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The map frame is the same as a MAVLink LOCAL frame such as MAV_FRAME_LOCAL_ENU. The ArduSub EKF is running in the map frame.
ArduSub also keeps a MAVLink GLOBAL frame that is expressed in altitude, latitude and longitude. Orca4 does not use this GLOBAL frame.
slam
The slam frame records the global position of the sub when the ORB_SLAM2 first generates a map.
In future use cases there will be multiple slam frames, one for each SLAM-generated map.
Helper frames
By default ORB_SLAM2 assumes that the stereo camera is facing forward. The down frame is rotated to point the camera down towards the seafloor.
MAVROS handles NED/ENU and FLU/FRD translations, and publishes transforms for helper frames map_ned, odom_ned and base_link_frd.
Control Summary
The Manager node manages the state of ArduSub, MAVROS and Orca4.
The BaseController node sends VISION_POSITION_ESTIMATE
messages to ArduSub at 5Hz.
The ArduSub EKF fuses these poses with the barometer and IMU readings.
- When the system boots the default pose {0, 0, 0} is sent to warm the ArduSub EKF
- If the sub moves before mapping starts (dead reckoning), the pose generated by the BaseController motion model is sent
- Once mapping starts the pose from ORB_SLAM2 is sent
Nav2 uses the latest map pose to plan a route at 1Hz.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged orca_base at Robotics Stack Exchange
![]() |
orca_base package from orca4 repoorca_base orca_bringup orca_description orca_msgs orca_nav2 orca_shared |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS2 AUV based on the BlueROV2, ArduSub and Navigation2 |
Checkout URI | https://github.com/clydemcqueen/orca4.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-16 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Clyde McQueen
Authors
- Clyde McQueen
Orca4 Design
Sensors
- BlueRobotics Bar30 depth sensor
- 2 IMUs on the Pixhawk
- A down-facing stereo camera
Current Use Cases
ORB_SLAM2 detects and manages a single continuous map of ORB features.
Case 1: The sub starts at the surface with good visibility of the seafloor and maintains visibility during the mission.
Case 2: The sub starts at the surface, but the seafloor is not visible. The sub dives to obtain good visibility of the seafloor. Once the seafloor is discovered the mapping begins.
Future Use Cases
Case 3: After mapping starts the sub loses visibility of the seafloor and enters into recovery actions to rediscover a previously mapped portion of the seafloor. No mapping occurs during recovery.
Case 4: Visibility is lost and the sub discovers an unmapped patch of seafloor and starts building a separate map. This may repeat. The origins of the subsequent maps are set by dead reckoning. The map origins may be adjusted over time as exploration continues. Maps may be merged if they are found to overlap.
Case 5: A GPS sensor is available to provide good poses at the surface. These poses can be used to improve the origin poses of the map(s). The sub may ascend and descend while mapping regions.
Coordinate Frames
Orca4 uses the 3 coordinate frames described in ROS REP 105: base_link, odom and map. A fourth slam frame is used to handle the case when mapping starts late.
base_link
The base_link frame is a body frame, centered on the sub itself.
The ROS body frame convention is FLU: x-forward, y-left, z-up.
The ArduSub body frame convention is FRD: x-forward, y-right, z-down.
odom
The odom frame is a world frame used to describe the sub’s pose in the local environment.
The ROS world frame convention is ENU: x-east, y-north, z-up.
The ArduSub world frame convention is NED: x-north, y-east, z-down.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The pose is predicted from the Nav2-generated desired velocity and a simple motion model.
ArduSub does not know about the odom frame.
In the simulation you can see the error between the simple Orca4 motion model and the more accurate Gazebo motion model by observing the TF chain map -> odom -> base_link.
map
The map frame is a world frame used to describe the sub’s pose in the global environment.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The map frame is the same as a MAVLink LOCAL frame such as MAV_FRAME_LOCAL_ENU. The ArduSub EKF is running in the map frame.
ArduSub also keeps a MAVLink GLOBAL frame that is expressed in altitude, latitude and longitude. Orca4 does not use this GLOBAL frame.
slam
The slam frame records the global position of the sub when the ORB_SLAM2 first generates a map.
In future use cases there will be multiple slam frames, one for each SLAM-generated map.
Helper frames
By default ORB_SLAM2 assumes that the stereo camera is facing forward. The down frame is rotated to point the camera down towards the seafloor.
MAVROS handles NED/ENU and FLU/FRD translations, and publishes transforms for helper frames map_ned, odom_ned and base_link_frd.
Control Summary
The Manager node manages the state of ArduSub, MAVROS and Orca4.
The BaseController node sends VISION_POSITION_ESTIMATE
messages to ArduSub at 5Hz.
The ArduSub EKF fuses these poses with the barometer and IMU readings.
- When the system boots the default pose {0, 0, 0} is sent to warm the ArduSub EKF
- If the sub moves before mapping starts (dead reckoning), the pose generated by the BaseController motion model is sent
- Once mapping starts the pose from ORB_SLAM2 is sent
Nav2 uses the latest map pose to plan a route at 1Hz.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged orca_base at Robotics Stack Exchange
![]() |
orca_base package from orca4 repoorca_base orca_bringup orca_description orca_msgs orca_nav2 orca_shared |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | MIT |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS2 AUV based on the BlueROV2, ArduSub and Navigation2 |
Checkout URI | https://github.com/clydemcqueen/orca4.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-16 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Clyde McQueen
Authors
- Clyde McQueen
Orca4 Design
Sensors
- BlueRobotics Bar30 depth sensor
- 2 IMUs on the Pixhawk
- A down-facing stereo camera
Current Use Cases
ORB_SLAM2 detects and manages a single continuous map of ORB features.
Case 1: The sub starts at the surface with good visibility of the seafloor and maintains visibility during the mission.
Case 2: The sub starts at the surface, but the seafloor is not visible. The sub dives to obtain good visibility of the seafloor. Once the seafloor is discovered the mapping begins.
Future Use Cases
Case 3: After mapping starts the sub loses visibility of the seafloor and enters into recovery actions to rediscover a previously mapped portion of the seafloor. No mapping occurs during recovery.
Case 4: Visibility is lost and the sub discovers an unmapped patch of seafloor and starts building a separate map. This may repeat. The origins of the subsequent maps are set by dead reckoning. The map origins may be adjusted over time as exploration continues. Maps may be merged if they are found to overlap.
Case 5: A GPS sensor is available to provide good poses at the surface. These poses can be used to improve the origin poses of the map(s). The sub may ascend and descend while mapping regions.
Coordinate Frames
Orca4 uses the 3 coordinate frames described in ROS REP 105: base_link, odom and map. A fourth slam frame is used to handle the case when mapping starts late.
base_link
The base_link frame is a body frame, centered on the sub itself.
The ROS body frame convention is FLU: x-forward, y-left, z-up.
The ArduSub body frame convention is FRD: x-forward, y-right, z-down.
odom
The odom frame is a world frame used to describe the sub’s pose in the local environment.
The ROS world frame convention is ENU: x-east, y-north, z-up.
The ArduSub world frame convention is NED: x-north, y-east, z-down.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The pose is predicted from the Nav2-generated desired velocity and a simple motion model.
ArduSub does not know about the odom frame.
In the simulation you can see the error between the simple Orca4 motion model and the more accurate Gazebo motion model by observing the TF chain map -> odom -> base_link.
map
The map frame is a world frame used to describe the sub’s pose in the global environment.
The initial pose is {0, 0, 0} facing east, where the z origin is the surface of the water.
The map frame is the same as a MAVLink LOCAL frame such as MAV_FRAME_LOCAL_ENU. The ArduSub EKF is running in the map frame.
ArduSub also keeps a MAVLink GLOBAL frame that is expressed in altitude, latitude and longitude. Orca4 does not use this GLOBAL frame.
slam
The slam frame records the global position of the sub when the ORB_SLAM2 first generates a map.
In future use cases there will be multiple slam frames, one for each SLAM-generated map.
Helper frames
By default ORB_SLAM2 assumes that the stereo camera is facing forward. The down frame is rotated to point the camera down towards the seafloor.
MAVROS handles NED/ENU and FLU/FRD translations, and publishes transforms for helper frames map_ned, odom_ned and base_link_frd.
Control Summary
The Manager node manages the state of ArduSub, MAVROS and Orca4.
The BaseController node sends VISION_POSITION_ESTIMATE
messages to ArduSub at 5Hz.
The ArduSub EKF fuses these poses with the barometer and IMU readings.
- When the system boots the default pose {0, 0, 0} is sent to warm the ArduSub EKF
- If the sub moves before mapping starts (dead reckoning), the pose generated by the BaseController motion model is sent
- Once mapping starts the pose from ORB_SLAM2 is sent
Nav2 uses the latest map pose to plan a route at 1Hz.
File truncated at 100 lines see the full file