ROS-TCP-Connector icon indicating copy to clipboard operation
ROS-TCP-Connector copied to clipboard

Incorrect Message Generation containing Std.TimeMsg

Open nitomoki opened this issue 3 years ago • 1 comments

Describe the bug My project is developed in ROS1. When Message generation from Message Browser creates a message containing "Std_msgs/Time" message, it will create a C# script including "Std.TimeMsg". However the namespace "Std" does not have "TimeMsg". Instead of it, I found it in "HandwittenMessages", "RosMessageTypes.BuiltinInterfaces".

To Reproduce Build new message that has "Std_msgs/Time", such as

int32 number
std_msgs/Time[] time_array

Console logs / stack traces

Assets\RosMessages\HapticTeleopeAssist\msg\TrajectoryMsg.cs(17,20): error CS0234: The type or namespace name 'TimeMsg' does not exist in the namespace 'RosMessageTypes.Std' (are you missing an assembly reference?)

Expected behavior Correctly recognized "Std.TimeMsg", or ROS message generator crates a message containing "BuiltinInterfaces.TimeMsg".

Screenshots

Environment (please complete the following information, where applicable):

  • Unity Version: 2021.3.7f1
  • Unity machine OS + version: Windows10
  • ROS machine OS + version: Ubuntu 20, ROS noetic
  • Branch or version: Version 0.07

Additional context

nitomoki avatar Sep 20 '22 06:09 nitomoki

ROS1 has a built-in "time" type, so explicitly referencing the std_msgs/Time message is not standard - compare http://docs.ros.org/en/melodic/api/sensor_msgs/html/msg/TimeReference.html

However you're right, we ought to handle this correctly.

LaurieCheers-unity avatar Sep 20 '22 18:09 LaurieCheers-unity