rosgenmsg(folderpath) from custom ros msgs add on causes Index exceeds the number of array elements (0).
1 view (last 30 days)
Show older comments
Daniel Levy
on 27 Mar 2020
Commented: Cam Salzberger
on 31 Mar 2020
Hello,
I'm trying to get Matlab to be able to use some custom ROS msgs from a ROS package that follows the required structure has worked in other environments. I've followed the instructions at https://www.mathworks.com/help/ros/ug/create-custom-messages-from-ros-package.html but will get a 'Index exceeds the number of array elements (0).' Error on the rosgenmsg(folderpath)
Any one run into this issue before or is this a bug.
2 Comments
Dhananjay Kumar
on 30 Mar 2020
Hey daniel, Can you write the complete error message you see or attach a snip?
Accepted Answer
Cam Salzberger
on 30 Mar 2020
Daniel,
This kind of error message generally comes up (in any MATLAB product) when you are trying to call a function but have shadowed the function name with a variable name. For example, if you do this:
rosgenmsg = 1;
myPath = 'C:\ros';
rosgenmsg(myPath)
MATLAB is trying to index into the variable "rosgenmsg" using the character values in "myPath" as index values. Since 'C' is valued at a larger index than the length of "rosgenmsg", you see this error.
Run this command to see if you have "rosgenmsg" shadowed by a variable name:
which -all rosgenmsg
-Cam
6 Comments
Cam Salzberger
on 31 Mar 2020
That's good to know, and hopefully anyone else running into the same issue can find it now. Thanks for posting the answer!
More Answers (0)
See Also
Categories
Find more on Publishers and Subscribers in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!