Fixed humble build

This commit is contained in:
matlabbe
2022-09-10 10:54:26 +13:00
9 changed files with 60 additions and 32 deletions
+37 -19
View File
@@ -37,6 +37,7 @@ find_package(image_transport REQUIRED)
find_package(tf2 REQUIRED) find_package(tf2 REQUIRED)
find_package(tf2_eigen REQUIRED) find_package(tf2_eigen REQUIRED)
find_package(tf2_ros REQUIRED) find_package(tf2_ros REQUIRED)
find_package(tf2_geometry_msgs REQUIRED)
#find_package(eigen_conversions REQUIRED) #find_package(eigen_conversions REQUIRED)
find_package(laser_geometry REQUIRED) find_package(laser_geometry REQUIRED)
find_package(pcl_conversions REQUIRED) find_package(pcl_conversions REQUIRED)
@@ -81,6 +82,9 @@ ELSEIF(COMPILER_SUPPORTS_CXX11)
ENDIF() ENDIF()
endif() endif()
IF(${nav2_msgs_VERSION_MAJOR} EQUAL 0 AND (${nav2_msgs_VERSION_MINOR} LESS 4 OR (${nav2_msgs_VERSION_MINOR} EQUAL 4 AND ${nav2_msgs_VERSION_PATCH} LESS 7)))
ADD_DEFINITIONS("-DNAV_MSGS_FOXY")
ENDIF()
option(RTABMAP_SYNC_MULTI_RGBD "Build with multi RGBD camera synchronization support" OFF) option(RTABMAP_SYNC_MULTI_RGBD "Build with multi RGBD camera synchronization support" OFF)
option(RTABMAP_SYNC_USER_DATA "Build with input user data support" OFF) option(RTABMAP_SYNC_USER_DATA "Build with input user data support" OFF)
@@ -223,6 +227,7 @@ SET(Libraries
tf2 tf2
tf2_eigen tf2_eigen
tf2_ros tf2_ros
tf2_geometry_msgs
laser_geometry laser_geometry
message_filters message_filters
class_loader class_loader
@@ -335,13 +340,26 @@ ament_target_dependencies(rtabmap_common ${Libraries})
ament_target_dependencies(rtabmap_sync ${Libraries}) ament_target_dependencies(rtabmap_sync ${Libraries})
ament_target_dependencies(rtabmap_plugins ${Libraries}) ament_target_dependencies(rtabmap_plugins ${Libraries})
target_link_libraries(rtabmap_common ${RTABMap_LIBRARIES}) if("$ENV{ROS_DISTRO}" STRGREATER_EQUAL "humble")
target_link_libraries(rtabmap_sync rtabmap_common ${RTABMap_LIBRARIES}) rosidl_get_typesupport_target(cpp_typesupport_target ${PROJECT_NAME} "rosidl_typesupport_cpp")
target_link_libraries(rtabmap_plugins rtabmap_common ${RTABMap_LIBRARIES})
rosidl_target_interfaces(rtabmap_common ${PROJECT_NAME} "rosidl_typesupport_cpp") target_link_libraries(rtabmap_common ${cpp_typesupport_target} ${RTABMap_LIBRARIES})
rosidl_target_interfaces(rtabmap_sync ${PROJECT_NAME} "rosidl_typesupport_cpp") target_link_libraries(rtabmap_sync rtabmap_common ${cpp_typesupport_targeT} ${RTABMap_LIBRARIES})
rosidl_target_interfaces(rtabmap_plugins ${PROJECT_NAME} "rosidl_typesupport_cpp") target_link_libraries(rtabmap_plugins rtabmap_common ${cpp_typesupport_target} ${RTABMap_LIBRARIES})
else()
# foxy, galatic
target_link_libraries(rtabmap_common ${RTABMap_LIBRARIES})
target_link_libraries(rtabmap_sync rtabmap_common ${RTABMap_LIBRARIES})
target_link_libraries(rtabmap_plugins rtabmap_common ${RTABMap_LIBRARIES})
rosidl_target_interfaces(rtabmap_common ${PROJECT_NAME} "rosidl_typesupport_cpp")
rosidl_target_interfaces(rtabmap_sync ${PROJECT_NAME} "rosidl_typesupport_cpp")
rosidl_target_interfaces(rtabmap_plugins ${PROJECT_NAME} "rosidl_typesupport_cpp")
function(rosidl_get_typesupport_target var generate_interfaces_target typesupport_name)
rosidl_target_interfaces(var generate_interfaces_target typesupport_name)
endfunction()
endif()
rclcpp_components_register_nodes(rtabmap_plugins "rtabmap_ros::RGBDOdometry") rclcpp_components_register_nodes(rtabmap_plugins "rtabmap_ros::RGBDOdometry")
rclcpp_components_register_nodes(rtabmap_plugins "rtabmap_ros::StereoOdometry") rclcpp_components_register_nodes(rtabmap_plugins "rtabmap_ros::StereoOdometry")
@@ -504,41 +522,41 @@ find_package("${rmw_implementation}" REQUIRED)
get_rmw_typesupport(typesupport_impls "${rmw_implementation}" LANGUAGE "cpp") get_rmw_typesupport(typesupport_impls "${rmw_implementation}" LANGUAGE "cpp")
foreach(typesupport_impl ${typesupport_impls}) foreach(typesupport_impl ${typesupport_impls})
rosidl_target_interfaces(rtabmap_rgbd_odometry rosidl_get_typesupport_target(rtabmap_rgbd_odometry
${PROJECT_NAME} ${typesupport_impl} ${PROJECT_NAME} ${typesupport_impl}
) )
rosidl_target_interfaces(rtabmap_stereo_odometry rosidl_get_typesupport_target(rtabmap_stereo_odometry
${PROJECT_NAME} ${typesupport_impl} ${PROJECT_NAME} ${typesupport_impl}
) )
rosidl_target_interfaces(rtabmap_icp_odometry rosidl_get_typesupport_target(rtabmap_icp_odometry
${PROJECT_NAME} ${typesupport_impl} ${PROJECT_NAME} ${typesupport_impl}
) )
rosidl_target_interfaces(rtabmap_rgbd_relay rosidl_get_typesupport_target(rtabmap_rgbd_relay
${PROJECT_NAME} ${typesupport_impl} ${PROJECT_NAME} ${typesupport_impl}
) )
rosidl_target_interfaces(rtabmap_rgbd_sync rosidl_get_typesupport_target(rtabmap_rgbd_sync
${PROJECT_NAME} ${typesupport_impl} ${PROJECT_NAME} ${typesupport_impl}
) )
rosidl_target_interfaces(rtabmap_rgbdx_sync rosidl_get_typesupport_target(rtabmap_rgbdx_sync
${PROJECT_NAME} ${typesupport_impl} ${PROJECT_NAME} ${typesupport_impl}
) )
rosidl_target_interfaces(rtabmap_rgb_sync rosidl_get_typesupport_target(rtabmap_rgb_sync
${PROJECT_NAME} ${typesupport_impl} ${PROJECT_NAME} ${typesupport_impl}
) )
rosidl_target_interfaces(rtabmap_stereo_sync rosidl_get_typesupport_target(rtabmap_stereo_sync
${PROJECT_NAME} ${typesupport_impl} ${PROJECT_NAME} ${typesupport_impl}
) )
rosidl_target_interfaces(rtabmap_pointcloud_to_depthimage rosidl_get_typesupport_target(rtabmap_pointcloud_to_depthimage
${PROJECT_NAME} ${typesupport_impl} ${PROJECT_NAME} ${typesupport_impl}
) )
rosidl_target_interfaces(rtabmap_point_cloud_xyzrgb rosidl_get_typesupport_target(rtabmap_point_cloud_xyzrgb
${PROJECT_NAME} ${typesupport_impl} ${PROJECT_NAME} ${typesupport_impl}
) )
rosidl_target_interfaces(rtabmap rosidl_get_typesupport_target(rtabmap
${PROJECT_NAME} ${typesupport_impl} ${PROJECT_NAME} ${typesupport_impl}
) )
IF(RTABMAP_GUI) IF(RTABMAP_GUI)
rosidl_target_interfaces(rtabmapviz rosidl_get_typesupport_target(rtabmapviz
${PROJECT_NAME} ${typesupport_impl} ${PROJECT_NAME} ${typesupport_impl}
) )
ENDIF() ENDIF()
@@ -598,7 +616,7 @@ IF(rviz_default_plugins_FOUND)
ENDIF(Qt5_FOUND) ENDIF(Qt5_FOUND)
foreach(typesupport_impl ${typesupport_impls}) foreach(typesupport_impl ${typesupport_impls})
rosidl_target_interfaces(rtabmap_rviz_plugins rosidl_get_typesupport_target(rtabmap_rviz_plugins
${PROJECT_NAME} ${typesupport_impl} ${PROJECT_NAME} ${typesupport_impl}
) )
endforeach() endforeach()
+4 -1
View File
@@ -245,8 +245,11 @@ private:
void publishStats(const rclcpp::Time & stamp); void publishStats(const rclcpp::Time & stamp);
void publishCurrentGoal(const rclcpp::Time & stamp); void publishCurrentGoal(const rclcpp::Time & stamp);
#ifdef NAV_MSGS_FOXY
void goalResponseCallback(std::shared_future<GoalHandleNav2::SharedPtr> future); void goalResponseCallback(std::shared_future<GoalHandleNav2::SharedPtr> future);
#else
void goalResponseCallback(const GoalHandleNav2::SharedPtr & goal_handle);
#endif
void resultCallback(const GoalHandleNav2::WrappedResult & result); void resultCallback(const GoalHandleNav2::WrappedResult & result);
void publishLocalPath(const rclcpp::Time & stamp); void publishLocalPath(const rclcpp::Time & stamp);
+2
View File
@@ -37,6 +37,7 @@
<build_depend>tf2</build_depend> <build_depend>tf2</build_depend>
<build_depend>tf2_eigen</build_depend> <build_depend>tf2_eigen</build_depend>
<build_depend>tf2_ros</build_depend> <build_depend>tf2_ros</build_depend>
<build_depend>tf2_geometry_msgs</build_depend>
<build_depend>laser_geometry</build_depend> <build_depend>laser_geometry</build_depend>
<build_depend>pcl_conversions</build_depend> <build_depend>pcl_conversions</build_depend>
<build_depend>message_filters</build_depend> <build_depend>message_filters</build_depend>
@@ -70,6 +71,7 @@
<exec_depend>tf2</exec_depend> <exec_depend>tf2</exec_depend>
<exec_depend>tf2_eigen</exec_depend> <exec_depend>tf2_eigen</exec_depend>
<exec_depend>tf2_ros</exec_depend> <exec_depend>tf2_ros</exec_depend>
<exec_depend>tf2_geometry_msgs</exec_depend>
<exec_depend>laser_geometry</exec_depend> <exec_depend>laser_geometry</exec_depend>
<exec_depend>pcl_conversions</exec_depend> <exec_depend>pcl_conversions</exec_depend>
<exec_depend>message_filters</exec_depend> <exec_depend>message_filters</exec_depend>
+12 -7
View File
@@ -680,7 +680,7 @@ CoreWrapper::CoreWrapper(const rclcpp::NodeOptions & options) :
if(!odomFrameId_.empty()) if(!odomFrameId_.empty())
{ {
mapToOdomMutex_.lock(); mapToOdomMutex_.lock();
rclcpp::Time tfExpiration = now() + rclcpp::Duration(tfTolerance*10e9); rclcpp::Time tfExpiration = now() + rclcpp::Duration::from_seconds(tfTolerance*10e9);
geometry_msgs::msg::TransformStamped msg; geometry_msgs::msg::TransformStamped msg;
msg.child_frame_id = odomFrameId_; msg.child_frame_id = odomFrameId_;
msg.header.frame_id = mapFrameId_; msg.header.frame_id = mapFrameId_;
@@ -906,7 +906,7 @@ void CoreWrapper::defaultCallback(const sensor_msgs::msg::Image::ConstSharedPtr
if(rate_>0.0f) if(rate_>0.0f)
{ {
if(previousStamp_.seconds() > 0.0 && stamp.seconds() > previousStamp_.seconds() && stamp - previousStamp_ < rclcpp::Duration(1.0f/rate_)) if(previousStamp_.seconds() > 0.0 && stamp.seconds() > previousStamp_.seconds() && stamp - previousStamp_ < rclcpp::Duration::from_seconds(1.0f/rate_))
{ {
return; return;
} }
@@ -3592,7 +3592,7 @@ void CoreWrapper::publishMapCallback(
marker.color.r = 1.0; marker.color.r = 1.0;
marker.color.g = 1.0; marker.color.g = 1.0;
marker.color.b = 0.0; marker.color.b = 0.0;
marker.lifetime = rclcpp::Duration(2.0f/rate_); marker.lifetime = rclcpp::Duration::from_seconds(2.0f/rate_);
marker.type = visualization_msgs::msg::Marker::TEXT_VIEW_FACING; marker.type = visualization_msgs::msg::Marker::TEXT_VIEW_FACING;
marker.text = uNumber2Str(iter->first); marker.text = uNumber2Str(iter->first);
@@ -3705,7 +3705,7 @@ void CoreWrapper::publishMapCallback(
marker.color.r = 1.0; marker.color.r = 1.0;
marker.color.g = 1.0; marker.color.g = 1.0;
marker.color.b = 1.0; marker.color.b = 1.0;
marker.lifetime = rclcpp::Duration(2.0f/rate_); marker.lifetime = rclcpp::Duration::from_seconds(2.0f/rate_);
marker.type = visualization_msgs::msg::Marker::TEXT_VIEW_FACING; marker.type = visualization_msgs::msg::Marker::TEXT_VIEW_FACING;
marker.text = uNumber2Str(iter->first); marker.text = uNumber2Str(iter->first);
@@ -4279,7 +4279,7 @@ void CoreWrapper::publishStats(const rclcpp::Time & stamp)
marker.color.r = 0.0; marker.color.r = 0.0;
marker.color.g = 1.0; marker.color.g = 1.0;
marker.color.b = 0.0; marker.color.b = 0.0;
marker.lifetime = rclcpp::Duration(2.0f/rate_); marker.lifetime = rclcpp::Duration::from_seconds(2.0f/rate_);
marker.type = visualization_msgs::msg::Marker::TEXT_VIEW_FACING; marker.type = visualization_msgs::msg::Marker::TEXT_VIEW_FACING;
marker.text = uNumber2Str(iter->first); marker.text = uNumber2Str(iter->first);
@@ -4360,7 +4360,7 @@ void CoreWrapper::publishStats(const rclcpp::Time & stamp)
marker.color.r = 1.0; marker.color.r = 1.0;
marker.color.g = 1.0; marker.color.g = 1.0;
marker.color.b = 1.0; marker.color.b = 1.0;
marker.lifetime = rclcpp::Duration(2.0f/rate_); marker.lifetime = rclcpp::Duration::from_seconds(2.0f/rate_);
marker.type = visualization_msgs::msg::Marker::TEXT_VIEW_FACING; marker.type = visualization_msgs::msg::Marker::TEXT_VIEW_FACING;
marker.text = uNumber2Str(poseIter->first); marker.text = uNumber2Str(poseIter->first);
@@ -4445,9 +4445,14 @@ void CoreWrapper::publishCurrentGoal(const rclcpp::Time & stamp)
} }
void CoreWrapper::goalResponseCallback( void CoreWrapper::goalResponseCallback(
#ifdef NAV_MSGS_FOXY
std::shared_future<GoalHandleNav2::SharedPtr> future) std::shared_future<GoalHandleNav2::SharedPtr> future)
{ {
auto goal_handle = future.get(); auto goal_handle = future.get();
#else
const GoalHandleNav2::SharedPtr & goal_handle)
{
#endif
if (!goal_handle) { if (!goal_handle) {
RCLCPP_ERROR(this->get_logger(), "Goal was rejected by server"); RCLCPP_ERROR(this->get_logger(), "Goal was rejected by server");
rtabmap_.clearPath(1); rtabmap_.clearPath(1);
+1 -1
View File
@@ -2139,7 +2139,7 @@ bool convertScanMsg(
rtabmap::Transform tmpT = getTransform( rtabmap::Transform tmpT = getTransform(
odomFrameId.empty()?frameId:odomFrameId, odomFrameId.empty()?frameId:odomFrameId,
scan2dMsg.header.frame_id, scan2dMsg.header.frame_id,
rclcpp::Time(scan2dMsg.header.stamp.sec, scan2dMsg.header.stamp.nanosec) + rclcpp::Duration(scan2dMsg.ranges.size()*scan2dMsg.time_increment*10e9), rclcpp::Time(scan2dMsg.header.stamp.sec, scan2dMsg.header.stamp.nanosec) + rclcpp::Duration::from_seconds(scan2dMsg.ranges.size()*scan2dMsg.time_increment*10e9),
tfBuffer, tfBuffer,
waitForTransform); waitForTransform);
if(tmpT.isNull()) if(tmpT.isNull())
+1 -1
View File
@@ -306,7 +306,7 @@ void ICPOdometry::callbackScan(const sensor_msgs::msg::LaserScan::SharedPtr scan
// make sure the frame of the laser is updated too // make sure the frame of the laser is updated too
Transform localScanTransform = getTransform(this->frameId(), Transform localScanTransform = getTransform(this->frameId(),
scanMsg->header.frame_id, scanMsg->header.frame_id,
rclcpp::Time(scanMsg->header.stamp.sec, scanMsg->header.stamp.nanosec) + rclcpp::Duration(scanMsg->ranges.size()*scanMsg->time_increment*10e9), rclcpp::Time(scanMsg->header.stamp.sec, scanMsg->header.stamp.nanosec) + rclcpp::Duration::from_seconds(scanMsg->ranges.size()*scanMsg->time_increment*10e9),
tfBuffer(), waitForTransform()); tfBuffer(), waitForTransform());
if(localScanTransform.isNull()) if(localScanTransform.isNull())
{ {
+1 -1
View File
@@ -145,7 +145,7 @@ void RGBSync::callback(
bool publishCompressed = true; bool publishCompressed = true;
if (compressedRate_ > 0.0) if (compressedRate_ > 0.0)
{ {
if ( lastCompressedPublished_ + rclcpp::Duration(1.0/compressedRate_) > now()) if ( lastCompressedPublished_ + rclcpp::Duration::from_seconds(1.0/compressedRate_) > now())
{ {
RCLCPP_DEBUG(this->get_logger(), "throttle last update at %f skipping", lastCompressedPublished_.seconds()); RCLCPP_DEBUG(this->get_logger(), "throttle last update at %f skipping", lastCompressedPublished_.seconds());
publishCompressed = false; publishCompressed = false;
+1 -1
View File
@@ -190,7 +190,7 @@ void RGBDSync::callback(
bool publishCompressed = true; bool publishCompressed = true;
if (compressedRate_ > 0.0) if (compressedRate_ > 0.0)
{ {
if ( lastCompressedPublished_ + rclcpp::Duration(1.0/compressedRate_) > now()) if ( lastCompressedPublished_ + rclcpp::Duration::from_seconds(1.0/compressedRate_) > now())
{ {
RCLCPP_DEBUG(this->get_logger(), "throttle last update at %f skipping", lastCompressedPublished_.seconds()); RCLCPP_DEBUG(this->get_logger(), "throttle last update at %f skipping", lastCompressedPublished_.seconds());
publishCompressed = false; publishCompressed = false;
+1 -1
View File
@@ -146,7 +146,7 @@ void StereoSync::callback(
bool publishCompressed = true; bool publishCompressed = true;
if (compressedRate_ > 0.0) if (compressedRate_ > 0.0)
{ {
if ( lastCompressedPublished_ + rclcpp::Duration(1.0/compressedRate_) > now()) if ( lastCompressedPublished_ + rclcpp::Duration::from_seconds(1.0/compressedRate_) > now())
{ {
RCLCPP_DEBUG(this->get_logger(), "throttle last update at %f skipping", lastCompressedPublished_.seconds()); RCLCPP_DEBUG(this->get_logger(), "throttle last update at %f skipping", lastCompressedPublished_.seconds());
publishCompressed = false; publishCompressed = false;