3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ロボット制作がしたい

Last updated at Posted at 2020-06-18

自分でロボットを作ってみたい人は多いと思います!
ですが,何をどのように学んでいくのか...イメージがつかない人もいると思います.
この記事では,私(高専ロボコン経験者)の場合を振り返りつつ書いています.

中学生〜高校生を対象に書いているつもりです.

ロボットを作るために必要なもの

  • 機構
  • 回路
  • プログラム
  • センサ
  • モータ
  • などなど...

私は機構設計をやったことがありませんが,その他について浅く広くやって来ました.
私は電子工作から入ったので,以下はほぼ電子工作の入門となっています.

Level 1 電子工作キット

まずは電子工作から初めてみましょう!
電子工作キットから始めるのがおすすめです.
抵抗,コンデンサ,トランジスタ,LED,...様々な電子部品に触れることができます.
(私は小学生〜中学生の頃,コロコロコミックに広告が載っていた「新・電子工作通信講座」というものをやってました)

目標

  • 電子パーツに慣れる
    • 抵抗・コンデンサ・トランジスタ・LEDなどなど...
  • はんだごてを使うことができる
  • ものづくりができる

Level 2 マイコンプログラミング

次にマイコンを使ったプログラミングを初めてみましょう!
マイコンとは小さなコンピュータのことです.身の回りの電化製品などには,このマイコンが入っています.
ここでおすすめするマイコンは "Arduino" です.
また,ブレッドボード,ジャンパピンやスイッチ,LEDなど回路の部品も買っておきましょう.
Arduinoを手に入れたら,LEDを点滅させるプログラムから入り,以下のように進めていってください!
どんどんやれることが広がっていきます!
(私は高専に通っていた頃,部活内で学びました)

目標

  • Arduino言語の習得
    • ArduinoでLEDをチカチカさせる. (digitalWrite)
    • ArduinoでLEDをぼんやり光らせる. (analogWrite)
    • スイッチを使ってみる. (digitalRead)
    • ボリューム(可変抵抗)を使ってみる. (analogWrite)
  • プログラム自体の練習
    • 文字の出力(Serial.println)
    • 変数 (int / float / ...)
    • 条件分岐 (if / switch)
  • ブレッドボードを使った回路設計
    • 接地(GND)の概念が理解できる
    • 抵抗の使い方 (LEDを使うときに抵抗が必要,オームの法則など)
    • プルアップ抵抗,プルダウン抵抗(入力にスイッチを使うときに必要)

補足 マイコンについて

  • Arduino
    一番おすすめのマイコンです.
    プログラムがわかりやすく,色々な機能が使えるためおすすめです.
    また,シールドという拡張基板も売っていて,Bluetoothなどの通信も使えるようにできます.
    (私は高専ロボコンで,Arduinoをロボット制御によく使っていました)

  • RaspberryPi
    Arduinoと比べられることも多いと思いますが,こちらはOS(Operating System)が載っています.
    難しいですがその分,やれることが増えます.
    (完全にArduinoより勝るかというと,そうではありません.
    特に入力に対して反応が素早くできる,綺麗な出力波形が出る(リアルタイム性)という面で
    ロボットに向いているのはArduinoの方だと思っています.)
    以下のようなことができます.Arduinoの次のマイコンとしておすすめ!

    • 簡易的なWebサーバ (ホームページ)
    • 音楽サーバ (Volumioなど)
  • その他PICなど多種多様なマイコン
    主にC言語を使って開発します.
    データシート(説明書)の読み込みなどが大変です.

Level 3 新たな部品

ここまで来たら,自分が思い描くモノを作るため,
Amazon,SwitchScience,秋月電子通商などのサイトで,センサや新たな部品を買ってみましょう!
(私は高専にいた頃,部活内で色んな部品を買わせていただきました.
高専ロボコンでは以下のセンサをよく使っていました.)

センサ(Arduinoへの入力)

  • 距離センサ
  • ホイールエンコーダ(回転数が分かります)
  • 傾きセンサ,ジャイロセンサ
  • 気温・気圧センサ
  • 赤外線センサ など多種多様なセンサがあります.Arduinoで使ってみましょう!
  • カメラ はArduinoでは厳しいです. RaspberryPiやPCを使いましょう!

アクチュエータ(Arduinoから出力)

  • モータ(モータードライバという回路も必要かも)
  • 様々なLED(赤色LEDから,電車内の掲示板ようなドットマトリクスLEDまで色々なものがあります)
  • スピーカ など

Level ? ロボット制作

ここまでくれば,次はロボット!...と言いたいですが,
ロボットを作るには,以下の理由で,お金・技術・時間が必要です.
一人でロボットを作るのはなかなか大変な作業です.
もしあなたが可能であれば,
高校・高専・大学などでロボットに関する研究やコンテストに携わることが1つの答えだと思います.

機構設計など

ロボットを作るとなると,外側が必要だと思います.
ロボットが何ができるかの大部分は,その機構にかかっていると思います.(私はこの分野は分かりません)

回路設計など

大きなモータを回すためにはモータドライバという回路が重要です.
トランジスタやFETやオペアンプを使った回路で,マイコンの信号を増幅させてあげることも重要です.
回路の開発にはオシロスコープなど計器も必要になってきます.
また,快適に操縦するには通信技術も大切です.

センサ

センサは基本的に高級なほど良いものです.
安いセンサはノイズが酷かったり,時間がかかったり,クセがあるモノもあります...
特にkinect, LiDARなど距離に関するセンサは高級な印象があります.

プログラム

センサに比例してできることが広がっていきます.
例えばロボットにカメラを付けたら,画像処理ができるようになり,
ディープラーニング技術などで物体の認識ができます.
上に挙げたような高価な距離センサがあれば,ロボットの位置を推定することができ,
ロボットに目的地を伝えるだけで自動運転をすることができます.
ただ複雑なことをさせようとすると,マイコンではスペックが足りなくなるかもしれません...

まとめ

ロボットに興味がある人は多いのではないでしょうか?
私の経験が誰かの参考になれば幸いです.

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?