光を追いかけるロボットをROSで作る(1)
ラズパイでROSのまとめとして、小学生が作るようなメカトロロボットを作ってみます。例えばこんなものです。
これは今から50年以上前、東京オリンピック前年の「模型とラジオ」に掲載された、懐中電灯で操縦する宇宙探検車です。ペンライトで光をあてるとその方向に進んできます。 簡単なセンサーロボットですが、当時はラジコンですらハイテクだったわけですから、少年向けとしてはなかなか高度な製作記事だったと思います。
コレに習い、懐中電灯で光をあてるとその方に寄ってくるロボットを、ROSとHanabot2で作ります。なんでまたこんなことをしてみたかというと、ハードから入ってきたホビーストにはちょっととっつきにくいROSの仕組みが、単純でハードに近いプロジェクトをやってみることで理解がしやすくなるのではないかと思ったからです。ともかくやってみましょう。
完成品の動画です。
見てお判りの通りブレットボードにCDSを利用した光センサを組み立て、前回の実験の押しボタン代わりにしています。ここに懐中電灯で光をあてると、その場で旋回しているロボットが前進するわけです。CDSは筒に入れ、前方の光のみに反応するようにしておけば、ロボットは光の方へ進んで行くということになります。
回路はこのようになりました。CDSは懐中電灯で光を浴びた時に数K〜20Kオームくらいになるものを選んでいます。
以前の投稿のボタンの代わりにCDSが入っているだけです。暗いところではCDSは数百Kオームと高い抵抗値を示しますが、光が入るとCDSの抵抗値が数Kオームまで下がり、入力に設定したGPIO 9ポートが、ボタンを押した時のように0レベルになります。感度は半固定抵抗VRで調整します。VRを回し切るとGPIO 9が電源に直結してしまうので、万一GPIO 9が出力に設定されてしまうと大きな電流が流れ、ポートを壊す可能性があります。そこで470オームの抵抗を入れて電流制限としています。これは100オームくらいから1Kオームくらいまでであれば良いですから、念のため入れておいた方が安心です。
ブレットボードにこのように実装しました。CDSは黒い筒をかぶせて周囲の光をカットしてあります。プラスチックのパイプで作りましたが、それほど厳密に遮光する必要もないので、紙やビニールテープで作っても構いません。
次回は追跡用のノードとローンチファイルを作ります。
« GPIOをノード間通信で使う | トップページ | 光を追いかけるロボットをROSで作る(おしまい) »
「ROSさんお手やわらかに」カテゴリの記事
- 3Dプリンターで作る簡単turtlebot(おしまい)(2017.01.07)
- 3Dプリンターで作る簡単turtlebot(raspberry pi3の取り付け)(2017.01.03)
- 3Dプリンターで作る簡単turtlebot(kinectの取り付け)(2017.01.02)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て2)(2016.12.29)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て1)(2016.12.25)
「ラズパイでROS」カテゴリの記事
- 3Dプリンターで作る簡単turtlebot(おしまい)(2017.01.07)
- 3Dプリンターで作る簡単turtlebot(raspberry pi3の取り付け)(2017.01.03)
- 3Dプリンターで作る簡単turtlebot(kinectの取り付け)(2017.01.02)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て2)(2016.12.29)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て1)(2016.12.25)
コメント