2021年 第2回 たいチャレ日誌
皆さんこんにちは!
2021年も絶賛活動中!たいチャレ日誌 第2回です。
今回はDJI RoboMaster S1チームから、WebエンジニアKがお送りします。
DJI RoboMaster S1って?
プログラミングの学習・教育用に開発されたロボットです。その名も「RoboMaster S1」!
専用のアプリケーションを使用して、ロボットの動作をプログラムすることができます。
言語はPythonとScratch(小中学生をメインターゲットとした教育用言語)が利用できるので、
コードを書いてみたい!という人はもちろん、プログラミングが初めての人も安心です!
今回はこの「RoboMaster S1」+Pythonを使い、人を認識して近付いていくプログラムを作成しました。
いざ開発!
RoboMaster S1の開発には、DJIから配信されているアプリケーション「RoboMaster」を使用します。
このアプリケーションからRoboMaster S1に接続することで、プログラミングができるようになります。
ということで、まずはPCにアプリケーションをインストールして起動してみます。
DJIのアカウントを作成し、ログインするとトップメニューが表示されました!
ソロ | アプリケーションがコントローラとなり、実際にRoboMaster S1を操作することができます。 |
バトル | ソロモード同様にRoboMaster S1を操作して、他のRoboMaster S1とバトルすることができます。 レースをしたり、ゲル弾や赤外線ビームによる撃ち合いが楽しめます。 |
ラボ | Python、Scratchにより、RoboMaster S1の動きをプログラムすることができます。 |
今回はプログラミングを行いたいので、「ラボ」に進みます。
「マスターへの道」や「ロボアカデミー」では、ガイドに沿ってRoboMaster S1のプログラミングを学ぶことができます。
初めての方はまずここから進めてみるのもおすすめです。
「DIYプログラミング」を選択すると、いよいよ開発画面が表示されます!
冒頭で紹介した通り、RoboMaster S1はPythonかScratchで開発することができます。
Scratchはこのように動作がブロックで用意されており、これを繋げることでプログラミングを行います。
右上の切り替えアイコン をクリックするとPythonのコードに変換することも可能です。
ブロックをPythonコードに変換した場合の関数名が確認できるので、プログラミングの参考にもなります。
そして、今回使用するPythonがこちら。ここで実際にコードを書いて、プログラミングを行います。
こちらにはScratchにあった切り替えアイコン はありません。PythonからScratchへの変換はできないようです。
予め用意されているサンプルやドキュメント、Scratchから変換したコード等を参考にしつつ、プログラミングしていきます!
・・・そんなこんなで、完成したコードがこちら。
ぐるりと周囲を見渡しつつ、人を認識したらそちらへ近づいていく、というプログラムです。
(ついでにLEDライトも照射するようにしてみました。)
動かしてみよう!
早速作成したプログラムを動かしてみました。
まとめ
ということで、無事に人を認識して近付いていく(+LEDライト照射)というプログラムを作ることができました!
とはいえ、物にぶつかっても止まらなかったり、人じゃないものを人と認識したりと、若干やんちゃなロボットになってしまいました。
まだまだ研究、改善の余地がありそうです。
今回は「人を認識する」という比較的シンプルな内容でしたが、「RoboMaster S1」には他にも様々な機能が搭載されています。
興味のある方はぜひチャレンジしてみてください!
では、次回のたいチャレ日誌をお楽しみに!
投稿者プロフィール
- 主にWebシステムの開発を行っています。言語はJava、PHPなどで、フロントエンドもバックエンドもやってます。好きな業務は仕様検討とSQL作成。業務以外でも新しいことに挑戦すべく、たいチャレ参加中です。
最新の投稿
- たいチャレ2021年12月3日2021年 第2回 たいチャレ日誌
- たいチャレ2020年7月31日第3回“会議コスト教える君”開発日誌