クライアントライブラリ
この概念の概念とAPIの我々の理解は非常に似ています。オファーROSは、基本的なプログラミングライブラリです。たとえば、次のように構築ノード、サービスたinvokeことを発表しました。これは、コールへの書き込みコードを助け、私たちを、基礎となる業務プロセスをカプセル化します。
roscpp、rospy、roslisp:クライアントライブラリはいくつかのバージョンがあります
roscppについての上位2話、この講義はrospy述べます。ノード、トピック、サービス、パラメータ、時間カテゴリを含むrospyインタフェース。
rospy
rospyノード関連
機能
init_node(名)#の登録と初期化ノード
import rospy
rospy.init_node('my_node') # 没有返回值
MasterProxy
- get_masterの()#GETハンドルマスター
BOOL
- is_shutdown()#戻り、閉じたかどうか
- ノードが閉じている場合(FN)#は関数fnを呼び出すon_shutdown
STR
- get_node_uri()#戻りノードURI
- get_name()#は、このノードの完全な名前を返します。
- get_namespace()#は、現在のノードの名前空間を返します。
rospy-トピック関連
機能
[[STR1、STR2]] get_published_topics ()#のリターンすべてのトピック名がリリースされています(STR1)とタイプ(STR2)
メッセージ
-
wait_for_message(トピック、topic_type、TIME_OUT =なし)#1 の指定したトピックのための待機MSG
-
スピン()#トリガサービスまたは治療の話題は、近くまでブロックされます
出版社クラス
- __init __(自己、名前、data_class、のqueue_size =なし)#コンストラクタ
- メッセージを投稿する(自己、MSG)#メンバ関数を公開
- 登録解除(自己)#メンバ関数公開を停止する
場合が:
pub = rospy.Publisher('topic_name','topic_type',queue_size=None) #size=None相当于同步通信,大于零会为异步通信
pub.publish(msg)
加入者クラス
- __init __(自己、名前、data_class、call_back =なし、のqueue_size =なし)#コンストラクタ
- 登録解除(自己)#メンバ関数は、退会します
rospy-サービス関連
機能
wait_for_service(サービス、タイムアウト=なし) #は、 ブロックされたサービスが利用可能になるまで
サービスカテゴリ - >サーバー関連の
_init_(自己、名前、service_class、ハンドラ)#のコンストラクタサービス
のシャットダウン(自己)#メンバ関数は、サービスを停止します
ハンドラの場合:
def handler(req):
pass
return res #只传入请求,只传出响应
ServiceProxyクラス >クライアント関連-
要求者__init __(自己、名前、service_class )#のコンストラクタとサービス
応答
- コール(自己、* argsを、** kwds)#コールサービス
- __call __(自己、* argsを、** kwds)#コールサービス
client = ServiceProxy(...) //构造函数
client.call(req)
#或者
resp = client(req)
rospy-Paramの関連
機能
XmlRpcLegalValue
- GET_PARAM(PARAM_NAME、デフォルト= _unspecified)#GETパラメータの値
[STR]
- get_param_names()#は、パラメータの名前を取得します。
- SET_PARAM(PARAM_NAME、param_valueに)#は、パラメータの値を設定します
- delete_param(PARAM_NAME)#削除のパラメータ
BOOL
- has_param(PARAM_NAME)#パラメーターは、サーバー・パラメータ上に存在します
STR
- search_param()#検索パラメータ
rospy時刻関連
クラスの時間は - >時間を意味し、
__init __(自己、秒= 0 、NSECS = 0)# コンストラクタ
今の時間()#の静的メソッドは、現在時刻Timeオブジェクトを返します
場合:
rospy.Time(secs = 1, nsecs = 0)
# or
rospy.Time.now()
期間クラスは - >時間の期間を意味
__init __(自己、秒= 0 、NSECS = 0)#のコンストラクタ秒とナノ秒を
注:減算演算時間、結果は、時間内にない時間と2回の加算と減算を変えることができます。
機能
時間
- get_rostime()#タイム現在の目標時間
浮く
- GET_TIME()#は、現在の時刻を返し、それが数秒でfloatを返します。
- スリープ(期間)#は、実行を中断します
レートクラスの
__init __(自己、周波数)#コンストラクタ
スリープ(自己)と考えrate.sleep一度#がハングアップする()の時間
時間
- 睡眠時間を残り、残りの(自己)#メンバ関数
ソースを記入してください。
本論文では、「AndroidのOSは、はじめに」MOOCの中国の大学をまとめた
リンク:リンク。
ビデオキャプチャプログラムからの写真