ロボットプログラミング

科目基礎情報

学校 津山工業高等専門学校 開講年度 令和05年度 (2023年度)
授業科目 ロボットプログラミング
科目番号 0163 科目区分 専門 / 選択
授業形態 講義 単位の種別と単位数 学修単位: 2
開設学科 総合理工学科(機械システム系) 対象学年 5
開設期 前期 週時間数 2
教科書/教材 教科書:Cによる数値計算法入門(森北出版)
担当教員 細谷 和範

到達目標

学習目的:ロボットに様々な機能を実装するためには,コンピュータプログラミングが必要となる。本講義でははじめにプログラミングの基礎をまなび,続いて補間,数値積分,連立方程式,微分方程式の数値的計算手法を学ぶとともに,簡単な工学問題を解くために必要なプログラミング能力を養う。

到達目標
1.変数とデータ型の概念を理解できる。
2.代入や演算子の概念を理解できる。
3.コンピュータを用いて数値計算に関連した問題を解くことができる。

ルーブリック

不可
評価項目1変数とデータ型の概念を理解でき,問題解決のために使いこなすことができる。変数とデータ型の概念を理解でき、問題解決の方法を模索することができる。変数とデータ型の概念を理解できる。左記に達していない。
評価項目2代入や演算子の概念を理解でき,使いこなすことができる。代入や演算子の概念を理解でき,問題解決の方法を模索することができる。代入や演算子の概念を理解できる。左記に達していない。
評価項目3コンピュータを用いて数値計算に関連した問題を解くことができ,応用することができる。コンピュータを用いて数値計算に関連した問題を解くことができる。コンピュータを用いて数値計算に関連した問題を解くための基礎を理解している。左記に達していない。

学科の到達目標項目との関係

教育方法等

概要:
一般・専門の別:専門 
学習の分野:エネルギー・計測と 制御
基礎となる学問分野:工学/機械工学
学習教育目標との関連:本科目は「②確かな基礎科学の知識修得,③基盤となる専門性の深化」に相当する科目である。
授業の概要:ロボット技術を学ぶ上でコンピュータプログラミングは欠かせない。本講義の前半は力学シミュレーターを用いてロボットプログラミングに必要な数値的計算方法を学ぶ。中盤はインタプリタ言語を用いて基本的な文法を簡単な例題を交えながら解説していく。実験のデータ処理や制御,数値解析の道具として使うための基礎知識を習得する。後半は工学系計算の基本となっている項目(非線形方程式,補間,数値積分,連立方程式,微分方程式)の数値計算手法を学習する。
授業の進め方・方法:
授業の方法:各計算アルゴリズムを例題提示し,その応用問題をプログラムの改良によって解かせることで理解させる。プログラミング言語はMATLAB互換のインタプリタ言語を使用する。
成績評価方法:演習課題にて評価を行う。なお必要に応じて追加課題を出す。
注意点:
履修上の注意:ロボティクスプログラム選択者は履修(欠席時間数が所定授業時間数の3分の1以下)が必須である。また,本科目は「授業時間外の学修を必要とする科目」である。当該授業時間と授業時間外の学修を合わせて,1単位あたり45時間の学修が必要である。授業時間外の学修については,担当教員の指示に従うこと。
基礎科目:総合理工基礎(全系1年),情報リテラシー(全1),計算科学(全系3年),メカトロニクスI(3年),メカトロニクスII(4年),ロボット制御(4年),センサ工学(4年),ロボット創造演習(4年),ロボット工学概論(4年)など
関連科目:専門科目全般(全系3年以降)
事前に行う準備学習として,関連する力学や計算法の予習を必ず行うこと。
受講上のアドバイス:人が使う言語に比べてコンピュータ言語は極めて貧困な単語しかなく,短期間で誰でも覚えられる言葉である。この言葉を適切に使いこなすためには,プログラミング作法を習得する必要があるので,多くのプログラムを自分で作ってみることが上達の早道である。遅刻について,授業開始25分以内であれば遅刻とし,遅刻3回で1欠課とする。

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業
履修選択

授業計画

授業内容 週ごとの到達目標
前期
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週 答案返却と解説

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学機械系分野情報処理プログラムを実行するための手順を理解し、操作できる。4
定数と変数を説明できる。4
整数型、実数型、文字型などのデータ型を説明できる。4
演算子の種類と優先順位を理解し、適用できる。4
算術演算および比較演算のプログラムを作成できる。4
データを入力し、結果を出力するプログラムを作成できる。4
条件判断プログラムを作成できる。4
繰り返し処理プログラムを作成できる。4
一次元配列を使ったプログラムを作成できる。4

評価割合

試験発表相互評価演習態度課題その他合計
総合評価割合00001000100
基礎的能力0000000
専門的能力00001000100
分野横断的能力0000000