ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
![]() | 1 | initial version |
That's correct. MATLAB is single-threaded to the user because it has a lot of internal functions that use multithreading.
So you have 2 options:
Open up multiple MATLAB instances and run separate scripts/functions. Obviously really heavy on the processing, so opening MATLAB without the desktop can help: https://blogs.mathworks.com/community/2010/02/22/launching-matlab-without-the-desktop/
Generating standalone C++ ROS nodes which requires your code to be placed in a Simulink model (and you also need the Simulink Coder and/or Embedded Coder toolbox). Then you can run these generated nodes from multiple terminals like any other ROS node. See this video for more info: https://www.mathworks.com/videos/matlab-and-simulink-robotics-arena-deploying-algorithms-to-ros-1510659362460.html
Sebastian
![]() | 2 | No.2 Revision |
That's correct. MATLAB is single-threaded to the user because it has a lot of internal functions that use multithreading.
So you have 2 options:
Open up multiple MATLAB instances and run separate scripts/functions. Obviously really heavy on the processing, so opening MATLAB without the desktop can help: https://blogs.mathworks.com/community/2010/02/22/launching-matlab-without-the-desktop/https://www.mathworks.com/help/matlab/ref/matlablinux.html
matlab -nodesktop -nodisplay -r myNode
Generating standalone C++ ROS nodes which requires your code to be placed in a Simulink model (and you also need the Simulink Coder and/or Embedded Coder toolbox). Then you can run these generated nodes from multiple terminals like any other ROS node. See this video for more info: https://www.mathworks.com/videos/matlab-and-simulink-robotics-arena-deploying-algorithms-to-ros-1510659362460.html
Sebastian
![]() | 3 | No.3 Revision |
That's correct. MATLAB is single-threaded to the user because it has a lot of internal functions that use multithreading.
So you have 2 options:
matlab -nodesktop -nodisplay -r myNode
Sebastian
![]() | 4 | No.4 Revision |
That's correct. MATLAB is single-threaded to the user because it has a lot of internal functions that use multithreading.
So you have 2 options:
matlab -nodesktop -nodisplay -r myNode
Sebastian
![]() | 5 | No.5 Revision |
That's correct. MATLAB is single-threaded to the user because it has a lot of internal functions that use multithreading.
So you have 2 options:
matlab -nodesktop -nodisplay -r myNode
Sebastian