Using ROS 1 message generated by rosgemmsg: calling rosmsg or rosmessage before addpath breaks later calls?
    5 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Anton Deguet
 le 26 Août 2020
  
    
    
    
    
    Commenté : Anton Deguet
 le 23 Nov 2020
            I was able to create a custom message using rosgenmsg (Matlab 2020a).  While testing I discovered something a bit odd from my perspective.   If I try to create a message using rosgenmsg before modifying the path with addpath, the creation fails.  This is what I would expect.  Then I add the path for this custom message and still can't create it.  See below:
>> rosmsg('show', 'crtk_msgs/operating_state')
Could not find definition of message type crtk_msgs/operating_state. Check the spelling of the type, or use
"rosmsg list" to retrieve a list of available message types.
>> addpath('/home/anton/catkin_ws/src/crtk/matlab_gen/msggen')
>> rosmsg('show', 'crtk_msgs/operating_state')
Could not find definition of message type crtk_msgs/operating_state. Check the spelling of the type, or use
"rosmsg list" to retrieve a list of available message types.
If I then quit Matlab and add the path before trying to create the message, everything is fine.
>> addpath('/home/anton/catkin_ws/src/crtk/matlab_gen/msggen')
>> rosmsg('show', 'crtk_msgs/operating_state')
std_msgs/Header  Header
char  State
logical    IsHomed
logical    IsBusy
So it seems there a cache maintained somewhere with a list of existing message types.  Is that true and if so, how can I force a re-hash after I add paths to custom messages?
0 commentaires
Réponse acceptée
  Sahithi Kanumarlapudi
    
 le 20 Nov 2020
        Hi,
You might have to run the below two commands after adding the path, to refresh all message class definitions which in turn requires clearing the workspace.
clear classes
rehash toolboxcache
By doing this you would not need to restart matlab.
For more information refer to the following document
Hope this helps!
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur Custom Message Support dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

