CA-Giken / smabo

Smart Robot Integration framework
0 stars 0 forks source link

Ros Node実装規約(Python編) #1

Open KazukiHiraizumi opened 3 days ago

KazukiHiraizumi commented 3 days ago

大概以下の構成とする

#!/usr/bin/env python3

import ....

##### Parameterブロック

Config={
  "name":value
  ....
}
Param={
  "name":value
  ....
}

##### Functionブロック
def function():
....

def cb_scan(event):
....

##### Mainブロック
rospy.init_node("<node name>",anonymous=True)
try:
  Config.update(rospy.get_param("~config"))
except Exception as e:
  print("get_param exception:",e.args)

Subcriber....
Publisher....
rospy.Timer(rospy.Duration(1),cb_scan,oneshot=True)

try:
  rospy.spin()
except KeyboardInterrupt:
  print("Shutting down")
KazukiHiraizumi commented 3 days ago

Parameterブロック

Config...

KazukiHiraizumi commented 3 days ago

Functionブロック

KazukiHiraizumi commented 3 days ago

Mainブロック

  1. Configパラメータのオーバライド
  2. トピック(sub,pub)の定義
  3. 定周期処理の定義
  4. イベントループに渡す
KazukiHiraizumi commented 3 days ago

単体テスト