Custom ROS msg type does not get added to rosmsg list even after MATLAB restart

16 views (last 30 days)
I'm following this guide to create a custom ROS message type (https://www.mathworks.com/help/robotics/ug/ros-custom-message-support.html).
This is the structure of my msg
path_planning_msgs FOLDER
--- path_planning_msgs FOLDER
--- package.xml (copied from guide, replace w <name>path_planning_msgs</name>
--- Path.msg
Contents of package.xml
<package>
<name>path_planning_msgs</name>
<version>1.1.01</version>
<build_depend>message_generation</build_depend>
<build_depend>geometry_msgs</build_depend>
<build_depend>std_msgs</build_depend>
</package>
Contents of Path.msg
Header header
path_planning_msgs/VehicleState[] states
Then I executed these commands and everything seemed to work (I'm on Ubuntu 16.04 LTS)
Screenshot from 2019-03-18 19-58-40.png
Then I edited javaclasspath.txt to add the line
Screenshot from 2019-03-18 19-59-11.png
Then I ran the addpath and savepath
Screenshot from 2019-03-18 19-59-36.png
Then I closed MATLAB to restart it.
Then I checked rosmsg list but the path_planning_msgs/Path type is nowhere to be found.
Screenshot from 2019-03-18 20-06-42.png
Thank you in advance.

Accepted Answer

Sebastian Castro
Sebastian Castro on 19 Mar 2019
Edited: Sebastian Castro on 19 Mar 2019
Hi An,
Pretty sure the ROS package requires your .msg file to be inside a subfolder called msg.
So your folder structure should be as follows:
path_planning_msgs FOLDER
--- package.xml
--- msg FOLDER
--- Path.msg
Try that and let us know if it works!
- Sebastian
  6 Comments
Sebastian Castro
Sebastian Castro on 19 Mar 2019
An,
That latest error is exactly because you don't have a VehicleState.msg file defined! If you look at the error text it will show you it's pointing at an undefined symbol "VehicleState".
By the way, in future it would be much more useful instead of screenshots to copy-paste the error message text. This makes the question searchable if others have similar errors!
- Sebastian
An Nguyen
An Nguyen on 19 Mar 2019
I am sorry for not getting back to you sooner. My team and I were trying to get it to work this morning and have finally succeeded after many trials. We finally got our ROS node!
We were not aware that the Path.msg and VehicleState.msg are supposed to be kept together under folder msg to be generated in one run. Initially we placed VehicleState.msg under its own directory thinking that we would need to define it first before moving on to Path.msg.
In case people search for this issue later, our final structure is
path_planning_msgs FOLDER
--- package.xml (add a build_depend line for VehicleState)
--- msg FOLDER
--- Path.msg
--- VehicleState.msg
We had been on the issue for days and would not have been able to solve it this fast without your feedback! Thank you very much for your help.

Sign in to comment.

More Answers (0)

Categories

Find more on Custom Message Support in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!