Error in building custom ros messages
17 views (last 30 days)
Show older comments
Mustafa Sezer
on 7 Apr 2022
Commented: Cristian Chitiva
on 4 May 2022
Hello, i am trying to communicate with ros by using my custom messages. I'm currently using ROS1 Melodic. I saw that there is a function called rosgenmsgs and i tried to build my custom messages with
rosgenmsg("/home/msezer/catkin_ws/src/cust_msgs")
However, i got the following error,
Error using ros.internal.createOrGetLocalPython
Could not find Python version 3.9 on your system. Use pyenv function to set the path to the Python 3.9 executable.
Then i installed the Python 3.9 and gave the executable path by using
pyenv('Version','/usr/bin/python3.9')
After calling the function rosgenmsg, i get the following error.
Error using ros.internal.createOrGetLocalPython
chmod: cannot access '/home/msezer/.matlab/R2022a/ros1/glnxa64/venv/bin/activate': No such file or directory
Error in rosgenmsg (line 88)
ros.internal.createOrGetLocalPython(); %ensure python is available
I've already check the path and there is no activate folder or file. I use Ubuntu 18.04. What could be the reason for this problem?
Thank you
0 Comments
Accepted Answer
Alexandre Lamarre
on 7 Apr 2022
Edited: Alexandre Lamarre
on 7 Apr 2022
I had the same problem since I update Matlab to 2022a. It seem that you have to create a Python venv environment in your ‘/home/msezer/.matlab/R2022a/ros1/glnxa64/venv/’ folder.
To achieve that, navigate to your ‘/home/msezer/.matlab/R2022a/ros1/glnxa64/venv/’ folder and delete everything in it. Then in a terminal, create a python venv environment with the following command:
$ python3 -m venv [Directory of your venv folder]
It will create the environment and you should be able to generate yours custom ROS message. It worked for me.
Regard,
Alexandre
3 Comments
Pin-Hsuan Huang
on 11 Apr 2022
Hello Mustafa Sezer, thank you for your answer. I had the same problem and it is solved just as you suggested. Thank you very much!
More Answers (1)
Josh Chen
on 7 Apr 2022
Hello Mustafa,
Looking at the error message, it seems that the python virtual environment was not been created properly. Could you please try to create the python virtual environment again with the following command and see if that works?
>> ros.internal.createOrGetLocalPython(true);
Thanks,
Josh
See Also
Categories
Find more on Custom Message Support 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!