rapyuta-robotics / rclUE

Apache License 2.0
113 stars 29 forks source link

Custom Ros Msg generated not showing when ros2 topic list #99

Closed yhg8423 closed 10 months ago

yhg8423 commented 10 months ago

Hi, thank you for maintaining this repository for using ros2 in UE5.

Our team has used UE5.1 and ros2 foxy for our project.

In the project, we should use a custom ros msg, so we used UE_tools to generate the custom msg.

It worked well, so we used the custom msg in the UE project, and we published the topic based on the custom msg using publisher blueprint.

However, it did not show the topic published by the blueprint when we used a ros2 command ros2 topic list in a terminal.

Otherwise, when we published the topic with ros2 basic msg (e.g. twist), it showed the topic on a terminal using a ros2 command ros2 topic list .

Furthermore, it also showed the publisher node when we used a ros2 command ros2 node list in a terminal.

How can I solve this issue?

yuokamoto commented 10 months ago

Thanks for you question. I'm not 100% sure but

yhg8423 commented 10 months ago

Thank you for your answer.

We found that it does not work when using Add Publisher in Blueprint with Output Log LogTemp: Error: [ROS2Publisher.cpp@76, virtual void UROS2Publisher::IntializeTopicComponent()] Failed Status on line 76 (function InitializeTopicComponent): 1. Continuning. and LogTemp: Error: [ROS2Publisher.cpp@138, void UROS2Publisher::Publish()] Failed status on line 138 (function Publish): 300. Continuing.

Is there any way to address the errors?

yuokamoto commented 10 months ago

line 76 is here https://github.com/rapyuta-robotics/rclUE/blob/5d2767d0a1ea408e75b89ff6748fa401d2dd8dd2/Source/rclUE/Private/ROS2Publisher.cpp#L76

the error comes from rcl function, generally speaking, it is more difficult to debug.

Could you share the screenshot of blueprint if possible?

yuokamoto commented 10 months ago

FYI: I recently created PR to update ue_msgs. https://github.com/rapyuta-robotics/rclUE/pull/100/files

simillar file changes should happen with your custom msg generation.

yhg8423 commented 10 months ago

Thank you for your answers!

We solved this problem with execute source colcon_ws/install/setup.bash in terminal before launching the UE5 execution file, and we executed the UE5 using the terminal which already execute the command source colcon_ws/install/setup.bash.

If anyone wants to use custom msgs in UE, I recommend to sourcing install/setup.bash in ros workspace in the terminal and executing UE5 using the terminal which already install/setup.bash in the ros workspace!