-
Notifications
You must be signed in to change notification settings - Fork 74
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
Latest apt release for ROS Noetic on Ubuntu 20.04 has int64 id instead of string id #56
Comments
I'm not entirely sure - @Kukanani? I see 1.0.0 released last off noetic but I don't see |
@r0gi sorry for the confusion. There has not been a release since 0.0.1 in ROS1. The commit tree is fairly messy; I think that most changes that are on I would bloom up another release for I propose the following:
|
Still the right answer -- was that released before we moved this into I suggest to delete |
Yes, I believe so.
Yes, I'll remove. At the time, I was expecting at least one more ROS1 release. It doesn't serve much purpose now. I guess that |
|
It has been reverted |
Thank you, could you also trigger an update for the API reference so that it is consistent with the noetic release? |
I don't think I have the ability to update the API reference. Looking at the dates, it seems that the last autogeneration was a few days after the last commits were pushed to |
In vision_msgs.ObjectHypothesis(id=[1, 2, None, {"foo": 1}, "bar"]) ... and it works (but it shouldn't). BUT: Once you try to publish that message, you'll get an error. You can test whether a field is the correct type with this little function I wrote: def serialize_deserialize(message):
"""
Serialize and then deserialize a message. This simulates sending a message
between ROS nodes and makes sure that the ROS messages being tested are
actually serializable, and are in the same format as they would be received
over the network. In rospy, it is possible to assign an illegal data type
to a message field (for example, `message = String(data=42)`), but trying
to publish this message will throw `SerializationError: field data must be
of type str`. This method will expose such bugs.
"""
from io import BytesIO
buff = BytesIO()
message.serialize(buff)
result = message.__class__() # create new instance of same class as message
result.deserialize(buff.getvalue())
return result So in short: The |
Hi @mintar Thanks for the reply. I soon realized that and removed my post. To people who read this later, I asked a question where I can create I am moving forward with using the integer id. |
OS: Ubuntu 20.04 (focal)
Installed a fresh ROS Noetic following the official instructions but installing vision_msgs via apt doesn't install the latest version
apt show ros-noetic-vision-msgs
rosmsg show vision_msgs/ObjectHypothesisWithPose
Which is different to the latest Noetic API reference, which shows the correct string id.
The text was updated successfully, but these errors were encountered: