Fail to create custom message rosgenmsg in Matlab 2020b

4 views (last 30 days)
Hi,
I have a problem, hope that someone can take a look and give me some insight/ advice about it.
So I have Matlab 2020b in Window OS (host computer), and ROS Gazebo in VM Ubuntu.
I already copied the ROS packages from VM to the host computer as picture bellow, and set the folderpath as
folderpath='C:\Program Files\MATLAB\R2020b\custom_msgs\packages';
However, after I run rosgenmsg(folderpath), it shows the error:
Based on the error I guess, I checked inside the msg folder here, I realize that the .msg files are already exists:
Thus, it really makes me confused with this issue.
Thanks for your help!
  2 Comments
Adam Danz
Adam Danz on 9 Feb 2021
Edited: Adam Danz on 9 Feb 2021
My guess: it's a path problem that can be solved with addpath(__), using the path the msg files. If that fixes it, the question becomes, why isn't this path added in the first place?
Van Chuong Nguyen
Van Chuong Nguyen on 9 Feb 2021
Edited: Van Chuong Nguyen on 9 Feb 2021
Thanks Adam, I am not sure what do you mean.
Could you please write it in detail with addpath?
As I see from here, we only use addpath after it create custom message successfuly?

Sign in to comment.

Answers (1)

Cam Salzberger
Cam Salzberger on 9 Feb 2021
Hello Van,
You are providing the "package directory" to rosgenmsg, when it is looking for the "interfaces directory". This is because many users have multiple packages of custom messages. In this case, you would be looking to provide the path to "custom_msgs", not "package".
See here for more details on folder structure.
Also, your result message names will be along the lines of "package/Cartesian". Are you sure that is the correct package name you want to use? MATLAB takes its cues from the folder name, so ensure that it is named appropriately.
-Cam
  2 Comments
Van Chuong Nguyen
Van Chuong Nguyen on 9 Feb 2021
Edited: Van Chuong Nguyen on 9 Feb 2021
Thanks Cam,
You're right, I should provide the path to custom_msgs. After I provided that, the error does not appear, but it shows another error
Although, I already chose a complier by running 'mex -setup cpp' as showned below.
Could you please give me some more insights about it?
Thanks for your help
Cam Salzberger
Cam Salzberger on 10 Feb 2021
There are specific requirements to be installed on your system, depending on the MATLAB version and your platform. For Windows with R2020b it requires Python 2.7 (exactly version 2.7), CMake 3.15.5+, and Visual Studio 2017 (exactly version 2017, not later).
-Cam

Sign in to comment.

Categories

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

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!