- Create a new model by copying non-ROS blocks and add the ROS 2 blocks
- 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:
Questions about Blank messages of ROS2 Toolbox
5 views (last 30 days)
Xiaochen Gao on 19 Feb 2022
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？
Abhijeet Gadkari on 22 Feb 2022
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:
modelWs = get_param(<modelName>, 'ModelWorkspace');
evalin(modelWs, 'clear SL_ROS_VariableLengthArrays_MaxSizes');