Error in building custom ros messages

46 views (last 30 days)
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

Accepted Answer

Alexandre Lamarre
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

Sign in to comment.

More Answers (1)

Josh Chen
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
  1 Comment
Mustafa Sezer
Mustafa Sezer on 11 Apr 2022
I tried it but i still got an error. I could solve my issue with the solution above. Thank you for your time

Sign in to comment.

Categories

Find more on MATLAB Support Package for Raspberry Pi Hardware in Help Center and File Exchange

Tags

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!