主要内容

このペジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

rosmessage

Rosメッセジの作成

説明

味精= rosmessage (messagetypeは,メッセ。messagetype字符串スカラでは,大文字と小文字が区別され,部分一致は受け入れられません。rosmsg(“列表”)を呼び出すことで与えられたリスト上のメッセジと一致していなければなりません。

メモ

将来のリリスでは,ROS工具箱はrosメッセジ用のオブジェクトではなくメッセジ構造体を使用します。

現時点でメッセジ構造体を使用する場合,名前と値の引数“DataFormat”“结构”に設定します。詳細にいては,Rosメッセジ構造体を参照してください。

味精= rosmessage (酒吧は,酒吧によってパブリッシュされたトピックで決定される空白のメッセジを作成します。

味精= rosmessage (は,のサブスクラ邮箱ブされるトピックで決定される空白のメッセ邮箱ジを作成します。

味精= rosmessage (客户端は,客户端に関連付けられたサビスで決定される空白のメッセジを作成します。

味精= rosmessage (服务器は,服务器のサビスタジを作成します。

味精= rosmessage (___“DataFormat”,“结构”)は,前述の構文にある任意の引数を指定して,空のメッセ,ジをメッセ,ジ構造体として作成します。詳細にいては,Rosメッセジ構造体を参照してください。

すべて折りたたむ

Rosメッセジをstd_msgs /字符串メッセジタ。

strMsg = rosmessage(“std_msgs /字符串”“DataFormat”“结构”
strMsg =带有字段的结构:'std_msgs/String'

Rosマスタを起動します。

rosinit
启动ROS Core…0.78329秒。在http://192.168.0.10:50411上初始化ROS master。使用NodeURI http://bat800603glnxa64:35291/初始化全局节点/matlab_global_node_23345

std_msgs /字符串メッセジタ/喋喋不休トピックのパブリッシャを作成します。名前と値の引数“DataFormat”をrosメッセジ構造体に設定します。

聊天吧=出版商(“/喋喋不休”“std_msgs /字符串”“DataFormat”“结构”);

送信するメッセジを作成します。文字ベクトルを使用して数据プロパティを指定します。

rosmessage(聊天吧);味精。数据=“测试短语”

パブリッシャ経由でメッセジを送信します。

发送(chatpub,味精);

Rosネットワクをシャットダウンします。

rosshutdown
使用NodeURI关闭全局节点/matlab_global_node_23345 http://bat800603glnxa64:35291/在http://192.168.0.10:50411上关闭ROS master。

複数のメッセジを保存する構造体配列を作成できます。配列は他の配列と同様に邮箱ンデックス可能です。各オブジェクトのプロパティを変更するか,ドット表記を使って各要素から特定のプロパティにアクセスすることができます。

2のメッセジの配列を作成します。名前と値の引数DataFormatを指定して,rosメッセジ構造体を使用します。

blankMsg = rosmessage(“std_msgs /字符串”“DataFormat”“结构”
blankMsg =带有字段的结构:'std_msgs/String'
msgArray = [blankMsg blankMsg]
msgArray =1×2带字段的struct数组:MessageType数据

デタを配列の個々のメッセジフィルドに代入します。

msgArray(1)。Data =“一些字符串”;msgArray(2)。Data =“其他字符串”

メッセジのすべての数据フィルドをcell配列に読み取ります。

allData = {msgArray。数据}
allData =1 x2单元格{'某些字符串'}{'其他字符串'}

Rosメッセジをオブジェクトとして使用して配列に事前割り当てを行うには,関数repmatの代わりに関数arrayfunまたはcellfunを使用します。これらの関数は,ハンドルクラスのオブジェクトまたは单元配列を正しく作成します。

メモ:将来のリリスでは,rosメッセジオブジェクトは削除されます。Rosメッセジを構造体として使用し、構造体配列を利用するには、関数rosmessageを呼び出すときに名前と値のペアDataFormatを指定します。

Rosメッセジのオブジェクト配列に事前割り当てを行います。

msgArray = arrayfun(@(~) rosmessage(“std_msgs /字符串”), 0 (50));

ROSメッセジのcell配列に事前割り当てを行います。

msgCell = cellfun(@(~) rosmessage(“std_msgs /字符串”),细胞(50),“UniformOutput”、假);

入力引数

すべて折りたたむ

メッセジタ。字符串スカラまたは文字ベクトルとして指定します。字符串は大文字と小文字が区別され,部分一致は受け入れられません。rosmsg(“列表”)を呼び出すことで与えられたリスト上のメッセジと一致していなければなりません。

Rosパブリッシャ。出版商オブジェクトハンドルとして指定します。rospublisherを使用してオブジェクトを作成できます。

Rosサブスクラバ。订阅者オブジェクトハンドルとして指定します。rossubscriberを使用してオブジェクトを作成できます。

Rosサビスクラアント。ServiceClientオブジェクトハンドルとして指定します。rossvcclientを使用してオブジェクトを作成できます。

Rosサビスサバ。ServiceServerオブジェクトハンドルとして指定します。rossvcserverを使用してオブジェクトを作成できます。

出力引数

すべて折りたたむ

Rosメッセジ。消息オブジェクトハンドルまたは構造体として返されます。

互換性にいての考慮事項

すべて展開する

将来のリリスで動作変更

拡張機能

R2019bで導入