Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

control_msgs ROS1<->ROS2 fails ros1_bridge build #4

Closed
gavanderhoorn opened this issue Mar 27, 2023 · 9 comments
Closed

control_msgs ROS1<->ROS2 fails ros1_bridge build #4

gavanderhoorn opened this issue Mar 27, 2023 · 9 comments

Comments

@gavanderhoorn
Copy link

First: 💯 for the work.

With your recent updates to ros2#256, I tried building a configuration where both ROS 1 and ROS 2 have control_msgs, sensor_msgs and trajectory_msgs installed.

The build comes quite far, but at some point it stops with the following output:

In file included from /opt/ros/galactic/include/rclcpp/client.hpp:40,
                 from /opt/ros/galactic/include/rclcpp/callback_group.hpp:23,
                 from /opt/ros/galactic/include/rclcpp/any_executable.hpp:20,
                 from /opt/ros/galactic/include/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/galactic/include/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/galactic/include/rclcpp/executor_options.hpp:20,
                 from /opt/ros/galactic/include/rclcpp/executor.hpp:36,
                 from /opt/ros/galactic/include/rclcpp/executors/multi_threaded_executor.hpp:26,
                 from /opt/ros/galactic/include/rclcpp/executors.hpp:21,
                 from /opt/ros/galactic/include/rclcpp/rclcpp.hpp:156,
                 from /bridge_ws/src/ros1_bridge/include/ros1_bridge/factory.hpp:25,
                 from /bridge_ws/build/ros1_bridge/generated/control_msgs_factories.hpp:6,
                 from /bridge_ws/build/ros1_bridge/generated/control_msgs__action__PointHead__factories.cpp:3:
/bridge_ws/src/ros1_bridge/include/ros1_bridge/action_factory.hpp: In instantiation of ‘void ros1_bridge::ActionFactory_1_2<ROS1_T, ROS2_T>::GoalHandler::handle() [with ROS1_T = control_msgs::PointHeadAction_<std::allocator<void> >; ROS2_T = control_msgs::action::PointHead]’:
/bridge_ws/src/ros1_bridge/include/ros1_bridge/action_factory.hpp:113:9:   required from ‘void ros1_bridge::ActionFactory_1_2<ROS1_T, ROS2_T>::goal_cb(ros1_bridge::ActionFactory_1_2<ROS1_T, ROS2_T>::ROS1GoalHandle) [with ROS1_T = control_msgs::PointHeadAction_<std::allocator<void> >; ROS2_T = control_msgs::action::PointHead; ros1_bridge::ActionFactory_1_2<ROS1_T, ROS2_T>::ROS1GoalHandle = actionlib::ServerGoalHandle<control_msgs::PointHeadAction_<std::allocator<void> > >]’
/bridge_ws/src/ros1_bridge/include/ros1_bridge/action_factory.hpp:74:17:   required from ‘void ros1_bridge::ActionFactory_1_2<ROS1_T, ROS2_T>::create_server_client(ros::NodeHandle, rclcpp::Node::SharedPtr, std::string) [with ROS1_T = control_msgs::PointHeadAction_<std::allocator<void> >; ROS2_T = control_msgs::action::PointHead; rclcpp::Node::SharedPtr = std::shared_ptr<rclcpp::Node>; std::string = std::__cxx11::basic_string<char>]’
/bridge_ws/src/ros1_bridge/include/ros1_bridge/action_factory.hpp:65:16:   required from here
/bridge_ws/src/ros1_bridge/include/ros1_bridge/action_factory.hpp:141:21: error: invalid use of non-static data member ‘ros1_bridge::ActionFactory_1_2<control_msgs::PointHeadAction_<std::allocator<void> >, control_msgs::action::PointHead>::ros2_node_’
  141 |         RCLCPP_INFO(ros2_node_->get_logger(), "Action server not available after waiting");
      |                     ^~~~~~~~~~

this repeats for all actions in control_msgs.

Additionally:

In file included from /usr/include/c++/9/functional:59,
                 from /bridge_ws/src/ros1_bridge/include/ros1_bridge/factory.hpp:18,
                 from /bridge_ws/build/ros1_bridge/generated/control_msgs_factories.hpp:6,
                 from /bridge_ws/build/ros1_bridge/generated/control_msgs__action__PointHead__factories.cpp:3:
/usr/include/c++/9/bits/std_function.h:667:7: error: ‘std::function<_Res(_ArgTypes ...)>::function(_Functor) [with _Functor = ros1_bridge::ActionFactory_1_2<ROS1_T, ROS2_T>::GoalHandler::handle() [with ROS1_T = control_msgs::PointHeadAction_<std::allocator<void> >; ROS2_T = control_msgs::action::PointHead]::<lambda(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<control_msgs::action::PointHead> > >)>; <template-parameter-2-2> = void; <template-parameter-2-3> = void; _Res = void; _ArgTypes = {std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<control_msgs::action::PointHead> > >}]’, declared using local type ‘ros1_bridge::ActionFactory_1_2<ROS1_T, ROS2_T>::GoalHandler::handle() [with ROS1_T = control_msgs::PointHeadAction_<std::allocator<void> >; ROS2_T = control_msgs::action::PointHead]::<lambda(std::shared_future<std::shared_ptr<rclcpp_action::ClientGoalHandle<control_msgs::action::PointHead> > >)>’, is used but never defined [-fpermissive]
  667 |       function<_Res(_ArgTypes...)>::
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

I don't remember seeing these earlier, so perhaps these are the result of a recent addition?

@gavanderhoorn
Copy link
Author

Could the first error be caused by 084ed7f?

@hsd-dev
Copy link
Owner

hsd-dev commented Mar 27, 2023

Could you please provide an easy-to-reproduce example? Did you make any changes in Dockerfile or created a new mapping_rules.yaml?

@gavanderhoorn
Copy link
Author

gavanderhoorn commented Mar 27, 2023

Could you please provide an easy-to-reproduce example?

Sure, here you go:

Click to expand
FROM ros:galactic-ros-base-focal

# setup sources.list
RUN echo "deb http://packages.ros.org/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros1-latest.list

# setup keys
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

ENV ROS1_DISTRO noetic
ENV ROS2_DISTRO galactic

# install ros packages
RUN apt-get update && apt-get install -y --no-install-recommends \
    ros-noetic-ros-comm \
    ros-noetic-roscpp-tutorials \
    ros-noetic-rospy-tutorials \
    ros-noetic-sensor-msgs \
    ros-noetic-control-msgs \
    ros-noetic-trajectory-msgs \
    ros-galactic-control-msgs \
    ros-galactic-sensor-msgs \
    ros-galactic-trajectory-msgs \
    git \
    && rm -rf /var/lib/apt/lists/*

RUN mkdir -p /bridge_ws/src
WORKDIR /bridge_ws/src
RUN git clone https://github.com/ipa-hsd/ros1_bridge.git -b action_bridge

WORKDIR /bridge_ws

RUN . /opt/ros/${ROS2_DISTRO}/setup.sh \
    && apt-get update \
    && rosdep update --include-eol-distros \
    && rosdep install --from-paths src --ignore-src -r -y \
    && colcon build --symlink-install --packages-skip ros1_bridge \
    && . /opt/ros/${ROS1_DISTRO}/setup.sh \
    && . install/local_setup.sh \
    && rosdep update --include-eol-distros && rosdep install --from-paths src --ignore-src -r -y \
    && colcon build --symlink-install --packages-select ros1_bridge --cmake-force-configure --cmake-args -DBUILD_TESTING=FALSE -DCMAKE_BUILD_TYPE=RelWithDebInfo

Did you make any changes in Dockerfile [..]?

See above.

or created a new mapping_rules.yaml?

I haven't touched nor created any.

@hsd-dev
Copy link
Owner

hsd-dev commented Mar 27, 2023

Added this commit and now it builds for me: ros2@79a46de Could you please try again?

@hsd-dev
Copy link
Owner

hsd-dev commented Mar 27, 2023

Though I get this error

Finished <<< ros1_bridge [17min 35s]
--- stderr: ros1_bridge
Mapping for package action_tutorials_interfaces contains unknown field(s)
Mapping for package action_tutorials_interfaces contains unknown field(s)
---
Summary: 1 package finished [17min 36s]
  1 package had stderr output: ros1_bridge
Removing intermediate container a22cdd1514c4
 ---> e7900119d9ca
Successfully built e7900119d9ca
Successfully tagged ros1_bridge:latest

But it is a mapping error (might need mapping_rules.yaml), the code itself should hopefully be fixed now.

@gavanderhoorn
Copy link
Author

It does now indeed build for me as well.

Output of dynamic_bridge --print-pairs:

Click to expand
Supported ROS 2 <=> ROS 1 message type conversion pairs:
  - 'actionlib_msgs/msg/GoalID' (ROS 2) <=> 'actionlib_msgs/GoalID' (ROS 1)
  - 'actionlib_msgs/msg/GoalStatus' (ROS 2) <=> 'actionlib_msgs/GoalStatus' (ROS 1)
  - 'actionlib_msgs/msg/GoalStatusArray' (ROS 2) <=> 'actionlib_msgs/GoalStatusArray' (ROS 1)
  - 'builtin_interfaces/msg/Duration' (ROS 2) <=> 'std_msgs/Duration' (ROS 1)
  - 'builtin_interfaces/msg/Time' (ROS 2) <=> 'std_msgs/Time' (ROS 1)
  - 'control_msgs/msg/GripperCommand' (ROS 2) <=> 'control_msgs/GripperCommand' (ROS 1)
  - 'control_msgs/msg/JointControllerState' (ROS 2) <=> 'control_msgs/JointControllerState' (ROS 1)
  - 'control_msgs/msg/JointJog' (ROS 2) <=> 'control_msgs/JointJog' (ROS 1)
  - 'control_msgs/msg/JointTolerance' (ROS 2) <=> 'control_msgs/JointTolerance' (ROS 1)
  - 'control_msgs/msg/JointTrajectoryControllerState' (ROS 2) <=> 'control_msgs/JointTrajectoryControllerState' (ROS 1)
  - 'control_msgs/msg/PidState' (ROS 2) <=> 'control_msgs/PidState' (ROS 1)
  - 'geometry_msgs/msg/Accel' (ROS 2) <=> 'geometry_msgs/Accel' (ROS 1)
  - 'geometry_msgs/msg/AccelStamped' (ROS 2) <=> 'geometry_msgs/AccelStamped' (ROS 1)
  - 'geometry_msgs/msg/AccelWithCovariance' (ROS 2) <=> 'geometry_msgs/AccelWithCovariance' (ROS 1)
  - 'geometry_msgs/msg/AccelWithCovarianceStamped' (ROS 2) <=> 'geometry_msgs/AccelWithCovarianceStamped' (ROS 1)
  - 'geometry_msgs/msg/Inertia' (ROS 2) <=> 'geometry_msgs/Inertia' (ROS 1)
  - 'geometry_msgs/msg/InertiaStamped' (ROS 2) <=> 'geometry_msgs/InertiaStamped' (ROS 1)
  - 'geometry_msgs/msg/Point' (ROS 2) <=> 'geometry_msgs/Point' (ROS 1)
  - 'geometry_msgs/msg/Point32' (ROS 2) <=> 'geometry_msgs/Point32' (ROS 1)
  - 'geometry_msgs/msg/PointStamped' (ROS 2) <=> 'geometry_msgs/PointStamped' (ROS 1)
  - 'geometry_msgs/msg/Polygon' (ROS 2) <=> 'geometry_msgs/Polygon' (ROS 1)
  - 'geometry_msgs/msg/PolygonStamped' (ROS 2) <=> 'geometry_msgs/PolygonStamped' (ROS 1)
  - 'geometry_msgs/msg/Pose' (ROS 2) <=> 'geometry_msgs/Pose' (ROS 1)
  - 'geometry_msgs/msg/Pose2D' (ROS 2) <=> 'geometry_msgs/Pose2D' (ROS 1)
  - 'geometry_msgs/msg/PoseArray' (ROS 2) <=> 'geometry_msgs/PoseArray' (ROS 1)
  - 'geometry_msgs/msg/PoseStamped' (ROS 2) <=> 'geometry_msgs/PoseStamped' (ROS 1)
  - 'geometry_msgs/msg/PoseWithCovariance' (ROS 2) <=> 'geometry_msgs/PoseWithCovariance' (ROS 1)
  - 'geometry_msgs/msg/PoseWithCovarianceStamped' (ROS 2) <=> 'geometry_msgs/PoseWithCovarianceStamped' (ROS 1)
  - 'geometry_msgs/msg/Quaternion' (ROS 2) <=> 'geometry_msgs/Quaternion' (ROS 1)
  - 'geometry_msgs/msg/QuaternionStamped' (ROS 2) <=> 'geometry_msgs/QuaternionStamped' (ROS 1)
  - 'geometry_msgs/msg/Transform' (ROS 2) <=> 'geometry_msgs/Transform' (ROS 1)
  - 'geometry_msgs/msg/TransformStamped' (ROS 2) <=> 'geometry_msgs/TransformStamped' (ROS 1)
  - 'geometry_msgs/msg/Twist' (ROS 2) <=> 'geometry_msgs/Twist' (ROS 1)
  - 'geometry_msgs/msg/TwistStamped' (ROS 2) <=> 'geometry_msgs/TwistStamped' (ROS 1)
  - 'geometry_msgs/msg/TwistWithCovariance' (ROS 2) <=> 'geometry_msgs/TwistWithCovariance' (ROS 1)
  - 'geometry_msgs/msg/TwistWithCovarianceStamped' (ROS 2) <=> 'geometry_msgs/TwistWithCovarianceStamped' (ROS 1)
  - 'geometry_msgs/msg/Vector3' (ROS 2) <=> 'geometry_msgs/Vector3' (ROS 1)
  - 'geometry_msgs/msg/Vector3Stamped' (ROS 2) <=> 'geometry_msgs/Vector3Stamped' (ROS 1)
  - 'geometry_msgs/msg/Wrench' (ROS 2) <=> 'geometry_msgs/Wrench' (ROS 1)
  - 'geometry_msgs/msg/WrenchStamped' (ROS 2) <=> 'geometry_msgs/WrenchStamped' (ROS 1)
  - 'industrial_msgs/msg/DebugLevel' (ROS 2) <=> 'industrial_msgs/DebugLevel' (ROS 1)
  - 'industrial_msgs/msg/DeviceInfo' (ROS 2) <=> 'industrial_msgs/DeviceInfo' (ROS 1)
  - 'industrial_msgs/msg/RobotMode' (ROS 2) <=> 'industrial_msgs/RobotMode' (ROS 1)
  - 'industrial_msgs/msg/RobotStatus' (ROS 2) <=> 'industrial_msgs/RobotStatus' (ROS 1)
  - 'industrial_msgs/msg/ServiceReturnCode' (ROS 2) <=> 'industrial_msgs/ServiceReturnCode' (ROS 1)
  - 'industrial_msgs/msg/TriState' (ROS 2) <=> 'industrial_msgs/TriState' (ROS 1)
  - 'rosgraph_msgs/msg/Clock' (ROS 2) <=> 'rosgraph_msgs/Clock' (ROS 1)
  - 'sensor_msgs/msg/BatteryState' (ROS 2) <=> 'sensor_msgs/BatteryState' (ROS 1)
  - 'sensor_msgs/msg/CameraInfo' (ROS 2) <=> 'sensor_msgs/CameraInfo' (ROS 1)
  - 'sensor_msgs/msg/ChannelFloat32' (ROS 2) <=> 'sensor_msgs/ChannelFloat32' (ROS 1)
  - 'sensor_msgs/msg/CompressedImage' (ROS 2) <=> 'sensor_msgs/CompressedImage' (ROS 1)
  - 'sensor_msgs/msg/FluidPressure' (ROS 2) <=> 'sensor_msgs/FluidPressure' (ROS 1)
  - 'sensor_msgs/msg/Illuminance' (ROS 2) <=> 'sensor_msgs/Illuminance' (ROS 1)
  - 'sensor_msgs/msg/Image' (ROS 2) <=> 'sensor_msgs/Image' (ROS 1)
  - 'sensor_msgs/msg/Imu' (ROS 2) <=> 'sensor_msgs/Imu' (ROS 1)
  - 'sensor_msgs/msg/JointState' (ROS 2) <=> 'sensor_msgs/JointState' (ROS 1)
  - 'sensor_msgs/msg/Joy' (ROS 2) <=> 'sensor_msgs/Joy' (ROS 1)
  - 'sensor_msgs/msg/JoyFeedback' (ROS 2) <=> 'sensor_msgs/JoyFeedback' (ROS 1)
  - 'sensor_msgs/msg/JoyFeedbackArray' (ROS 2) <=> 'sensor_msgs/JoyFeedbackArray' (ROS 1)
  - 'sensor_msgs/msg/LaserEcho' (ROS 2) <=> 'sensor_msgs/LaserEcho' (ROS 1)
  - 'sensor_msgs/msg/LaserScan' (ROS 2) <=> 'sensor_msgs/LaserScan' (ROS 1)
  - 'sensor_msgs/msg/MagneticField' (ROS 2) <=> 'sensor_msgs/MagneticField' (ROS 1)
  - 'sensor_msgs/msg/MultiDOFJointState' (ROS 2) <=> 'sensor_msgs/MultiDOFJointState' (ROS 1)
  - 'sensor_msgs/msg/MultiEchoLaserScan' (ROS 2) <=> 'sensor_msgs/MultiEchoLaserScan' (ROS 1)
  - 'sensor_msgs/msg/NavSatFix' (ROS 2) <=> 'sensor_msgs/NavSatFix' (ROS 1)
  - 'sensor_msgs/msg/NavSatStatus' (ROS 2) <=> 'sensor_msgs/NavSatStatus' (ROS 1)
  - 'sensor_msgs/msg/PointCloud' (ROS 2) <=> 'sensor_msgs/PointCloud' (ROS 1)
  - 'sensor_msgs/msg/PointCloud2' (ROS 2) <=> 'sensor_msgs/PointCloud2' (ROS 1)
  - 'sensor_msgs/msg/PointField' (ROS 2) <=> 'sensor_msgs/PointField' (ROS 1)
  - 'sensor_msgs/msg/Range' (ROS 2) <=> 'sensor_msgs/Range' (ROS 1)
  - 'sensor_msgs/msg/RegionOfInterest' (ROS 2) <=> 'sensor_msgs/RegionOfInterest' (ROS 1)
  - 'sensor_msgs/msg/RelativeHumidity' (ROS 2) <=> 'sensor_msgs/RelativeHumidity' (ROS 1)
  - 'sensor_msgs/msg/Temperature' (ROS 2) <=> 'sensor_msgs/Temperature' (ROS 1)
  - 'sensor_msgs/msg/TimeReference' (ROS 2) <=> 'sensor_msgs/TimeReference' (ROS 1)
  - 'std_msgs/msg/Bool' (ROS 2) <=> 'std_msgs/Bool' (ROS 1)
  - 'std_msgs/msg/Byte' (ROS 2) <=> 'std_msgs/Byte' (ROS 1)
  - 'std_msgs/msg/ByteMultiArray' (ROS 2) <=> 'std_msgs/ByteMultiArray' (ROS 1)
  - 'std_msgs/msg/Char' (ROS 2) <=> 'std_msgs/Char' (ROS 1)
  - 'std_msgs/msg/ColorRGBA' (ROS 2) <=> 'std_msgs/ColorRGBA' (ROS 1)
  - 'std_msgs/msg/Empty' (ROS 2) <=> 'std_msgs/Empty' (ROS 1)
  - 'std_msgs/msg/Float32' (ROS 2) <=> 'std_msgs/Float32' (ROS 1)
  - 'std_msgs/msg/Float32MultiArray' (ROS 2) <=> 'std_msgs/Float32MultiArray' (ROS 1)
  - 'std_msgs/msg/Float64' (ROS 2) <=> 'std_msgs/Float64' (ROS 1)
  - 'std_msgs/msg/Float64MultiArray' (ROS 2) <=> 'std_msgs/Float64MultiArray' (ROS 1)
  - 'std_msgs/msg/Header' (ROS 2) <=> 'std_msgs/Header' (ROS 1)
  - 'std_msgs/msg/Int16' (ROS 2) <=> 'std_msgs/Int16' (ROS 1)
  - 'std_msgs/msg/Int16MultiArray' (ROS 2) <=> 'std_msgs/Int16MultiArray' (ROS 1)
  - 'std_msgs/msg/Int32' (ROS 2) <=> 'std_msgs/Int32' (ROS 1)
  - 'std_msgs/msg/Int32MultiArray' (ROS 2) <=> 'std_msgs/Int32MultiArray' (ROS 1)
  - 'std_msgs/msg/Int64' (ROS 2) <=> 'std_msgs/Int64' (ROS 1)
  - 'std_msgs/msg/Int64MultiArray' (ROS 2) <=> 'std_msgs/Int64MultiArray' (ROS 1)
  - 'std_msgs/msg/Int8' (ROS 2) <=> 'std_msgs/Int8' (ROS 1)
  - 'std_msgs/msg/Int8MultiArray' (ROS 2) <=> 'std_msgs/Int8MultiArray' (ROS 1)
  - 'std_msgs/msg/MultiArrayDimension' (ROS 2) <=> 'std_msgs/MultiArrayDimension' (ROS 1)
  - 'std_msgs/msg/MultiArrayLayout' (ROS 2) <=> 'std_msgs/MultiArrayLayout' (ROS 1)
  - 'std_msgs/msg/String' (ROS 2) <=> 'std_msgs/String' (ROS 1)
  - 'std_msgs/msg/UInt16' (ROS 2) <=> 'std_msgs/UInt16' (ROS 1)
  - 'std_msgs/msg/UInt16MultiArray' (ROS 2) <=> 'std_msgs/UInt16MultiArray' (ROS 1)
  - 'std_msgs/msg/UInt32' (ROS 2) <=> 'std_msgs/UInt32' (ROS 1)
  - 'std_msgs/msg/UInt32MultiArray' (ROS 2) <=> 'std_msgs/UInt32MultiArray' (ROS 1)
  - 'std_msgs/msg/UInt64' (ROS 2) <=> 'std_msgs/UInt64' (ROS 1)
  - 'std_msgs/msg/UInt64MultiArray' (ROS 2) <=> 'std_msgs/UInt64MultiArray' (ROS 1)
  - 'std_msgs/msg/UInt8' (ROS 2) <=> 'std_msgs/UInt8' (ROS 1)
  - 'std_msgs/msg/UInt8MultiArray' (ROS 2) <=> 'std_msgs/UInt8MultiArray' (ROS 1)
  - 'trajectory_msgs/msg/JointTrajectory' (ROS 2) <=> 'trajectory_msgs/JointTrajectory' (ROS 1)
  - 'trajectory_msgs/msg/JointTrajectoryPoint' (ROS 2) <=> 'trajectory_msgs/JointTrajectoryPoint' (ROS 1)
  - 'trajectory_msgs/msg/MultiDOFJointTrajectory' (ROS 2) <=> 'trajectory_msgs/MultiDOFJointTrajectory' (ROS 1)
  - 'trajectory_msgs/msg/MultiDOFJointTrajectoryPoint' (ROS 2) <=> 'trajectory_msgs/MultiDOFJointTrajectoryPoint' (ROS 1)
Supported ROS 2 <=> ROS 1 service type conversion pairs:
  - 'control_msgs/srv/QueryCalibrationState' (ROS 2) <=> 'control_msgs/QueryCalibrationState' (ROS 1)
  - 'example_interfaces/srv/AddTwoInts' (ROS 2) <=> 'roscpp_tutorials/TwoInts' (ROS 1)
  - 'example_interfaces/srv/AddTwoInts' (ROS 2) <=> 'rospy_tutorials/AddTwoInts' (ROS 1)
  - 'sensor_msgs/srv/SetCameraInfo' (ROS 2) <=> 'sensor_msgs/SetCameraInfo' (ROS 1)
  - 'std_srvs/srv/Empty' (ROS 2) <=> 'std_srvs/Empty' (ROS 1)
  - 'std_srvs/srv/SetBool' (ROS 2) <=> 'std_srvs/SetBool' (ROS 1)
  - 'std_srvs/srv/Trigger' (ROS 2) <=> 'std_srvs/Trigger' (ROS 1)
Supported ROS 2 <=> ROS 1 action type conversion pairs:
  - 'control_msgs/action/GripperCommand' (ROS 2) <=> 'control_msgs/GripperCommand' (ROS 1)
  - 'control_msgs/action/JointTrajectory' (ROS 2) <=> 'control_msgs/JointTrajectory' (ROS 1)
  - 'control_msgs/action/PointHead' (ROS 2) <=> 'control_msgs/PointHead' (ROS 1)
  - 'control_msgs/action/SingleJointPosition' (ROS 2) <=> 'control_msgs/SingleJointPosition' (ROS 1)

@gavanderhoorn
Copy link
Author

I'll close this, as the immediate issue has been resolved.

👍 @ipa-hsd. Thanks for the help.

@hsd-dev
Copy link
Owner

hsd-dev commented Mar 28, 2023

as the immediate issue has been resolved.

are there more issues you have noticed?

@gavanderhoorn
Copy link
Author

No, nothing right now.

But I also haven't used the new build yet.

I'll let you know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants