subscribeした情報をこねくり回したのち,publishしたいとき,どうしても同じコードに書く必要がある.
でも,ROSwikiのチュートリアルではそこまでカバーしていない...
そんなときに色々調べた結果をここにまとめる.(関連リンクはjoystickのデータをrosでsubscribeする方法)
主なやり方
golobal 変数を使う方法
こっちのが感覚的には分かりやすい.subscribe情報のうち必要なものをglobal変数に代入するだけ.
class を使う方法
現状,classの知識が「structの親戚」程度にとどまっているので,まだいまいち理解しきれていないが,たぶん基本は上と一緒.
先にpub<->sub間で共有したい変数を宣言したり,callbackだけじゃなくて全体の流れもmain関数以外の関数で書けるから,コードが冗長になりにくいのかな...と思ったり思わなかったり.
少なくともmain関数はめっちゃ短く済む.
ちなみにclassの解説はこちら
あとがき
まだまだ分からない部分が多いので,これから少しずつ更新していければと...
それにしても,みんなpram関数を使ってるのはjoystickの仕様なのかな?普通に宣言するとうまく動かないのか試してみたい.