Robot System Toolbox doesn't support the message type: mavros_msg​s/Position​Target?

9 visualizzazioni (ultimi 30 giorni)
Steps for reproducing the problem:
  • Open the attached Simulink model file.
  • Double click the Publish block.
Is there a simple method that can let MATLAB support the ROS message type of mavros_msgs/PositionTarget? Otherwise, I will need to use another message type to send a topic and the write a node to convert the message to mavros_msgs/PositionTarget. Any ideas on this? Thanks, Bo
  1 Commento
Bo
Bo il 24 Ott 2017
I am changing to another computer. When I try to run my old Simulink model containing my custom message, I got this error:
Error evaluating 'InitFcn' callback of Constant block 'iopid_clamping/Blank Message/Constant'.
Callback string is 'robotics.slros.internal.block.MessageBlockMask.dispatch('constantBlkInitFcn', gcb);'
Caused by:
Cannot find a MATLAB message class for type mavros_msgs/PositionTarget.
I put them here to let search engine able to find this page by the error message.

Accedi per commentare.

Risposta accettata

Bo
Bo il 8 Set 2017
Modificato: Bo il 9 Nov 2017
I got the solution from MATLAB support.
Please see the following documentation page about the Custom Message Support Package: https://www.mathworks.com/help/robotics/ug/ros-custom-message-support.html?requestedDomain=www.mathworks.com
As mentioned in the page above, to download this support package please enter the following command: roboticsAddons
into the MATLAB Command Window and select to download the "Robotics System Toolbox Interface for ROS Custom Messages"
Afterwards, please use the following example to learn how to add a custom message type: https://www.mathworks.com/help/robotics/ug/create-custom-messages-from-ros-package.html
My attachment "mavros_msgs.zip" contains an example of the ROS package needed to create a msg type called "mavros_msgs/PositionTarget".
Extract the zip file to Desktop and run:
>> folderpath = '/Users/boshang/Desktop/mavros_msgs/'
>> rosgenmsg(folderpath)
Q&A:
If you see messages like this:
>> folderpath = '/Users/boshang/Desktop/mavros_msgs/mavros_msgs/'
>> rosgenmsg(folderpath)
Checking subfolder "msg" for custom messages. Warning: The folder name 'msg' does not match the package name 'mavros_msgs' specified in 'package.xml'. Rename the folder 'msg' to 'mavros_msgs'. > In robotics.ros.custommsg.internal.CustomMessageJAR/buildFolders (line 93) In rosgenmsg (line 42)
Checking subfolder "srv" for custom messages. Warning: The folder /Users/boshang/Desktop/mavros_msgs/mavros_msgs/srv does not contain a valid ROS package, because the 'package.xml' file is missing. Create the 'package.xml' file in this folder. > In robotics.ros.custommsg.internal.CustomMessageJAR/buildFolders (line 93) In rosgenmsg (line 42) No message packages were found in folder /Users/boshang/Desktop/mavros_msgs/mavros_msgs. Check to make sure the path to your folder is correct.
You'll need to run command: "cd .." to go back and run "rosgenmsg(folderpath)" again.
  5 Commenti
Jakob Klein
Jakob Klein il 23 Gen 2019
I had the same issue and discovered a typing error in the javaclasspath.txt file...

Accedi per commentare.

Più risposte (3)

Gleb Derzkij
Gleb Derzkij il 5 Mar 2018
How to fix problem on Windows?

Gleb Derzkij
Gleb Derzkij il 5 Mar 2018
Modificato: Gleb Derzkij il 5 Mar 2018
2-d question is
How do you stabilize drone? when arm &takeoff 2
My drone flies chaotically
  1 Commento
Bo
Bo il 21 Giu 2018
Sorry for the late response. I had the same issue before. Check if the time on your window is slower than real time. If so, you need a faster computer.

Accedi per commentare.


Jason Wang
Jason Wang il 29 Giu 2018
For convenience. Just type rosgenmsg('mavros_msgs') and use this zip

Categorie

Scopri di più su Custom Message Support in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by