関連サイト
本書の関連ページが用意されています。
内容紹介
好評を得ている第1版を基にEV3に対応!! 本書は、はじめに目標となるアルゴリズムをPADで表して、それに対応するC言語プログラム,GUIプログラムを併記して立体的に学べるよう工夫。初心者から上級者まで、3つのソースを相互参照しながら、ロボットプログラミングを効率よくマスターできる。
書誌情報
- 著者: 藤吉 弘亘, 藤井 隆司, 鈴木 裕利, 石井 成郎
- 発行日: 2018-05-29 (紙書籍版発行日: 2018-04-30)
- 最終更新日: 2018-05-29
- バージョン: 1.0.0
- ページ数: 196ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: 近代科学社
対象読者
ロボット,LEGO,Mindstorms,EV3,プログラミングに興味がある人
著者について
藤吉 弘亘
1997年 中部大学大学院博士後期課程満期退学,博士(工学)
1997年 米カーネギーメロン大学ロボット工学研究所Postdoctoral Fellow
2000年 中部大学工学部講師
2004年 中部大学工学部准教授
2006年 米カーネギーメロン大学ロボット工学研究所客員研究員
2010年 中部大学工学部教授
ロボットビジョン,計算機視覚,動画像処理,パターン認識・理解の研究に従事.
藤井 隆司
1998年 中部大学大学院博士前期課程修了
2000年 中部大学工学部教育技術員
2008年 名古屋工業大学大学院博士後期課程修了,博士(工学)
2011年 中部大学全学共通教育部助教
2013年 中部大学全学共通教育部講師
2018年 中部大学工学部講師
ロボット制御,信号解析・処理の研究に従事.
鈴木 裕利
2001年 名古屋大学大学院博士後期課程修了,博士(学術)
2001年 中部大学工学部講師
2005年 中部大学工学部准教授
ソフトウェア工学,工学教育の研究に従事.
石井 成郎
2004年 名古屋大学大学院博士後期課程修了,博士(学術)
2004年 愛知きわみ看護短期大学講師
2010年 愛知きわみ看護短期大学准教授
2018年 一宮研伸大学看護学部准教授
創造性のメカニズムの解明とその教育的応用に関する研究に従事.
目次
まえがき
目次
1 ロボット
- 1.1 ロボットとは
- 1.2 ロボットの歴史
- 1.3 ロボットの形態とその応用
- 演習問題1
- コラム1:人工知能とは?
- コラム2:ロボットは何ができるの?
2 プログラミングとは
- 2.1 プログラムとアルゴリズム
- 2.2 プログラムの設計図
- 2.2.1 PAD
- 2.2.2 フローチャート
- 2.3 コンピュータが理解できる言語
- 2.4 C言語の文法
- 2.4.1 変数のデータ型
- 2.4.2 演算子
- 2.4.3 選択構造(if文,switch文)
- 2.4.4 反復構造(for文,while文,do-while文)
- 2.4.5 配列
- 2.4.6 関数
- 2.4.7 #define文
- 2.4.8 外部変数とスコープ
- 演習問題2
- コラム3:きれいなプログラム
3 LEGOロボットをプログラムしよう
- 3.1 LEGO Mindstormsについて
- コラム4:中はどうなってるの?(センサ編)
- コラム5:中はどうなってるの?(EV3 本体,モータ編)
- 3.2 プログラムを作成するには
- 3.2.1 ロボットへプログラムを送るには
- 3.2.2 プログラムの作成
- 3.3 音を鳴らしてみよう
- 3.4 プログラムを実行してみよう
- 3.4.1 プログラムの転送と実行(EV3-SWの場合)
- 3.4.2 NXCのコンパイル(コマンドラインの場合)
- 3.4.3 NXCのコンパイル(BricxCCの場合)
- 3.4.4 プログラムの転送と実行(NXCの場合)
- 3.5 メロディを奏でよう
- 演習問題3
- コラム6:テンポ(BPM)
4 LEGOロボットのモータを制御しよう(基礎編)
- 4.1 ロボットの組み立て
- 4.1.1 入力ポートと出力ポート
- 4.2 ロボットを前進させるには(モータ制御1)
- 4.2.1 前進させるには
- 4.2.2 モータ制御によるロボットの前進
- 4.2.3 動作(実行)の確認
- 4.3 ロボットを旋回させるには(モータ制御2)
- 4.3.1 ロボットを右旋回させる
- 4.3.2 ロボットをその場で90度旋回させるには
- 4.3.3 一周するには(for文,ループブロック)
- 4.4 効率の良いプログラムをつくるには
- 4.4.1 ブロック間のデータのやりとり(EV3-SW)
- 4.4.2 マイブロック(EV3-SW)
- 4.4.3 関数化(NXC)
- 4.4.4 #define(NXC)
- 4.4.5 スパイラル軌跡を描く
- 演習問題4
5 LEGOロボットのセンサを利用しよう(基礎編)
- 5.1 タッチセンサによる障害物回避
- 5.1.1 タッチセンサの接続
- 5.1.2 タッチセンサによる障害物回避(if文,スイッチブロック)
- 5.2 超音波センサによる障害物回避
- 5.2.1 超音波センサの接続
- 5.2.2 超音波センサによる障害物回避
- 5.3 ジャイロセンサによるロボットの旋回
- 演習問題5(1)
- 5.4 カラーセンサによるライントレース
- 5.4.1 カラーセンサの接続
- 5.4.2 カラーセンサによる色の認識
- 5.4.3 カラーセンサによるライントレース
- 5.4.4 ライントレースアルゴリズムの改良
- 演習問題5(2)
- コラム7:センサの値を簡単に調べるには?
- コラム8:EV3本体の状況を知ろう
6 LEGOロボットの高度な制御(応用編)
- 6.1 ディスプレイ表示
- 6.1.1 テキストの表示
- 6.1.2 図形の表示
- 6.2 配列を利用したロボットの教示と再生
- 6.3 シングルタスクと並列タスク
- 6.3.1 並列タスク
- 6.3.2 プログラムのコンフリクトとセマフォ
- 6.3.3 セマフォによるコンフリクト回避(EV3-SW)
- 6.3.4 MUTEXによるコンフリクト回避(NXC)
- 6.4 高度なロボット制御
- 6.4.1 PID制御
- 6.4.2 PID制御による倒立振子ロボットの制御
- 演習問題6
7 ロボット大会に参加しよう(競技編)
- 7.1 自律型ロボット競技WRO
- 7.2 競技について
- 7.3 競技ロボットを考えよう
- 7.3.1 ロボットの設計
- 7.3.2 プログラムの設計
- 7.4 競技ロボットを作ろう
- 7.4.1 ライントレースのプログラム
- 7.4.2 オブジェクト回収プログラム
- 7.4.3 プログラムの合体
- 7.4.4 速いライントレースの実現
- コラム9:壁を使って角度修正
- 7.5 競技会に参加しよう
- 演習問題7
- コラム10:ピッキング能力を競うロボット大会:Amazon Robotics Challenge
8 ロボット作り上達のために
- 8.1 おもしろいロボットを考えよう
- 8.1.1 常識にとらわれない
- 8.1.2 アイディアを組み合わせる
- 8.1.3 身近な物を参考にする
- 8.2 グループで協力して作ろう
- 8.2.1 アイディアを共有する
- 8.2.2 積極的に評価する
- 8.2.3 作業の役割を分担する
- コラム11:ロボット作りの上級者はここが違う
- 8.3 ロボット作りのサイクル
- 演習問題8
9 コース攻略法を考えよう(モデリング入門)
- 9.1 モデリングとは
- 9.2 初心者のためのモデリング入門(UML-B)
- コラム12:UMLとUML-B
- 9.3 コース攻略をモデリング
- 9.3.1 コースの概要とルール
- 9.3.2 必要な機能の確認
- 9.3.3 機能モデルの例
- 9.3.4 詳細モデルの例
- 9.3.5 関連モデルの例
- 9.4 作成したモデルを評価しよう
- 演習問題9
- 9.5 ディティールPADとコーディング
- 9.6 モデリングのまとめ
10 リフレクションをしよう
- 10.1 リフレクションとは
- 10.2 作成中のリフレクション(作業記録の作成)
- コラム13:インターネットを利用した作業記録
- 10.3 作業記録のポイント
- 10.4 作成後のリフレクション(プロセスチャートの作成)
- 10.5 おわりに(学習内容のリフレクション)
付録
- EV3版NXC関数