How do I use add_block for adding ROS library content like Blank Messages, Publish and Subscribe block programatically using Simulink? (Using MATLAB R2019a)

1 visualización (últimos 30 días)
This is how my code looks :
clc;clear all;close all;
open_system(new_system('Test'));
system_name = 'Test';
load_system('Robotics System Toolbox')
add_block('Robotics System Toolbox/ROS/Blank Message','Test/msg_1')
I get the following error when I run the above code :
Error using load_system (line 21)
'Robotics System Toolbox' is not a valid model name because it is not a valid MATLAB function name.
Error in test (line 6)
load_system('Robotics System Toolbox') - Show complete stack trace
If I do not include the load_system function :
clc;clear all;close all;
open_system(new_system('Test'));
system_name = 'Test';
%load_system('Robotics System Toolbox')
add_block('Robotics System Toolbox/ROS/Blank Message','Test/msg_1')
, I get a similar error :
Error using test (line 7)
Error due to multiple causes.
Caused by:
Error using test (line 7)
'Robotics System Toolbox' is not a valid model name because it is not a valid MATLAB function name.
Error using test (line 7)
There is no block named 'Robotics System Toolbox/ROS/Blank Message'
Any suggestions on how to fix this?
  1 comentario
AKSHAY SARVESH
AKSHAY SARVESH el 26 de Jul. de 2020
After adding escape characters to the code,
clc;clear all;close all;
open_system(new_system('Test'));
system_name = 'Test';
%load_system('Robotics System Toolbox')
add_block('Robotics\ System\ Toolbox/ROS/Blank\ Message','Test/msg_1')
the error still persists
Error using test (line 7)
Error due to multiple causes.
Caused by:
Error using test (line 7)
'Robotics\ System\ Toolbox' is not a valid model name because it is not a valid MATLAB function name.
Error using test (line 7)
There is no block named 'Robotics\ System\ Toolbox/ROS/Blank\ Message'

Iniciar sesión para comentar.

Respuesta aceptada

Cam Salzberger
Cam Salzberger el 27 de Jul. de 2020
Hey Akshay,
I haven't tested this, but I believe that you should use (or at least can use) the library name that contains the block rather than the toolbox name. Try:
add_block('robotlib/Subscribe')
-Cam
  3 comentarios
Cam Salzberger
Cam Salzberger el 28 de Jul. de 2020
If you hover over the block in the Library Browser, it should show the "path" to the block (lib/sublib/block).
-Cam

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Network Connection and Exploration en Help Center y File Exchange.

Productos


Versión

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by