Create a folder in a local directory.
folderPath = fullfile(pwd,'customMessage')
folderPath =
'/tmp/Bdoc21a_1606923_27222/tpc3c3e420/robotics-ex62907275/customMessage'
mkdir(folderPath)
Create a .proto file inside the folder and define protobuf custom message fields.
messageDefinition = {'message MyPose'
'{'
' required double x = 1;'
' required double y = 2;'
' required double z = 3;'
'}'};
fileID = fopen(fullfile(folderPath,'MyPose.proto'),'w');
fprintf(fileID,'%s\n',messageDefinition{:});
fclose(fileID);
Use the gazebogenmsg function to generate dependences in the created folder.
gazebogenmsg(folderPath)
Validating ...
Selected compiler details: "g++ 8.3.0"
[libprotobuf WARNING] No syntax specified for the proto file: MyPose.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
Building shared library ...
Building MEX for "MyPose.proto" file ...
Building with 'g++'.
MEX completed successfully.
Building with 'g++'.
MEX completed successfully.
Building custom message utilities ...
DONE.
To use the gazebo custom messages, execute following commands:
addpath('/tmp/Bdoc21a_1606923_27222/tpc3c3e420/robotics-ex62907275/customMessage/install')
savepath
Use the following commands to add and save the install path.
addpath(fullfile(folderPath,'install'))
savepath
Create a Gazebo plugin package 'MyPlugin' inside the custom message folder using the packageGazeboPlugin function.
packageGazeboPlugin(fullfile(folderPath,'MyPlugin'),folderPath)