簡體   English   中英

如何創建包含 sensor_msgs/Image 圖像的 ROS2 自定義消息?

[英]How to create a ROS2 custom message that contains sensor_msgs/Image image?

我創建了包含 sensor_msgs/Image 的 ROS2 自定義消息。

int64 id
int64 num
sensor_msgs/Image image

在 python 代碼中,當我調用此消息from tutorial_interfaces.msg import Cropimage時,我總是收到此錯誤:

提高 UnsupportedTypeSupport(pkg_name)rosidl_generator_py.import_type_support_impl.UnsupportedTypeSupport:無法為 package“tutorial_interfaces”導入“rosidl_typesupport_c”

如果我不在消息中添加sensor_msgs/Image image ,我就不會收到此錯誤。 我的問題在哪里,你能幫幫我嗎?

您可以按照以下步驟創建自定義消息,

mkdir ~/ros2_ws/src
# Create a custom_msg package
cd ~/ros2_ws/src && ros2 pkg create --build-type ament_cmake custom_msg --dependencies rclcpp std_msgs rosidl_default_generators
mkdir -p ~/ros2_ws/src/custom_msg/msg/
# Create a LogTf.msg
touch ~/ros2_ws/src/custom_msg/msg/Cropimage.msg

Cropimage.msg 內容,

int64 id
int64 num
sensor_msgs/Image image

將以下行添加到 CMakeLists.txt,

# Add after BUILD_TESTING endif()
rosidl_generate_interfaces(${PROJECT_NAME}
  "msg/Cropimage.msg"
)

將以下行添加到 package.xml,

# Add after <depend>std_msgs</depend> line
<depend>rosidl_default_generators</depend>
<exec_depend>rosidl_default_runtime</exec_depend>
<member_of_group>rosidl_interface_packages</member_of_group>

現在編譯運行,

# Compile and Run,
cd ~/ros2_ws
colcon build --packages-select custom_msg #Compilation
source install/setup.zsh

現在您可以將其導入您的 python 代碼中,

from custom_msg.msg import Cropimage"

你可以參考這個帖子,
https://medium.com/@nullbyte.in/ros2-from-the-ground-up-part-3-a-hands-on-guide-to-creating-custom-messages-and-turtlebot3-service-96a68df2e670

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM