京大物工の戦い方(機シス3回生編)

lada(X:@KUasakute)と申します。京都大学工学部物理工学科機械システム学コース新4回生(2023年4月入学)です。電電でこんな記事を見つけて面白そうだったので、2023年から物工でも書いています。

実際どう?

ここで特定の専門科目を落とすと留年(リーチ)になります。正直書くことがない。

授業

前期

 
1 設計工学1     制御工学1  
2   工業数学F2 知能システム工学 流体力学2 統計熱力学
3     材料基礎学1   計測学
4 機械設計演習1   機械システム工学実験1   機械設計演習1
5 機械設計演習1   機械システム工学実験1   機械設計演習1

後期

 
1     振動工学   伝熱工学
2   設計工学2 生産工学   工業数学F3
3   連続体力学 制御工学2    
4     生体機械工学 機械システム工学実験3  
5       機械システム工学実験3  

後期集中

機械システム学セミナー(メカニズム・機構・からくりの分解と創造/機械要素を組み込んだ簡易実験装置の設計製作)

補足

機械システム学セミナー

なんかいろいろあって選べるやつです。機構のやつを選んだら自分含め3/4が京大機械研究会(ロボコンとかやってるサークル)でした。

おわりに

勉強はちゃんとやりましょう。質問はXのDMまで。

京大物工の戦い方(機シス2回生編)

lada(X:@KUasakute)と申します。京都大学工学部物理工学科機械システム学コース新3回生(2023年4月入学)です。電電でこんな記事見つけて面白そうだったので、去年から物工でも書いています。

実際どう?

最低限の授業だけ考えた場合、後期は死ぬほど暇です。前期もそんな忙しくないので、1年通して楽ですね。ですが新規メンバーである本格的な専門がちゃんと難しいうえに下駄が全共ほどは見込めない(あるにはある)ので、真面目にやらないと落とします。コース配属が終わって気が抜けますが、頑張りましょう。自分は1年中サボっていたせいで大変なことになりました。授業には、出よう

授業

時間割は以下のような感じです。一部クラス指定を無視したり、前期は上回履修をしたりしています。

前期

 
1 確率論基礎 応用電磁気学 材料力学1 制御工学1 熱力学1
2 計算機数学 電磁気学続論 工業力学A    
3 機械設計製作 外国文献研究(全・英)-E1:冷戦と米ソ科学技術開発競争ー核から宇宙開発まで   人文地理学 計測学
4   振動・波動論     微分積分学続論Ⅰーベクトル解析
5   電気回路基礎論      

後期

 
1   熱力学2     数理統計
2   流体力学1     材料力学2
3   工業数学F1      
4       テストテイキングⅡ 微分積分学続論Ⅱー微分方程式
5     機械製作実習 メディアアート  

補足

1回の線形・微積と異なり、2回の全共の数学はクラス指定の縛りが緩いです(1回の物理と同じで、あくまで『推奨』)。

電気回路基礎論

電電の専門です。物工では本来宇宙の配当ですが、機シスの電気系科目であるエレクトロニクス入門があまり好みの内容をやらなさそうなので代わりに取りました。卒業単位にはなるはずです。電電では1回生配当ということもあり、一生高校物理+αの電気回路をやっていました。エレクトロニクス入門履修者から聞いたカリキュラムが機械系にとっては妥当そうなことを考えると、機シスならエレクトロニクス入門の方がいいと思います。試験ないし。

とか言っていたら2026年からエレクトロニクス入門は情報学科の専門科目にもなり計算機要素が増え、成績は試験一発になるらしい。まあそれでも機械系には電気回路基礎論よりは向いてそう。

機械製作実習

初の実習系専門科目です。時間割的には後期の授業なのですが、内容と時期は以下のような感じです。

  • 工場見学(6月)
  • スマホスタンド製作・エンジン分解in桂キャンパス(8月)(メイン)
  • 安全講義(9月)
  • ものづくりセミナー(11~12月)(数回)

……通年でよくない?

上回履修

応用電磁気学

電磁波を主にやります。少なくともskm先生の方(例年は学番奇数)は、教員が電磁気学続論との同時履修を推奨しているくらいにはどうにかなります。上回履修においては学生番号の偶奇を気にしなくてよいので、学番奇数の方をお勧めします。

工業力学A

解析力学(ラグランジュ方程式とか)をやります。1回後期に力学続論を取っていれば事前知識的には大丈夫です。剛体のくだり(回転運動方程式とか慣性モーメントの求め方とか)をちゃんと復習しておきましょう。

制御工学1

制御工学(何かを制御することについての学問)の古典制御(説明しづらい)という分野をやります。特に事前知識はいりませんが、少なくともhsd先生の方は試験を頑張らないと普通に落とします(体験談)。

(制御工学2)

後期(水3)です。制御工学の現代制御(これまた説明しづらい)をやります。行列計算が問題なくこなせて基本的な微分方程式が解ければ大丈夫です。古典制御との関連もしばしば出てくるので、制御工学1は受けておいた方がいいかも。

(振動工学)

これまた後期(水1)です。振動をやります。初回授業に行ったら「基本的な微分方程式が解けることを前提とする」って言われてやめました。

おわりに

勉強はちゃんとやりましょう。

ロボコンにおけるWSL2での開発

この記事は、学ロボAdvent Calendar 2024の12日目の記事です。

学ロボ Advent Calendar 2024 - Adventar

 

ladaです。昨年のアドカレで仮想環境の話をしていました。

lada.hatenablog.jp

あれから1年経って、結局Windows+WSL2の構成が一番手軽ではないかと考えたのでそれについて書きたいと思います。もう1年経つんですね……。

自分の環境

ホストOS:Windows 11 Home edition

CPU:AMD Ryzen 7 5825U with Radeon Graphics 2.00 GHz

RAM:16GB

ゲストOS:Ubuntu 22.04

STM32ユーザ向けおすすめ構成

CubeIDE:Windows

ROS 2:Ubuntu

WSL2の利点

よくある仮想環境と違ってPCのスペックをフルに使えるので軽いです。VMWareでCubeIDEを動かしたけど重すぎてキレてた頃を思い出します。

あと最近外部との通信もできるようになったみたいですね(大変そうだけど)。

WSL2の欠点

WSL上のUbuntuだけで完結しないこと(外部デバイスの利用や通信)が、可能ではあるもののとかく面倒です。マイコンなどの適当なUSBデバイスを使うのも後述する手間がかかるのに、カメラとかUSB-CANともなるとカーネルのビルドをしないと使えないみたいですね。

また、一部GUIの描画ができず使えない場合があります。自分はCubeIDEとDynamixel Wizardで起こりました。ライブラリ入れまくればどうにかなるのかもしれませんが、諦めてWindowsに入れることで解決(?)しています。Ubuntuへの繋ぎ変えも慣れれば大した手間ではないです。ちなみにROS 2関連はほぼ大丈夫。

実際どうするの?

WSL使えるようにしてUbuntuぶち込んだら、よくやるみたいにROS 2を導入しましょう。

普通のUSBデバイス(マイコンなど)ならこのページの通りにすれば使えます。

learn.microsoft.com

自分がSTM32を使う場合は、

  1. Windows上に入れたCubeIDEで書き込み
  2. 上のページの通りにUbuntuに繋ぎ替え
  3. Ubuntu上のROS 2で走らせたmicro-rosエージェントで使う

というふうにしています。

カメラとかは調べたらいろいろ出てくるのでその通りにすればいいんじゃないでしょうか(やってない)。

おわりに

この記事いる?

ロボコニストは全人類デュアルブート or Windows消去してる気がするので逆張りで書いてみました。来年こそはもっとまともな記事を書きたい。

WSL2でCubeIDEを使ってみた話

ネットに日本語の情報が落ちてないので書いてみます。有識者の情報求む。

環境

PC:ThinkBook 14 G4 ABA

ホストOS:Windos11 Home

ゲストOS:Ubuntu22.04.3

WSL2の導入・USBデバイスを使えるようにする方法は公式ドキュメント参照。

qiita.com

↑この記事のコメント欄にあることをやったら起動・ビルドはいけた。書き込みに関してのポイントは以下。

  • Windowsで作られたプロジェクトを扱う際はDebug Configurationの当該プロジェクトに関する部分を削除してから書き込む
  • ST-Linkのアップデートが要求される場合は、アップデート開始後ST-Linkの認識が切れたらその都度すぐに接続し直す必要がある

 

京大物工の戦い方(1回生編)

lada(X:@KUasakute)と申します。京都大学工学部物理工学科機械システム学コース新2回生(2023年4月入学)です。電電でこんな記事見つけて面白そうだったので物工でも書いてみます。

実際どう?

全学共通科目の手数が多いうえ、コース配属(後述)の都合上それら全体である程度好成績を取らなければならないことを考えると、やや忙しめといったところでしょうか。3回生よりはマシみたいなのが怖いですね。

コース配属

概説

たぶんほぼすべての物工1回生の最大の関心事です。

この学科には、

  • 機械システム学コース(機シス)
  • 宇宙基礎工学コース(宇宙)
  • 原子核工学コース(原子核)
  • エネルギー応用工学コース(エネ応)
  • 材料科学コース(材料)

という5つのコースがあり、希望と1回生での成績に応じて2回生の初めに配属されます(1回生終了時の総取得単位数が40未満だと完全ランダムですが)。

成績に関しては、具体的には配属点という点数が用いられ、これが高い順に希望が通ります。

  • 配属点は、(単位を取得した授業の単位数×その授業の素点)の総和を総取得単位数で割ったもの
  • 物理学実験(物実)および基礎化学実験(化実)は、素点を2倍にして計算する

これらからわかる配属点についての特記事項は次のようなものが挙げられます。

  • 授業の素点は100点がMAXだが、2番目の規定により実験は200点満点になるので、配属点は100点を超える可能性がある
  • 変にギリギリで単位を取るよりは、いっそ落とした方が配属点が高くなる(GPAとは異なり単位を取得した授業のみ計算するため)

コースと配属点

希望のコースに配属されるためには配属点を高くするとよいわけですが、そもそもどれだけ取ればよいのでしょうか?大学からボーダーなどが公開されるわけではないので伝聞等によるものになってしまいますが、次のようなことは言えそうです。

機シス:完全オンライン時代の2020年度は83点ほどがボーダーだったらしいので、対面ならこれよりは低いはず。2023年度は75点で通った人がいる。

宇宙:定員が少ないこともあり正直よくわからない。2023年度は諸事情(詳述は避けるが、不祥事とかではない)で相当低かったらしい。2025年度も機シスよりボーダーが低かったよう。

エネ応:2023年度は材料よりボーダーが高かったとか(学科LINEでの第一希望アンケートでも割と票が集まってた)

材料・原子核:たぶんフリー

配属点と実験

これを踏まえてどのように高い配属点を取るかですが、普通は

  • 授業に真面目に取り組む
  • 点数の取りづらい授業を避ける
  • 点数を取れなさそうならあえて落単する
  • 実験を取る

というふうにします。前3つは正しいでしょうが、最後に関しては本当に必要か悩ましく感じます。正直な話、少なくとも宇宙以外なら実験は取らなくてもどうにかなると思います

学科ガイダンスで取るよう勧められます(「実験を取ってほしいから点数を2倍にしている」と言われました)し、周囲でどちらも取っていない人はただの1人も見たことがありませんが、実は自分はどちらも取っていません。それでも最初に書いたように機シスに内定しています(専門科目は詳細な点数が出ないので確定はしませんが、配属点は85点程度だと思われます)。このことから、コース配属のみについて考えれば必ずしも取る必要はないのではないでしょうか。

それでも取る意味があるとすれば、

  • 精神の安寧
  • 交友関係
  • 専門科目の実験・実習に向けた練習

といったところでしょうか。

1番目については実験で80以上取れていれば機シス志望でも安心できると思います。正直試験~成績発表の期間はメンタル的に少ししんどかったので、意味はありそうです。

2番目はたまに挙げられるメリットですが、実際どうなんでしょう。自分は学科に友達がいないのですが、もし取ってたら何かが変わった可能性は無きにしも非ずです。

3番目は現時点では本当にわかりません。これから専門科目を受けて意見が生まれたら追記するかも。

  • 機械製作実習:一切関係ない(2025/2/2追記)
  • 機械システム工学実験:レポートの書き方がよくわかってないのは辛い(2026/2/18追記)

研究室配属を見据えて

3回生の終わりに研究室配属があります。機シスの研究室配属は、各研究室を志望する学生間で話し合って決定方法を決定するのですが、だいたい成績勝負になります。そこで自然群の成績が10個ほど使われる可能性があるため、特に自然群はA以上を狙いましょう

授業

時間割は以下のような感じです。模範的物工生のそれかはだいぶ怪しいです。

前期

 
1 情報基礎演習[工学部]   地域地理学 物理学基礎論A 英語リーディング
2         線形代数学(講義・演義)A/微分積分学(講義・演義)A
3 英語ライティング・リスニングA 線形代数学(講義・演義)A 微分積分学(講義・演義)A   論理学Ⅰ
4   自然現象と数学 基礎物理化学(熱力学)   ロシア語ⅠA(演習)
5 経済学Ⅰ ロシア語ⅠA(文法) 物理工学総論A   自然地理学

前期集中

ILASセミナー(洛南の歴史景観と河川環境巡検)

後期

 
1       物理学基礎論B 英語リーディング
2   国際法入門     線形代数学(講義・演義)B/微分積分学(講義・演義)B
3 英語ライティング・リスニングB 線形代数学(講義・演義)B 微分積分学(講義・演義)B ロシア語ⅠB(文法) 論理学Ⅱ
4 情報基礎[工学部] 力学続論 基礎物理化学(量子論)   ロシア語ⅠB(演習)
5     ILAS Seminer E2 (Physics of Life) 物理工学総論B  

補足

  • 火3・水3はそれぞれの講義、金2はそれぞれの演義(演習)を週替わりで行う

  • 力学続論は物工では本来2回生配当

物工生の多くが取るような授業となると座学と前述の実験しかなく、自分は実験を取らなかったので書くことがないのですが、印象的な授業については書いておきます。

線形代数学(講義・演義)A/B

ベクトルとかから発展する線形代数という分野をやります。この授業もそうですが、基本的に前期にAを、後期にBをやります。

なぜこれを取り上げたかと言うと、講義がtko先生というRIMS(数理解析研究所、京大のすごいとこ)の研究員に当たる場合があり(例年だと9・12組)(自分がそうでした)、その場合授業・授業資料・期末試験がかなり難しくなるからです。しかしながらどうせ周囲もできないので逆に稼ぎどころという説はあり、自分は前期後期どちらも期末が3割を割っていたはずなのにA(前期87後期94)を取れました。これが謎の力です。実際線形代数学・微分積分学は各3単位ゆえコース配属における重要性が高いことを考えると、この教員に当たった場合はラッキーだと思ってもいいかもしれません。少なくとも演義には真面目に取り組み、少しでも多く点数を盛っておきましょう。

力学続論

剛体の力学などをやります。前述の通り物工では(なぜか)2回生配当ですが、悪いことは言いません。機シス志望なら1回生のうちに取っておきましょう。これを取っておくと2回前期で専門科目を1つ上回履修できるようになります。

物理工学総論A/B

唯一の1回生配当の専門科目です。各コースからつながる研究室でやっている内容を紹介することでコースの希望を決める一助にしてもらおうという授業です。こいつだけは前期にAとBのどちらが開講されるか年度によって異なります。意味が分かりません。

コース配属的視点から考えると、成績がだいたいレポートで決まることから不透明で勘定に入れづらいです。おとなしく全学共通科目で稼ぎましょう。

なお、2回生以上でこの授業の単位を取得しても卒業単位にカウントされないという罠があります。他の専門科目はしんどいものが多いですし、絶対に落とさないようにしましょう。出席して(必須です)課題を出せばB以上は出ます。

おわりに

クソ記事書くのって楽しいですね。後世の資料代わりにでもなるといいなと思います。何か質問等おありの方はいつでもXのDMにどうぞ。

【学ロボAC2023】サークル内での基板管理をしようとする話

 この記事は、学ロボ Advent Calendar 2023の24日目の記事です。機械研の同期が入ったことにより、1回生/1年生が私だけではなくなりました。嬉しいですね。

adventar.org

前書き

 私が所属している京大機械研は、資材置き場兼加工場である工作室の治安がはっきり言って終わり申し上げています。狭い場所に無秩序にたくさん物があると大変ですね。

 これには私を含む制御班も苦労させられているところで、例えば必要な基板が見当たらないということが日常茶飯事です。これをどうにかしようとサークル内で基板管理プロジェクト(?)を立ち上げたので、この記事ではそれについて書きます。

やったこと

 まずスプレッドシートについてですが、基板の種類ごとにシートを分けています(使用する基板の種類は十分少ないので)。項目は

  • 基板の種類ごとの通し番号
  • CANが通じるか/電源を供給できるか
  • 使っているプロジェクト(ex:学ロボ・春ロボ)
  • ついているロボットorある場所
  • 動作確認日

という感じです。これらの項目を設けることで、その基板の所在や使用可否が確認できるようになっています。

 また、Slackのチャンネルには質問や緊急の情報を書き込んでもらうことを想定しています。

これからやること

  • 継続的に利用してもらえるようにする(抽象的……)
  • 燃えた基板の扱いを考える
  • 基板以外にも拡張する

 この手のものは継続利用してもらうのが最大の壁でしょうね。対策として煩雑な作業を削減しました。具体的には、各基板を最初にチェックするとき以外現実での作業を無くし、スプレッドシートへの書き込みも所在地の更新以外頻繁にする必要がないようにしました。他にできることとしては定期的な呼びかけとかでしょうか。Slackのリマインダー機能なんかは活用できそう。前述の基板管理チャンネルで毎日@channnelすることになるかも……。

 燃えた基板はどうしましょうね……。通し番号の管理や燃えた数の把握の観点から削除はよろしくないでしょうし、シート上で非表示にするあたりが妥当でしょうか。

 基板だけでなく他の資材も管理できると嬉しいですね。ハード班が使っている材料は加工が頻繁に発生する以上厳しいですが、マイコンやアクチュエータ、便利グッズは需要がありそうなところかもしれません。

終わりに

 正直ちゃんと運用できるかわかりませんが、来年度の工作室整備係に決まったことですし管理に邁進していこうと思います。他のサークルがどのように資材を管理しているか、コメントなどで教えていただけると大変喜びます。

 お読みいただきありがとうございました。

【学ロボAC2023】【新人制御班向け】VMware+Ubuntuのお気持ち表明

 この記事は、学ロボ Advent Calendar 2023の16日目の記事です。私しか1回生/1年生がいませんね。恐ろしや恐ろしや……。

adventar.org

 京大機械研で新人制御班をやっているladaです。VMwareUbuntuを入れて少し使ってみたので、今回はその使用感について書きます。短文です。

環境

ホストOS:Windows 11 Home edition

CPU:AMD Ryzen 7 5825U with Radeon Graphics 2.00 GHz

RAM:16GB

ゲストOS:Ubuntu 22.04

仮想化ソフトウェア:VMware Workstation 17 Player 

VMwareに至るまで

 機械研の先輩方はLinuxの導入時にみなデュアルブートを選択しており、サークル内に仮想環境のノウハウがない状態でした。しかしWindowsごと吹っ飛ぶ可能性があるデュアルブート心理的に抵抗があるということで、現1回生はとりあえず仮想環境を使ってみようということになりました。旗振り役の1回生は結局デュアルブートしましたけど。

 じゃあ仮想化の手段はどうするかということですが、Dockerは外部との通信がしづらい、WSLもなんかまずいという話があったのでVMwareを選択しました。

使ってみる

 いくつかソフトウェアを使ってみましたが、MATLABやCubeIDEは死ぬほど重くて使い物にならない(推奨最大までメモリを渡したのですが……。)一方で、VSCodeは普通に使えました(競プロのコンテストも問題なくこなせました)。特筆すべき点は以下でしょうか。

  • Ignition Gazeboが動かない(らしい)

 Ignition Gazeboは新しいロボットシミュレータです。制御班にとってこれが動かないのはかなりの痛手ではないでしょうか。前述の旗振り役はこれが決め手でデュアルブートしたそうです。ちなみに古いGazeboはおまじないをする(bashrcにexport SVGA_VGPU10=0)と動きます。

 PythonOpenCV(画像処理用のライブラリ)を叩いたら、カメラの映像を呼び出すコード(Windowsでは問題なく動く)を実行しても一生映像が出てこなくて真顔になりました。本来ホストOSから切断したらゲストOSで使えるはずなのですが……。これも画像認識を使おうとする場合大きな痛手になりますね。

結論

 デュアルブートすべきみたいですね(自明)。まあPCのスペックをフルに使えないというのはなかなか苦しいものがあります。今のところはROSなどを触っていないのでWindowsで事足りているのですが、私ももうそろそろデュアルブートしようかなと思います。お読みいただきありがとうございました。