Questions about Blank messages of ROS2 Toolbox

1 view (last 30 days)
Hello!
I have a problem with the ROS2 Toolbox.
I want to change the blocks from ROS1 to ROS2, but when I try to set the message type to geometry_msgs/poseArray, it will automatically change to another types, which means I can't select this type of message.
Do you know why and how can I solve it?
Thanks!

Accepted Answer

Abhijeet Gadkari
Abhijeet Gadkari on 22 Feb 2022
Hello Xiaochen,
Information about variable sizes of a ROS message is stored in the model workspace, when you save a Simulink model with a ROS block that has a message type that has fields with variable sizes. You can change the maximum length of variable-size messages using the VariableSize Messages app in SIMULATION > PREPARE tab under ROS TOOLBOX section.
Adding a ROS 2 block to a Simulink model previously saved with ROS blocks, corrupts this information and causes problems when selecting ROS 2 block message type parameter.
Possible solutions are as follows:
  1. Create a new model by copying non-ROS blocks and add the ROS 2 blocks
  2. To avoid creating a new model, delete the ROS variable size data from the model and save the model. Use the following MATLAB commands and save the model:
modelWs = get_param(<modelName>, 'ModelWorkspace');
evalin(modelWs, 'clear SL_ROS_VariableLengthArrays_MaxSizes');
save_system(<modelName>);
- Abhijeet

More Answers (0)

Categories

Find more on Specialized Messages in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!