Main Content

rostopic

ROS トピックに関する情報の取得

説明

rostopic list は、ROS マスターからの ROS トピックのリストを返します。

rostopic echo topicname は、ROS マスターから送信されている特定のトピック topicname に関するメッセージを返します。メッセージを返す処理を停止するには、Ctrl + C を押します。

rostopic info topicname は、特定のトピック topicname のメッセージ タイプ、パブリッシャー、およびサブスクライバーを返します。

rostopic type topicname は、特定のトピックのメッセージ タイプを返します。

topiclist = rostopic("list") は、ROS マスターからの ROS トピックを含む cell 配列を返します。出力引数を定義しない場合、リストは MATLAB® コマンド ウィンドウに返されます。

msg = rostopic("echo", topicname) は、ROS マスターから送信されている特定のトピック topicname に関するメッセージを返します。メッセージを返す処理を停止するには、Ctrl + C を押します。出力引数が定義されている場合、rostopic はそのトピックについて最初に到着するメッセージを返します。

topicinfo = rostopic("info", topicname) は、特定のトピック topicname のメッセージ タイプ、パブリッシャー、およびサブスクライバーを含む構造体を返します。

msgtype = rostopic("type", topicname) は、指定されたトピック topicname のメッセージ タイプを含む文字ベクトルを返します。

すべて折りたたむ

ROS ネットワークに接続します。ROS デバイスの IP アドレスを指定します。

rosinit('192.168.17.129',11311)
Initializing global node /matlab_global_node_01393 with NodeURI http://192.168.17.1:49865/

ROS マスターで使用可能な ROS トピックを一覧表示します。

rostopic list
/camera/depth/camera_info                              
/camera/depth/image_raw                                
/camera/depth/points                                   
/camera/parameter_descriptions                         
/camera/parameter_updates                              
/camera/rgb/camera_info                                
/camera/rgb/image_raw                                  
/camera/rgb/image_raw/compressed                       
/camera/rgb/image_raw/compressed/parameter_descriptions
/camera/rgb/image_raw/compressed/parameter_updates     
/clock                                                 
/cmd_vel_mux/active                                    
/cmd_vel_mux/input/navi                                
/cmd_vel_mux/input/safety_controller                   
/cmd_vel_mux/input/teleop                              
/cmd_vel_mux/parameter_descriptions                    
/cmd_vel_mux/parameter_updates                         
/depthimage_to_laserscan/parameter_descriptions        
/depthimage_to_laserscan/parameter_updates             
/fibonacci/cancel                                      
/fibonacci/feedback                                    
/fibonacci/goal                                        
/fibonacci/result                                      
/fibonacci/status                                      
/gazebo/link_states                                    
/gazebo/model_states                                   
/gazebo/parameter_descriptions                         
/gazebo/parameter_updates                              
/gazebo/set_link_state                                 
/gazebo/set_model_state                                
/joint_states                                          
/laserscan_nodelet_manager/bond                        
/mobile_base/commands/motor_power                      
/mobile_base/commands/reset_odometry                   
/mobile_base/commands/velocity                         
/mobile_base/events/bumper                             
/mobile_base/events/cliff                              
/mobile_base/sensors/bumper_pointcloud                 
/mobile_base/sensors/core                              
/mobile_base/sensors/imu_data                          
/mobile_base_nodelet_manager/bond                      
/odom                                                  
/rosout                                                
/rosout_agg                                            
/scan                                                  
/tf                                                    
/tf_static                                             

ROS ネットワークに接続します。ROS デバイスの IP アドレスを指定します。

rosinit('192.168.17.129',11311)
Initializing global node /matlab_global_node_29625 with NodeURI http://192.168.17.1:50079/

特定の ROS トピックに関する情報を表示します。

rostopic info camera/depth/points
Type: sensor_msgs/PointCloud2
 
Publishers:
* /gazebo (http://192.168.17.129:33044/)
 
Subscribers:

ROS ネットワークに接続します。ROS デバイスの IP アドレスを指定します。

rosinit('192.168.17.129',11311)
Initializing global node /matlab_global_node_19218 with NodeURI http://192.168.17.1:55966/

特定のトピックのメッセージ タイプを取得します。そのメッセージ タイプから、トピックにパブリッシュするメッセージを作成します。

msgtype = rostopic('type','camera/depth/points');
msg = rosmessage(msgtype);

入力引数

すべて折りたたむ

ROS トピック名。string スカラーまたは文字ベクトルとして指定します。トピック名は、rostopic("list") で出力されるトピックのいずれかと一致する必要があります。

出力引数

すべて折りたたむ

ROS マスターからのトピックのリスト。文字ベクトルの cell 配列として返されます。

特定のトピックの ROS メッセージ。オブジェクト ハンドルとして返されます。

ROS トピックに関する情報。構造体として返されます。topicinfo 構文には、そのトピックに関連付けられたメッセージ タイプ、パブリッシャー、およびサブスクライバーが含まれます。

ROS トピックのメッセージ タイプ。文字ベクトルとして返されます。

バージョン履歴

R2019b で導入