【Jetson Nano】 FAN制御をするROSノードの作成

前回インスールしたROS Melodic。
そして前々回動作確認したFANを動かすコマンド。
そして、これらをがっちゃんこ。


今回作成したもの

  • FAN回転数を設定するサービス
  • 現在のFAN回転数を取得するサービス

他のノードはないので、とりあえずCLIで確認するとうまくうごいていた。

$ rosservice call set_fan_pwm 100  //設定する時
$ rosservice call get_fan_pwm      //取得する時

チュートリアルを改造しながらできたが、
概念、構造がめっちゃ難しい。。。

amazonで高評価の本買って精進するか。 あと、タイヤとモータードライバ買おうかな。


参考情報


fan control nodeの作成(のはじめの方だけ)

$ cd ~/catkin_ws/src
$ catkin_create_pkg fan_control std_msgs rospy roscpp
$ catkin_make
$ catkin_install

ディレクトリ構造

Directory Tree
└── fan_control
    ├── CMakeLists.txt
    ├── include
    │   └── fan_control
    ├── msg
    │   └── fan_pwm.msg
    ├── package.xml
    ├── src
    │   ├── get_fan_pwm_service.cpp
    │   └── set_fan_pwm_service.cpp
    └── srv
        ├── GetFanPwm.srv
        └── SetFanPwm.srv

最後に魂の叫び

  • サービスってなんだ?ノードとは別?それともノードの機能の一種?
  • messageってなに?今回いるかと思って適当に最初の方に作ったけど、結局使ってないし。わからん。
  • 他ノードからサービスを要求された時にコールバックする関数の引数!
    今回はなんとなく作って動いたけど、よくわからん!!