【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ってなに?今回いるかと思って適当に最初の方に作ったけど、結局使ってないし。わからん。
- 他ノードからサービスを要求された時にコールバックする関数の引数!
今回はなんとなく作って動いたけど、よくわからん!!