到達目標
学習目的:ロボットに様々な機能を実装するためには,コンピュータプログラミングが必要となる。本講義でははじめにプログラミングの基礎をまなび,続いて補間,数値積分,連立方程式,微分方程式の数値的計算手法を学ぶとともに,簡単な工学問題を解くために必要なプログラミング能力を養う。
到達目標
1.変数とデータ型の概念を理解できる。
2.代入や演算子の概念を理解できる。
3.コンピュータを用いて数値計算に関連した問題を解くことができる。
ルーブリック
| 優 | 良 | 可 | 不可 |
評価項目1 | 変数とデータ型の概念を理解でき,問題解決のために使いこなすことができる。 | 変数とデータ型の概念を理解でき、問題解決の方法を模索することができる。 | 変数とデータ型の概念を理解できる。 | 左記に達していない。 |
評価項目2 | 代入や演算子の概念を理解でき,使いこなすことができる。 | 代入や演算子の概念を理解でき,問題解決の方法を模索することができる。 | 代入や演算子の概念を理解できる。 | 左記に達していない。 |
評価項目3 | コンピュータを用いて数値計算に関連した問題を解くことができ,応用することができる。 | コンピュータを用いて数値計算に関連した問題を解くことができる。 | コンピュータを用いて数値計算に関連した問題を解くための基礎を理解している。 | 左記に達していない。 |
学科の到達目標項目との関係
教育方法等
概要:
※実務との関係:この科目は、企業において技術開発を担当していた教員が,その経験を活かし,プログラミングとデータ解析に関する能力を養うことを目的として,講義形式で授業を行う。
一般・専門の別:専門 学習の分野:エネルギー・計測と 制御
基礎となる学問分野:工学/機械工学
学習教育目標との関連:本科目は「②確かな基礎科学の知識修得,③基盤となる専門性の深化」に相当する科目である。
授業の概要:ロボット技術を学ぶ上でコンピュータプログラミングは欠かせない。本講義の前半は力学シミュレーターを用いてロボットプログラミングに必要な数値的計算方法を学ぶ。中盤はインタプリタ言語を用いて基本的な文法を簡単な例題を交えながら解説していく。実験のデータ処理や制御,数値解析の道具として使うための基礎知識を習得する。後半は工学系計算の基本となっている項目(非線形方程式,補間,数値積分,連立方程式,微分方程式)の数値計算手法を学習する。
授業の進め方・方法:
授業の方法:各計算アルゴリズムを例題提示し,その応用問題をプログラムの改良によって解かせることで理解させる。プログラミング言語はMATLAB互換のインタプリタ言語を使用する。
成績評価方法:定期試験(50%)および演習課題(50%)にて評価を行う。なお必要に応じて再試験を実施する。
注意点:
履修上の注意:ロボティクスプログラム選択者は履修(欠席時間数が所定授業時間数の3分の1以下)が必須である。また,本科目は「授業時間外の学修を必要とする科目」である。当該授業時間と授業時間外の学修を合わせて,1単位あたり45時間の学修が必要である。授業時間外の学修については,担当教員の指示に従うこと。
基礎科目:総合理工基礎(全系1年),情報リテラシー(全1),計算科学(全系3年),メカトロニクスI(3年),メカトロニクスII(4年),ロボット制御(4年),センサ工学(4年),ロボット創造演習(4年),ロボット工学概論(4年)など
関連科目:専門科目全般(全系3年以降)
事前に行う準備学習として,関連する力学や計算法の予習を必ず行うこと。
受講上のアドバイス:人が使う言語に比べてコンピュータ言語は極めて貧困な単語しかなく,短期間で誰でも覚えられる言葉である。この言葉を適切に使いこなすためには,プログラミング作法を習得する必要があるので,多くのプログラムを自分で作ってみることが上達の早道である。遅刻について,授業開始25分以内であれば遅刻とし,遅刻3回で1欠課とする。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
科目の位置づけ,学習内容,方法に関するガイダンス,演習室利用の説明 |
科目の位置づけを理解できる。
|
2週 |
力学シミュレーションによる演習:ロボットシミュレーションの概念の理解
|
ロボットシミュレーションの概念の理解
|
3週 |
力学シミュレーションによる演習:ロボットシミュレーションの概念の理解
|
物理エンジンを用いた力学に関する課題に取り組み,解を求めることができる。
|
4週 |
インタプリタ言語を用いたプログラムの基本操作と基礎知識〔基本データ型〕
|
MATLAB互換のアプリケーションを用いたプログラミングの基礎〔基本データ型〕について理解できる。
|
5週 |
インタプリタ言語を用いたプログラムの基礎知識〔入出力〕
|
MATLAB互換のアプリケーションを用いたプログラミングの基礎〔入出力〕について理解できる。
|
6週 |
データと演算子〔演算子の種類〕〔演算子の取り扱い〕
|
データと演算子〔演算子の種類〕〔演算子の取り扱い〕について理解できる。
|
7週 |
演算子を応用したプログラミング
|
演算子を応用したプログラミングを行うことができる。
|
8週 |
中間試験 |
レポートにより評価する
|
2ndQ |
9週 |
レポート解説 |
|
10週 |
分岐と繰り返し〔if文〕
|
分岐と繰り返し〔if文〕について理解できる。
|
11週 |
連立一次方程式〔LU分解(1)〕,演習:LU分解法のプログラムの作成と実行
|
LU分解法の原理とその特性を理解し目的のプログラムを作成・実行できる。
|
12週 |
数値補間法〔スプライン補間,カーブフィッティング,FFT〕
|
数値補間法〔スプライン補間,カーブフィッティング,FFT〕のプログラムを作成・実行できる。
|
13週 |
数値補間法〔スプライン補間,カーブフィッティング,FFT〕
|
数値補間法〔スプライン補間,カーブフィッティング,FFT〕のプログラムを作成・実行できる。
|
14週 |
非線形方程式の解法〔不動点法,2分法,ニュートン法〕
|
非線形方程式の解法〔不動点法,2分法,ニュートン法〕のプログラムを作成・実行できる。
|
15週 |
前期末試験 |
|
16週 |
答案返却と解説 |
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| 試験 | 発表 | 相互評価 | 演習態度 | 課題 | その他 | 合計 |
総合評価割合 | 50 | 0 | 0 | 0 | 50 | 0 | 100 |
基礎的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
専門的能力 | 50 | 0 | 0 | 0 | 50 | 0 | 100 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |