目次. 超小型PCラジコンカーで学ぶPythonプログラミング！

# 全6回講座目次
(0. 本記事) **超小型PCラジコンカーで学ぶPythonプログラミング！**
1. **[最速習得！Pythonでプログラミング自由自在！](https://qiita.com/g_robo/items/7c2a5bd300fa92dc69d4)**
2. **最先端サーボモーター「Dynamixel」を自由自在に動かそう！**
3. **Linuxに挑戦！PCをコマンド遠隔操作してみよう！**
4. **BluetoothでPS4コントローラーからデータ受信してみよう！**
5. **ラジコンカーを自由自在に動かそう！**
6. **おわりとこれから**

（**全6回**　想定修了時間：**6日未満**）

# ガイダンス：ようこそ！
![banner-5250178_1920.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3295530/8152c1a9-08ca-ab47-51f9-4995fee018ba.jpeg)

ご覧いただきありがとうございます。
**岐阜大学ロボコンサークルです！**

この講座シリーズでは表題の通り、超小型PCラジコンカーを製作しながらPythonでのプログラミングを習得していきます。

この講座は**岐阜大学ロボコンサークルの2023年度の新入生講習**に使用されており、**全6回の講座は無料公開**しております。
「**Windowsもまだ慣れてないよ～**」という人は「**Windowsで操作できるミニサイズのロボットアームを製作する講座**」や「**全方向移動ラジコンカーで学ぶIoTプログラミング入門**」といった本講座より少し簡単な講座シリーズもありますので、興味があればそちらもご覧ください！

→　[目次. ミニロボットアームで学ぶPythonプログラミング！ - Qiita](https://qiita.com/g_robo/items/d53dea24384de0a3c555)
→　[目次. 全方向移動ラジコンカーで学ぶ！IoTプログラミング入門　 - Qiita](https://qiita.com/g_robo/items/813f724383a59b2bce20)




# こんな感じに動く!
ではさっそく完成品がどのように動くのか、少しだけ動画を覗いてみましょう。

＜　完成動画　近日公開　＞
3Dイメージ画像（CAD）
![スクリーンショット 2023-04-05 010629.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3295530/6e413e3a-7521-45d8-965f-38c708978e42.png)


# この製作があなたの夢・目標につながる！
![future-3279838_1920.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3295530/8037e1e6-8feb-d532-31eb-e9ed92e3d36c.jpeg)

ここでは、「この講座を通したラジコンカー製作の経験が何に生きるのか」、少しご紹介します。
- **Pythonプログラミングの経験**
この講座シリーズではプログラミングというもののエッセンスを学びます。
言うまでもなくプログラミングは今の時代に必須のスキルです。
プログラミングを身に着ければ、下のようなさまざまな製作・創作活動に生かすことができます。
**ロボット系　　：ありとあらゆるロボット製作
マイコン系　　：便利グッズから家電、産業用電気機器など幅広い製品の製作
IoT系　　　　　：インターネットとつながるスマート機器の製作
動画系　　　　：モーショングラフィックスなどを用いた動画製作**
加えて「Python」に強くなれば下のようなこともやりやすくなります。
**Web・アプリ系：Webサイト製作、スマホアプリ・パソコンソフト製作
ゲーム系　　　：スマホゲーム・PCオンラインゲーム・Webゲーム製作**
- **Linuxに触れる経験**
WindowsやMacなどと同様にOSの1つである**LInux**は一般人にはあまり馴染みのないものです。
実際、**黒画面でのコマンド操作が要求されたり、一般にそれ専用のパソコンを用意する必要がある**など、それ自体のハードルが高かったりします。
しかしながら、プログラミングを進めるにつれWindowsやMacに比べ「**Linuxならできること**」というものは山ほど出てきます。
同時に、**エンジニアの世界ではLinuxは避けては通れません**。これはロボット業界のみならずネットインフラ系・IoT系でも同様です。むしろ業界標準のOSといっても過言ではないでしょう。
したがって「**Linuxが少しでもわかる**」というだけでも、やれることがぐんと広がりますし、人材としての希少性が非常に高まります。

- **ロボット製作の経験**
実は、ロボットの製作というのは素人には非常にハードルの高いものです。
・多種多様な知識（機械工学・回路学・情報学の知識、ハード加工・回路製作のノウハウ）
・加工・製作環境の準備（切削・造形機械、回路部品・実装機器の用意）
・共同制作人員の確保　　などなど
ロボット製作は**総合的な技術知識の集合体**です。
筆者の経験から言って、1人でロボット作りを始めることはほぼ不可能といってよいでしょう。
ですから**ロボット製作を「やったことのある」人材はとても希少**なのです。
本講座のように「**モーターを操作できる**」という小さなことでも、**「パソコンの中だけで完結する」普通のプログラミング経験者とは雲泥の差**なのです。
また、これを機会にどんどんと機械系の知っていくことで見える景色も変わり、意外にも街中にロボットが溢れていること、またそのロボットの仕組みに興味が湧き、次にはロボットの凄さに感動を覚えるはずです。


これらは技術的な面が中心ですが、ほかにも自分の非技術的な「性格」や「非認知能力」でも成長ができることでしょう。

# 完成までのながれ
![Python-side.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3295530/ed7f925a-cce0-8356-d88c-72f68a71abd6.png)

では、実際にどんな風に作っていくのか、講座順を追って概要を説明します。

1. **最速習得！Pythonでプログラミング自由自在！**
プログラミング環境を準備した後、すぐに自分のPCを用いてPythonでプログラミングを実践形式で学びます。また、プログラミング初心者に欠かせない「3つの心構え」も紹介します。
2. **最先端サーボモーター「Dynamixel」を自由自在に動かそう！**
ラジコンカーの車輪に使われているDynamixelという高機能なサーボモーターの使い方を実際にPythonでプログラムを書きながら勉強します。
3. **Linuxに挑戦！PCをコマンド遠隔操作してみよう！**
Windowsシステムの制約を説明した後、Linuxとはどんなものか？を詳しく解説します。
miniPCは **KhadasEdge2**（[Amazon | Khadas Edge2 RK3588SミニARM PC](https://amzn.asia/d/b3uh10S)）を使用し、Linuxの一種Ubuntuを実際にたくさんを触りながらコマンド操作に慣れるとともに、個人のPCからminiPCに遠隔での接続も行ないます。
※ Ubuntuは22.04 Desktopを使用します。**GUI**（**マウスで画面カチカチできる**）のため初心者でも安心です
4. **BluetoothでPS4コントローラーからデータ受信してみよう！**
miniPCとPS4コントローラーをBluetooth接続しPythonで実際に入力を受け取る方法を学びます。
また、使えると便利な「pyenv」と「venv」の使い方も勉強します。
5. **ラジコンカーを自由自在に動かそう！**
これまでの知識・コードを総動員してラジコンカーを動かすプログラムを作って動かします。
6. **おわりとこれから**
製作を終えた皆さんに伝えたいこと、この先の道しるべなどを示します。

# 沢山のことを学べる！知れる！
![library-7720589_1920.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3295530/940a2d76-629a-a76f-2e38-47ffabf1a30f.jpeg)

この講座を通していろんなことを学ぶことができます。
- **プログラミングについて**
筆者はプログラミングの勉強は3つのハードルがあると思います。
・ **環境構築**…実はプログラミングは動かすまでの準備が大変なことが多いです。
・**目標**…最初に四則演算やif,fo,while文などを勉強しますが、何気にこれが何に生きるのかわからないまま勉強してモチベが持たなくなることが多いです。
・**良いコードを書くためのノウハウ**…独学だといわゆる「良い書き方」が身につかないことが多いです。
ですが、この講座では全てがそろっているため安心して学ぶことができます。
また、プログラミングを通して1人でも今後成長していけるような土台を作ります。

- **Pythonについて**
いまや「**なんでもできる」が売り文句のPython**ですが、実際Pythonが触れるといろんなことができるようになります。
ロボットやIoT製作のみならず、ゲーム・アプリなどの製作、データサイエンス分野の機械学習や深層学習、表計算ソフトと連携した自動化や業務効率化　などなど！
挙げればきりがありません。
Pythonはプログラミング言語のなかでもいろいろな意味で簡単な部類です。
実際大学でもPythonでプログラミングの授業が行われることが増えています（岐阜大学も多くの学科でPythonが採用されています。）
しかしながら、Pythonの真骨頂を知ることなく、ただつまらない基礎だけやってそのまま触らなくなる人がほとんどなのが現実です。
この講座ではそんなことにならないよう**Pythonの真価・面白さをしっかりとお伝えしていきます**。

- **Linuxについて**
上でも述べましたが、エンジニアの世界ではLinuxは避けては通れません。これはロボット業界のみならずネットインフラ系・IoT系でも同様です。むしろ業界標準のOSといっても過言ではないでしょう。
しかし、その最初のハードルが高いのも事実。
この講座では、そんな初心者バイバイなLinuxに皆さんがその第一歩を踏み出せるよう、丁寧なアドバイスやフォローと共に、**その扱い方と良い勉強の仕方**をお伝えしていきます。

- **ロボットについて**
本製作を通して、普遍的なロボット製作の全体像をつかみ、より発展的なロボット製作につなげる手助けをします。

# おわりに
ここまで読んでくれてありがとうございます。
なんとなく全体像を理解し、興味を持ってもらえたならうれしいです。
**では！その意欲が冷めないうちに、早速プログラミングの第一歩を踏み出しましょう！**

次　＞　　**[最速習得！Pythonでプログラミング自由自在！](https://qiita.com/g_robo/items/7c2a5bd300fa92dc69d4)**

# 宣伝：実際にモーターやマイコンを使いたい！
![cherry-blossoms-3994233__340.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3295530/344f3f5e-95af-9126-22c2-22bf7f12730b.jpeg)

岐阜大学ロボコンサークルでは、**いつでも仮入部者を募集中**です。
**仮入部員**になると**先輩に直接質問できたり、部室の物品や機器を借りて使用したりすることができます**。
この講座でも使用するKhadas Edge2をはじめ、Dynamixelモーターから電源基板まで**自由に使用**していただけます！
![61bmprGR9AL._AC_SL1500_-side.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3295530/0835bb6d-4298-4f0d-97bb-8acea20f9750.jpeg)


さらに、**入部確定者**には**本講座で使用する回路基板や機体本体の貸し出し**を行ないます！

少しでも興味が湧いた人は**まずは仮入部**をお願いします！
また、**部室や雰囲気を見学**したいよという方も気軽にご連絡ください！
**TwitterへDM**を頂ければ随時ご案内します。

岐阜大学ロボコンサークルTwitter：https://twitter.com/gifu_robocon