plot
説明
plot(
は、入力 scanMsg
)LaserScan
オブジェクト メッセージで指定したレーザー スキャンの読み取り値をプロットします。座標軸は、レーザー スキャナーでサポートされる最大範囲に適合するよう自動的にスケーリングされます。
メモ
plot は削除されます。代わりに rosPlot
を使用してください。詳細については、ROS メッセージ構造体の関数を参照してください。
plot(___,Name,Value)
は、1 つ以上の Name,Value
引数のペアによって指定された追加オプションを提供します。
は、これまでの構文のいずれかの引数を使用して、line series ハンドルの列ベクトルを返します。line series を作成した後でそれらのプロパティを変更する場合は linehandle
= plot(___)linehandle
を使用します。
ROS レーザー スキャン メッセージをプロットする場合、MATLAB® は軸の向きに対する ROS の標準の規則に従います。この規則は、正の x は前方向、正の y は左方向、正の z は上方向を示しています。詳細については、ROS Wiki の Axis Orientation を参照してください。
例
レーザー スキャン メッセージのプロット
ROS ネットワークに接続します。レーザー スキャンのトピックをサブスクライブし、メッセージを受信します。
rosinit('192.168.17.129')
Initializing global node /matlab_global_node_90279 with NodeURI http://192.168.17.1:50889/
sub = rossubscriber('/scan');
scan = receive(sub);
レーザー スキャンをプロットします。
plot(scan)
ROS ネットワークをシャットダウンします。
rosshutdown
Shutting down global node /matlab_global_node_90279 with NodeURI http://192.168.17.1:50889/
最大範囲を指定したレーザー スキャン メッセージのプロット
ROS ネットワークに接続します。レーザー スキャンのトピックをサブスクライブし、メッセージを受信します。
rosinit('192.168.17.129')
Initializing global node /matlab_global_node_31712 with NodeURI http://192.168.17.1:51463/
sub = rossubscriber('/scan');
scan = receive(sub);
最大範囲を指定してレーザー スキャンをプロットします。
plot(scan,'MaximumRange',6)
ROS ネットワークをシャットダウンします。
rosshutdown
Shutting down global node /matlab_global_node_31712 with NodeURI http://192.168.17.1:51463/
LiDAR スキャンのプロットと無効な点の削除
LIDAR データを距離と角度のベクトルとして指定します。これらの値には、センサーの範囲外の読み取り値が含まれます。
x = linspace(-2,2); ranges = abs((1.5).*x.^2 + 5); ranges(45:55) = 3.5; angles = linspace(-pi/2,pi/2,numel(ranges));
距離と角度を指定することにより、LIDAR スキャンを作成します。LIDAR スキャンのすべての点をプロットします。
scan = lidarScan(ranges,angles); plot(scan)
指定した最小/最大距離に基づいて、無効な点を削除します。
minRange = 0.1; maxRange = 7; scan2 = removeInvalidData(scan,'RangeLimits',[minRange maxRange]); hold on plot(scan2) legend('All Points','Valid Points')
入力引数
scanMsg
— レーザー スキャン メッセージ
LaserScan
オブジェクト ハンドル
sensor_msgs/LaserScan
ROS メッセージ。LaserScan
オブジェクト ハンドルとして指定します。
scanObj
— LIDAR スキャンの読み取り値
lidarScan
オブジェクト
LiDAR スキャンの読み取り値。lidarScan
(Navigation Toolbox) オブジェクトとして指定します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後に表示されなければなりませんが、ペアの順序は重要ではありません。
R2021a より前は、名前と値をそれぞれコンマを使って区切り、Name
を引用符で囲みます。
例: "MaximumRange",5
Parent
— 座標軸の親
axes オブジェクト
座標軸の親。レーザー スキャンの描画に使用する、"Parent"
と axes オブジェクトからなるコンマ区切りのペアとして指定します。既定では、レーザー スキャンは現在アクティブな座標軸にプロットされます。
MaximumRange
— レーザー スキャンの範囲
scan.RangeMax
(既定値) | スカラー
レーザー スキャンの範囲。"MaximumRange"
とスカラーからなるコンマ区切りのペアとして指定します。この名前と値のペアの引数を指定すると、x 軸の下限と上限、y 軸の上限が、指定した値に基づいて設定されます。y 軸の下限は、レーザー スキャナーの開口角によって自動的に決定されます。
この名前と値のペアは、scanMsg
をレーザー スキャンとして入力した場合のみ機能します。
出力
linehandle
— 1 つ以上の chart line オブジェクト
スカラー | ベクトル
1 つ以上の chart line オブジェクト。スカラーまたはベクトルとして返されます。この値は一意の識別子で、特定の chart line のプロパティのクエリと変更に使用できます。
バージョン履歴
R2019b で導入R2021a: ROS メッセージ構造体の関数
これで、メッセージ オブジェクトのプロパティと一致するフィールドをもつ構造体としてメッセージを作成できます。通常、構造体を利用すると ROS メッセージの作成、更新、使用のパフォーマンスが向上しますが、設定時にメッセージのフィールドが検証されなくなります。メッセージ タイプと、構造体から取得した対応するフィールド値は、ネットワーク経由で送信されたときに検証されます。
メッセージ構造体を入力としてサポートするため、特殊な ROS メッセージに対して動作する新しい関数が導入されました。これらの新しい関数はメッセージ オブジェクトの既存のオブジェクト関数に基づいていますが、メッセージ オブジェクトの代わりに ROS および ROS 2 のメッセージ構造体を入力としてサポートします。
オブジェクト関数は将来のリリースで削除されます。
メッセージ タイプ | オブジェクト関数名 | 新規関数名 |
---|---|---|
|
| |
LaserScan |
| |
PointCloud2 |
| |
Quaternion | readQuaternion | |
OccupancyGrid |
| |
Octomap | readOccupancyMap3D | |
| apply | |
すべてのメッセージ | showdetails |
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)