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

9 ビュー (過去 30 日間)
Bo
Bo 2017 年 9 月 7 日
コメント済み: Jakob Klein 2019 年 1 月 23 日
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 件のコメント
Bo
Bo 2017 年 10 月 24 日
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.

サインインしてコメントする。

採用された回答

Bo
Bo 2017 年 9 月 8 日
編集済み: Bo 2017 年 11 月 9 日
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 件のコメント
Bo
Bo 2018 年 6 月 21 日
Have you restarted MATLAB? @lily liu
Jakob Klein
Jakob Klein 2019 年 1 月 23 日
I had the same issue and discovered a typing error in the javaclasspath.txt file...

サインインしてコメントする。

その他の回答 (3 件)

Gleb Derzkij
Gleb Derzkij 2018 年 3 月 5 日
How to fix problem on Windows?

Gleb Derzkij
Gleb Derzkij 2018 年 3 月 5 日
編集済み: Gleb Derzkij 2018 年 3 月 5 日
2-d question is
How do you stabilize drone? when arm &takeoff 2
My drone flies chaotically
  1 件のコメント
Bo
Bo 2018 年 6 月 21 日
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.

サインインしてコメントする。


Jason Wang
Jason Wang 2018 年 6 月 29 日
For convenience. Just type rosgenmsg('mavros_msgs') and use this zip

カテゴリ

Help Center および File ExchangeCustom Message Support についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by