達人出版会 | 夏休みに読みたい!インプレス&近代科学社フェア
実践ロボットプログラミング  第2版: LEGO Mindstorms EV3で目指せロボコン!

実践ロボットプログラミング 第2版: LEGO Mindstorms EV3で目指せロボコン!

藤吉 弘亘

近代科学社

好評を得ている第1版を基にEV3に対応!! 本書は、はじめに目標となるアルゴリズムをPADで表して、それに対応するC言語プログラム,GUIプログラムを併記して立体的に学べるよう工夫。初心者から上級者まで、3つのソースを相互参照しながら、ロボットプログラミングを効率よくマスターできる。

PDF EPUB固定
SALE 2,640円 1,848円 (税込)

【注意】本書のEPUB版は固定レイアウト型になっております。文字の大きさの変更や検索、引用などはお使いいただけません。画面の大きい端末でご利用ください。

ギフト用に購入

書籍情報

著者: 藤吉 弘亘
共著者: , 藤井 隆司, 鈴木 裕利, 石井 成郎

発行日: 2018-05-29
最終更新日: 2018-05-29

バージョン: 1.0.0
ページ数: 196ページ(PDF版換算)ページ
対応フォーマット: PDF, EPUB
出版社: 近代科学社

対象読者

ロボット,LEGO,Mindstorms,EV3,プログラミングに興味がある人

著者について
藤吉 弘亘

1997年 中部大学大学院博士後期課程満期退学,博士(工学)
1997年 米カーネギーメロン大学ロボット工学研究所Postdoctoral Fellow
2000年 中部大学工学部講師
2004年 中部大学工学部准教授
2006年 米カーネギーメロン大学ロボット工学研究所客員研究員
2010年 中部大学工学部教授
ロボットビジョン,計算機視覚,動画像処理,パターン認識・理解の研究に従事.

目次

まえがき

目次

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関数

索引