ic121241’s blog

書くものの系統はバラバラ

知るということは、その後の人生における楽しみを増やすということ

今日はICT委員会ではLTが開催された。プロコンのチームごとに結果発表やプロダクトの説明などをした。

それに付随して1年生がプロコンというものを肌で感じとってきた体験談を語ってくれた。

 

続きを読む

プログラミングコンテストなどで筋肉部門に参加しないための方法

procon28お疲れ様でした! 沖縄高専は特別賞1つと敢闘賞が3つもらえました!

今回のプロコンも, 全力で挑んで全力で楽しんで, 企業の方とも全力でお話してきました.

今回のブログも毎回大会があるものにもれず,「大会はブログを書くまで」というM教授の金言に従い, ブログを書いていこうと思います.

 

 

全体的に楽しかったプロコンですが, その楽しさはそれまでに苦しんだり頑張ってきた

対価だと思ってます.特に今年苦しかった事があります. 去年から何度も, 「筋肉部門はもう参加したくない!!!!」と言ってたのに, 今年も筋肉部門に参加してしまいました.

 

筋肉部門とは

そもそも沖縄高専ICTに所属していないとプロコン筋肉部門の意味がわからないかともいますので, 筋肉部門について説明していきます.
プロコン筋肉部門は, 頭脳を競い合うプロコンに対して悲しくも筋肉を大活躍させてしまう事を言います. 主には荷物持ちが参加することになります(そう, 僕は去年から連続2年で大きな荷物を, 自分の荷物に加えて沖縄高専から参加しています).
去年は飛行機の遅れが原因で, プロジェクターが二台入ったダンボールをカートに固定する暇がなく, カートとダンボールを手で持って空港から新幹線までダッシュしました.今年はドローンが2機入った箱をカートに上手く固定できずに, 結局カートを活かせず手で持ちました.

去年の主な原因は運の悪さ, 今年の主な原因は開発が遅かった, と説明することができます.
続いてこれらについて反省していきます.

 

procon27 筋肉部門反省


去年は主に飛行機の遅れが原因で外的要因が大きいことが特徴です. 飛行機のアクシデントは必ずついて回るもので, 飛行機発が遅れるのは最たるものではないでしょうか.
これを回避する提案を次に示します

  • 重たい荷物は分割して何人かに持たせる
  • そもそもプロジェクターなどの重たいものは郵送する
  • 飛行機の次の移動までの時間を(可能であれば)2時間は余裕をもたせる

こうすることで実質的な荷物持ちが解消されたり, 飛行機が遅れても安心して到着後の荷造りができます.
飛行機が時間通りに着いた場合はすこぶる暇ですね, 空港のソファーでゆっくりしましょう.

 

procon28 筋肉部門反省


今年は主に自チームの開発がギリギリまで行われており, 結局発送できず手荷物になったのが原因です.つまり, 次のことをすれば回避できます.

  •  開発をさっさと終わらす
  •  プロダクトで作るものを手のひらサイズ以内に収める
  •  (物理的に)軽いプロダクトを作る

こうすることで重い荷物は自分のものだけになり, 筋肉部門参加は避けられます.

 

本日言いたいこと

沖縄高専がプロコンのプロダクト完成が遅いのは年々言われていることですが, 今年のうちのチームは近年特に酷かったです.
筋肉部門に参加しないためとか言いましたけど, そもそもプロダクトはさっさと完成させて, 動作も完璧にしてとっととホテルか会場に送りつけるのが最安牌です.

しかしプロコンは毎年体力を消耗するイベントで, 外的要因によるものが多すぎます.たとえば会場とホテルの距離が遠く体力を使う, 会場の空調が悪くて体力を使う, デスマで体力を使う, 緊張しすぎて体力を使う.
上げればキリがありませんが, これについて言えることは一つです.

沖縄高専ICT委員会は筋トレをしてもっと体力つけて下さい.

 


反省を活かし自分が次やるべきこと


プロコンが終わってもまだやることは残っています.プロコンが終わったからと言ってボケッとする暇はありません.
やるべきことリストを書いておきましょう. きっと未来の自分が見て実行するでしょう.

  • 筋トレをして体力の向上
  • 勉強してプログラミング能力の向上
  • 勉強して卒業研究を終わらせる
  • ていうかブログは月一以上で更新しろ

 

 

本日のブログは以上です.

電子工作をするときにかならず使うソフト

最近久々にはんだ付けができて楽しい人です.はんだ付けってテンション上がりますよね.あのヤニの匂いとか最高で,体に悪くなければ毎日でもはんだ付けしたいですね.

さて,今回作成している回路は何の変哲もない12Vを5Vに落とすだけの簡単な回路です.こういうときって三端子レギュレータの出番ですよね~.今回の回路がいつもと違う点は,「三端子レギュレータをフルパワーで使う(かも知れない)」というところです.初めて三端子レギュレータに放熱板を使う設計をしました.

 

初めての試みをするときって必ず回路図を手で作り,さらに「実体配線図」を書いてみてハンダするスペースが十分科確認しますよね.皆さんは実体配線図を描くときは何を使っていますか?ナウな感じのある「Fritzing」とかでしょうか?私はちょっと「Fritzing」が使いづらいと感じていますので,「別のもの」を使っています.

今日はこちらを紹介していきましょう!

 

というわけで今回紹介するのはこちら

PasS

続きを読む

通学時間が20倍になってわかったこと

最近ようやく夏休みが始まりました!寮獄から抜け出していざバケーション!

というわけにも行かず、夏休みも学校で作業です。授業日課の場合は僕は寮から歩いて5分で教室に着くのですが、夏休み中はなぜか寮から締め出される運命にある僕達寮生は、自宅から車で学校に通うのでした。

 

通勤時間がなんと「20」倍

続きを読む

ハードウェアがソフトウェアよりも遅くなる瞬間

「専用ハードウェアは同じ計算をするソフトウェアよりも必ず早い」

普通そうだと思いませんか?私も先日まで思っていました。結論を言うと、早いのは間違いないのですが、「設計を誤るとハードウェアを使うと逆に遅くなる例がある」ということです。今日はそのことを皆さんにぜひお伝えしたいです。

最近SDSoCの話をした

このブログより2つ遡ったブログで、SDSoCについてお話しました。

ic121241.hatenablog.com

SDSoCというのは、FPGAで有名なあのXilinxが配布しているIDEのことです。何ができるかというと、Xilinx社が発売しているFPGA評価ボードを扱うためのものです。

具体的に言うと、C言語でソースを書いてそのコードをHW/SW協調設計にてFPGAで高速化できる!といった素晴らしい代物です。私の研究の一環でこれを使って、SSIM計算なるものを高速化しようと企てていたときのことでした。

計算をハードウェア化したはずなのに逆に遅くなっている

C言語で件のソースを書き、SDSoCの機能を使いワンクリックでハードウェア化して、予め用意したソフトウェア関数と一緒に実行してどちらが早いか確認しました。

実行にかなり時間がかかったので、「おやおや?ソフトウェアは随分と実行が遅いですね????」と心のなかで煽りながら結果を楽しみに待っていました。

続きを読む

私が脱稿するために必要なもの

昨日、論文提出締切日でした

2017/08/10は電気学会の論文締切日でした。ちなみに論文を書き始めたのはその前日です。提出日ぎりぎりになってから動く悪い癖があるので、できればこれを取り除いていきたいですね。

ちょっとだけ言い訳をすると、実験が追いつかずにそちらに重きを置いていたので、論文を後回しにしていました。(その実験も締め切り当日に終わらせたんだけれど。

今までの人生で論文を5本ほど書いてきたのですが、論文は2つの種類にわけられることが経験則的にわかってきました。

 

1.実験結果が既に出ているときの論文の書き方

実験結果が出ているが、その疲れからか理性は飛び、もはや論文を書きたく内までのやる気がないときって有りますよね。そういうときってだいたい、「完成」というなの目標が大きく見えて意思が失墜しているときです。

ということは本文を書かずに、別のちょっと楽しいことをすると、気分転換になり余す。簡単なことからこなしていって、楽しさの惰性で本文を少しづつ書いていけばいいのです。この手順を箇条書きにしていきたいと思います。

  •  実験結果を写真から論文に載せる画像へ加工する
  • 実験結果からグラフにするべき数値をグラフにする
  •  「概要」「理論・手法」「実験方法」「実験結果」「検討・考察」の章タイトルを書く
  • それぞれの章に箇条書きでどんな内容にするかを記入
  • 実験結果の写真やグラフを貼り付けて、「実験結果」の章を完成させる
  • 「実験結果」をもとに「検討・考察」と「実験方法」を書く
  • 「理論・手法」を書いてから「概要を書く」

 頭のなかに思い浮かべている論文の内容があいまいな初めの方から書いていくと、書いてるうちに頭が冴えてきて実験結果あたりで調子が良くなりますが、だいたい論文の前半後半で少し内容がねじれたりします。ということは逆手に取って論文を後ろから遡るように書いていけば、出した結論をもとに概要を構築していくだけですから、大変楽になります。

 

2. 実験結果が出ていない論文の書き方

締め切り間近だっていうのに、論文はまだ書いてないし、実験が終わってなくてそれどころじゃないことありますよね。そんなときは時間を効率的に使うことが求められています。スキマ時間を活用して論文を書いていくためには、実験が終わったらあとは図を貼り付けるだけの状況を作り出さなければいけません。

ということを加味すると論文の状況は「予め書く内容がほぼ固まっていて、実験結果を貼り付けたら8割完成しているような状況」が好ましいです。論文は「虫食いドリル」のようにしなくてはいけません。これにするための手順を箇条書きで書きます。(想定として実験が並列に進んでいます)

  •  「概要」「理論・手法」「実験方法」「実験結果」「検討・考察」の章タイトルを書く
  • 全部の章に箇条書きで内容を書く
  • 実験結果依存の部分以外を全部書き上げる(ここで"虫食い"状態を作り上げる)
  • 実験が終わったら画像加工やグラフに加工する
  • 実験結果の画像やグラフを貼り付ける
  • 論文の虫食い(実験結果依存の場所)を書き込んで完成させる

この順序で行けば、実験のときのモチベーションをそのまま論文執筆に持ち越せるため、実験が終わったことによる燃え尽きを起こさずに、スムーズに論文を書き上げることができるかと思います。

え?実験中は論文を書けない?寝る前の30分ぐらいで虫食い論文を作りましょう!

そもそも……

楽な論文作成の方法を書いてきました。しかしそもそも、実験は前からやっているべきで、論文は最低でも締め切り一週間前には8割完成していることが望ましいです。今回の私は環境構築がうまく行かず、そもそも実験をする環境の作成につまづいている状態でした。できればこの記事を読んだ皆さんはエクストリームな論文執筆はせず、余裕を持って論文を書きましょう。

 それでも、テスト期間と論文締め切り被るなどして論文執筆時間がどうしても足りなくて、効率を最大限求めるときが来るかもしれません。そんなときはこの記事を参考にし、諦めずに論文を提出してほしいです。

 

 

 

でもやっぱり……

論文は締め切りに追われない余裕を持って書き上げましょう!

以上です。

SDSoCでuramdisk.image.gzを生成する方法

Zyboをただ使いたかっただけなのに、情報がいまいちなくて詰んだ話

DIGILENT社から発売しているZynq-7000を搭載したFPGAボードのZyboがある。こいつを動かすツールの一つにSDSoCと言うものがある。

https://japan.xilinx.com/support/documentation/sw_manuals_j/xilinx2016_3/ug1028-sdsoc-intro-tutorial.pdf

 SDSoCチュートリアルを読んでみれば、プロジェクトをコンパイルすれば幾つかファイルが生成されるとあり、これをSDカードに入れれば動くという寸法らしい。しかしここ二ヶ月の間どうにもうまくゆかず、いくらコンパイルすれどいくらSDカードに入れようとも、Zyboはうんともすんとも言わなかった。

ここから地獄のインストール作業が始まる

最初に我がPCに入っていたのは2017.1なのだが、チュートリアルには2016.3とあった。これが悪いと思い、アーカイブ内の最新版であった2016.4をPCに入れた。「入れた」と簡単に書いているが、インストールするものはSDSoCとVivadoの2つが必要である。さらに、Vivadoは5GBもダウンロードせねばならず、SDSoCに至っては20GBもダウンロードが必要である。バージョンをたったひとつ変えるだけでも、3時間ほど時間を要する。

スタバでコーヒーをおかわりしながら待っていたが、飲みすぎてカフェイン酔いを起こすには十分な待ち時間だった。カフェイン酔いに明け暮れインストールも終わり、バージョンはチュートリアルと同じ2016で大丈夫かと思いきや、これまたうんともすんとも動かないのであった。私のスタバ生活は始まったばかりだ!

スタバの暇つぶし中にYoutubeを漁っていたのだが、ある一つの動画を見つけることになる。

www.youtube.com

この動画を見ると私が生成したかったuramdisk.image.gzをいとも簡単に生成した上に、ばっちりターミナル上で起動してみせた。この動画にはバージョンが説明されていなかったが、幸いにもコメント欄の方で「これバージョンなんですか?…あ、2015.4だったら行けましたわ。」とあったので私は歓喜した。

SDSoCでuramdisk.image.gzを生成したかったらバージョンは2015.4で!!!!

今回はなんという「しっかりしてくれXilinx」だったが、いままでにもしっかりしてくれと叫びたいことは多々あった。

みなさんもXilinxのツールを使うときはお気をつけください。