Add Fleet Manager build integration#683
Conversation
There was a problem hiding this comment.
Added a WITH_TRUCK_OBJECT_CONTROL CMake option and appended the module to ENABLED_MODULES when the flag is enabled.
This was needed so the new TruckObjectControl module can be built selectively without changing the default build path for existing environments.
There was a problem hiding this comment.
Replaced tf2::toMsg / tf2::fromMsg helper usage with direct quaternion field assignment/construction and added the missing tf2::Matrix3x3 include.
This was done to make the quaternion conversions compile reliably across ROS distros where the tf2_geometry_msgs helper API availability differs.
There was a problem hiding this comment.
Added explicit tf2 linear math headers and replaced message-conversion helpers with direct quaternion component copies.
Updated Path header stamping so the path header and pose timestamps share the same time base.
These changes were needed to restore compilation under newer ROS environments and keep emitted path timestamps internally consistent.
There was a problem hiding this comment.
Added missing return statements, corrected debug fprintf calls, fixed a bad string terminator assignment, and corrected mismatched debug format arguments.
These changes were needed to resolve hard compiler errors and non-void fallthrough warnings that blocked the build on stricter toolchains.
There was a problem hiding this comment.
Added a direct #include <rclcpp/rclcpp.hpp>.
This was needed because the implementation now depends on rclcpp::Time / rclcpp::Duration being declared from the public header path, rather than relying on indirect includes.
There was a problem hiding this comment.
Added a null/failed-service guard before reading the object-control-state response.
This was needed to prevent the integration test process from crashing when the service call fails during startup or scenario-loading delays.
There was a problem hiding this comment.
Made SE_ReportObjectPos conditional on the ROS build environment: Humble keeps the timestamp argument, other environments use the shorter signature.
This was needed because the installed esmini headers differ between environments, so one fixed call signature could not compile everywhere.
There was a problem hiding this comment.
Increased the waits for trajectory, IP, and origin service responses, and extended the overall scenario-loading timeout.
This was needed because CI/container startup is slower than local runs, and the previous timeouts were causing false scenario-load failures during integration testing.
There was a problem hiding this comment.
Added libssl-dev.
This was needed to satisfy SSL/TLS-related build or runtime dependencies introduced by the current branch's environment and bridge usage.
There was a problem hiding this comment.
Disabled foxglove_bridge for the integration test launch and increased the test timeout from 30s to 60s.
This was needed because foxglove_bridge was failing in the test container while not being relevant to the scenario test itself, and the previous timeout was too short for slower CI runs.
No description provided.