<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Dango Kajero</title><link>https://blog.oino.li/posts/</link><description>Recent content in Posts on Dango Kajero</description><meta name="generator" content="Hugo 0.92.2"/><lastBuildDate>Sun, 24 Dec 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.oino.li/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>今夜、すべての尿路結石で</title><link>https://blog.oino.li/posts/stoneocean/</link><pubDate>Sun, 24 Dec 2023 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/stoneocean/</guid><description>概要 今年の10月に尿路結石で緊急搬送されたときの体験記を記していきたいと思います。これまでの人生で一番死を感じたこの経験とそこから得られたフィードバックをここに記すことで、未来の悲しみから皆様を守ることができたなら幸いです。
尿路結石とは こういった説明は私がするよりも、専門家に譲ったほうが正確だと思いますので、名古屋大学大学院医学系研究科のWebページより引用します。
尿路結石とは、尿路に結石が形成される病気で、結石のある部位によって、腎結石、尿管結石、膀胱結石、尿道結石と言います。小さい結石であれば、尿といっしょに排泄されることがありますが、そうでない場合には手術などによって治療する必要があります。
(中略)
腎臓にある結石が尿管に移動したり、あるいは尿管内の石がさらに下降したりして、尿管が急につまると、腎盂内の圧が急激に上昇することによって、急に激しい痛み（疼痛発作）が起こります。痛みの部位は結石のある側腹部から背中で、同じ側の足に痛みが走ることもあります。通常、この痛みは激痛で、じっとしていても、体を動かしても痛みは変わりません。あまり痛みが強いと、反射で吐き気が生じ、嘔吐することもよくあります。
名古屋大学大学院医学系研究科 泌尿器科学教室 より引用: https://www.med.nagoya-u.ac.jp/uro08/sick/urinary-stone/index.html
なるほど、つまり、小さな石が体内に出来て、尿管が詰まるせいで激痛が走るという仕組みなんですね。体の外から全く見えないのが難点で、私も医者に指摘されるまでは皆目見当もつきませんでした。
筆者の生活について 次に、当時の筆者の生活について見ていきましょう。なぜ、尿路結石になったか、その原因を究明するためのヒントがその人の生活や暮らしの様子から伺えるはずです。筆者の当時のステータスについては以下の通りです。
年齢: 20代真ん中 BMI: 体重計がないので不明。でも、この前測った時は大体、空条徐倫の身長体重をちょっと足した感じなので、20ぐらい。 暮らし: 川崎で一人暮らし2年目。 虚言癖があり、Twitter上で定期的に嘘の同居人との噓の同居エピソードを話している。 健康診断結果: B+みたいなやつ。なんか、心臓の右軸偏位だけ言われた。I see。 お酒: 飲む理由がないため、飲まない。付き合いで月2, 3程度。 煙草: 吸う理由がないため、吸わない。 でも、今度、バーで知り合った女性から一本だけもらう予定。 食事: 三食食べ、栄養についてあすけんのお姉さんに管理されている。 運動: 週2, 3ぐらいでリングフィットアドベンチャーしてる。 睡眠: 毎日8時間ぐらい爆睡している。そのため、業務の打刻が11時手前ぐらいになり、チームで一番業務を始めるのが遅い。 ポイント いかがでしたか？自分で言うのも何ですが、びっくりするほど健康ですね。唯一弱点があるとすれば、「夕飯を食べる時間がちょっと遅い」、「ちょっと、最近あすけんをサボっているのでお姉さんに詰められている」ぐらいではないでしょうか。尿路結石の恐ろしいところは「特に何の問題もなさそうな人がある日突然、のたうち回る」という点にあると筆者は考えております。
かつて学生時代に所属していたロボットサークルでは「気胸(みんな痩せているから。ロボットのフレーム加工の際にアルミ粉塵を吸いまくるから)」、「高血圧(次郎系ラーメンやエナジードリンクを接種しすぎるから)」、「尿路結石(生活が終わってるから)」の3つがロ技研三大病として知られており(これで合ってるよね？間違ってたら関係者教えてください)、当時の私はこれを鼻で笑っていましたが、まさか数年後、社会人になった自分がこれに引っかかるとは思いもしなかったのです。
体験記 それでは次に前日から当日にかけての筆者の行動を時系列で見ていきましょう。
前日夜 確か元気よくご飯を食べ、すやすや寝ました。特に変わった行動はしておらず、どこにでもある、休日の前の一日の過ごし方をしておりました。
朝7時15分 右の脇腹の痛みによって意識が覚醒し、朝を迎えます。このときはまだ、「第三次成長期だし、成長痛かな？」などと悠長なことを考えていました。
しばらく布団の中をゴロゴロしています。
朝7時45分 30分経っても痛みが引くどころか、むしろ悪化してることに気づき、ただ事じゃないことを悟ります。成長期もこの時に終わったのでしょうか。
一旦、人生経験の多い家族にアドバイスをもらおうかと思い、連絡を試みますが、朝早い時間帯のため実家の家族はまだ寝ており、連絡は失敗に終わります。
この頃から右の脇腹の痛みがさらに激しくなります。イメージとしては「全速力で走った後の脇腹の痛みを2, 3倍酷くしたものがずっと続いてる」ような感じで、立ってもダメ、トイレに行ってもダメ、試しに冷やしてみてもダメと、明確に死の影が見えるようになってきました。
8時03分 これはダメだと思ったので、人生初の救急車を呼ぶ覚悟をします。
が、昨今は救急車の呼び過ぎが問題になり、必要としてる人が呼べないといった問題が起きているのを思い出しました。
かく言う私も現在進行系で死にかかっていますが、ここで敢えて思考を差し込むことで、突然の病に対して精一杯の威嚇をしようと頭を回します。</description></item><item><title>家を借りた時のメモ</title><link>https://blog.oino.li/posts/renthouse/</link><pubDate>Sun, 30 Apr 2023 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/renthouse/</guid><description>概要 昨年4月から家を借りて一人暮らしを始めた。ここでは、家を借りる時にやった事と反省点などを次回へのフィードバックとして色々を書き残しておこうと思う。
状況について 物件探しを始めたのは2021年12頃から。(情報収集はもう少し前から。)借りる時の私のステータスについて以下に記載する。
オタク。理系院卒予定。 修論提出四か月前に全く同じテーマの研究が発見されて色々険しい。 卒業後は何かパソコンをカタカタするお仕事をする。 ロケーションは東京。 というわけで、研究に程よく苦しみつつ、関東周辺でおうちの物件探しを始めた。
ロケーションについて 実家は千葉のほうにあったが、大学生時代に片道かれこれ一時間以上かけて通学した経験があり、人生を無駄にしている感じが普通に無理だわと思ったので、会社に近いところを候補に挙げた。
勤務先が東京(京浜東北線乗ってると着くとこ)にあるので、京浜東北線沿いに考えた。
候補として、先ほど挙げた京浜東北線沿いに直接住むか、乗り換えとかでアクセスしやすい場所に住むという選択肢がある。
ここで当時の私の東京周辺に対する認識を図にまとめてみた。
まず、東京の海岸線沿いは良く行ったことがあるので知ってるが、内側のほうは何があるのか全く分からない。というか、人の住むところなんか？という気持ちがあったため、ここは除外。
次に候補として考えたのは秋葉原以東の総武線沿線沿い。アクセスはしやすいし、よく見知っている箇所ではあるが、街並みが好きじゃないという理由で却下。
これは総武線に10年ぐらい乗ったぐらいの私見になるが、関東平野あたりにある清潔だけれども、スプロール化して延々と似たような作りが再生産されている、統一感もなければ多様性もない街並みは正直綺麗とは思えないんですよね。
メリハリがない街並みですからね。 事実、これだけ総武線に乗って未だに外の街並みから駅名がわからない。 新小岩と平井って逆だったりする？みたいな事をずっとやっている。 それこそ、津田沼とか幕張あたりまで出ないと町の特徴が変わらないという絶望もある。 ということから、消去法的に大井町周辺に代表される東京南部(大学も近く、街に知見がある)あたりや神奈川の右側にある場所を検討することにした。
自薦 川崎
映画とかイベントで良く知っている町。何か色々あるじゃん。 チネチッタとか。 名取さなも毎年そこでライブしてますからね。 聖蹟桜ヶ丘
名前が強そう。 他薦 新百合ヶ丘
筆者は百合が好きなため、複数の知人からお前が住むならここしかないだろと強めの語気で勧められたが後述の理由により却下。 物件に求めるもの 以下に借りる住宅に求めるものをリストアップして、それぞれ選定した。
インターネット
オタクなので速くないと死ぬ。 在宅勤務の実施に問題が発生しない程度に。 住宅のネットワークについてはかなりガチャガチャなところがあるが、以下の記事を参考に選定した。
マンション光回線の配線方式のお話 具体的には入る物件について、光コンセントがあるのか確認したのと、光回線提供エリアに住所を入れて光配線方式か事前に調査した。</description></item><item><title>2022年買ったもの</title><link>https://blog.oino.li/posts/bestbuy2022/</link><pubDate>Fri, 30 Dec 2022 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/bestbuy2022/</guid><description>はじめに 今年買って良かったものを列挙する。なんかそういうカルチャーがあるらしいので。
選定基準 自明なものは書かない。 「食洗器買ってめちゃくちゃ便利だった！皆買うべき！」なんて自明なこといっても仕方がないため。 一方で自明ではあるが、どれにベットしたかぐらいは記載したほうが良いと思うので、欄外に記述する。 汎化性があるものを書く。 良かったASMR作品を書く場ではなさそうなため。 ガチャ石を人に勧めても仕方がないため。 それでは以下に順不同で適当に書いていく。おそらく買った順に書かれます。
1. 財布 なんか財布買った。緑色の革のやつ。上野にて。MICというお店。
財布がバキバキだったので新しいのを買った。σ(ﾟ∀ﾟ )ｵﾚはグリーンで行く pic.twitter.com/9V11aaT02M
&amp;mdash; イェーイ (@dango_bot) January 14, 2022 買った理由 これまで使っている財布は大学生になりたてぐらいの時から使っているちょっと死にかかっている財布だったため、社会人になる前に新しい財布を用意したほうが良いなと判断した。 革の財布は10年後の倫理観によって怒られる可能性があるため、今のうちに革製品を持ったほうが良いのでは？と考えた。 同様に今年は結構クジラの肉とか食べた。あれ美味しいですね。 良かったこと 刻印のサービスがあったので、DNGと入れてもらった。カッコいい。 シュッとしているので、ポケットに入れても形が崩れない。 良い財布を買ったため、何でもかんでも財布に突っ込むという発想をやめることができた。 これはね、「DNG」って刻印してもらった財布 pic.twitter.com/X8IjjYPug4
&amp;mdash; イェーイ (@dango_bot) February 28, 2022 懸念点 刻印をしてもらったため、人前で財布を広げるのがちょっと恥ずかしい。 dangorogoroの名義を知らない人に「DNGって何ですか？」と聞かれたらとりあえず、「ブランド&amp;hellip;ですかね&amp;hellip;？」と答えることにしている。 形を崩したくないため、小銭をできるだけ入れないようにした結果、時折詰んでしまう。　 カードを入れるポケットが6つあるので、真剣に選定した。 クレカ2枚 診察券 キャッシュカード 身分証 テレフォンカード しかし、テレフォンカードが全く活躍しないため、再考の余地あり。 2.</description></item><item><title>Chiselを使ってTang NanoでLCDを光らせる</title><link>https://blog.oino.li/posts/chiselwithtangnanolcd/</link><pubDate>Sun, 02 May 2021 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/chiselwithtangnanolcd/</guid><description>概要 Chiselを使ってTang Nano付属のLCDを光らせました. メモを残します.
Chiselを使ってVerilogコードを生成して、Tang NanoからLCDに市松模様を出せた（੭˘ ꒳ ˘ )
Chisel側で単体テストとか書けるので便利。 pic.twitter.com/OCNur9KNUc
&amp;mdash; イェーイ (@dango_bot) November 11, 2020 はじめに Chiselはデジタル回路設計用のハードウェアデザイン言語です. 以前チュートリアルを書いたので, そちらをご覧ください.
Chiselを使ってTang NanoでLチカする
LCDはTang Nano FPGA開発用としてSipeedで売られていたものを使いました. 秋月でも売られています.
設定 まず, 最初にSeeed公式がexampleコードを公開しているので, それを見てみました.
https://github.com/sipeed/Tang-Nano-examples
LCDに関するドキュメントも公開されていたのでそちらも確認しました.
https://tangnano.sipeed.com/en/examples/2_lcd.html
VGAを使って画面の制御を行っているので, まずはVGAの信号をChiselで実装しました.
VGAの設定 VGAでは水平同期信号(HSYNC)と垂直同期信号(VSYNC)のタイミングに合わせてピクセルの値をRGBで設定します.
今回は上のドキュメントやコードを参考にタイミングやパラメータなどを合わせました.
Verilogで書かれたコードをChiselに変換するしてるだけなので, 特に説明する箇所はないですが, ポイントとして
Mux(マルチプレクサ)を使って範囲外のピクセル更新の操作をOFFにする. 現在, 更新する座標とRGBの信号線を外に出して, 上位のモジュールに渡す. という感じです.
LCDのクロック設定(BlackBoxの使用) 次にさっそくLCDの描画を行いたいところですが, LCDにはクロックとして(上記の設定では)33.33MHzを供給する必要があります.
これはTang NanoのIPを利用することで生成できますがChiselからではそういったコードを生成することはできません.(それはそう)
このように特定のVerilogのコードをChiselのプロジェクトで使用したいといったときに使用するのがBlackBox機能です.
これを用いることでVerilogで書かれたコードを隠蔽しつつ, インターフェイスをChisel側に渡すことができます.
まず, IPを用いて以下のようなコードを生成しました. Gowinの生成したコードがなんかいまいちだったのでこちらのコードを参考にしました。
https://github.com/dotcypress/tang-nano-lcd
そしてChisel側でこのようなコードを書いてVerilogのコードを利用します. 入出力のピンの名前を同じにする必要があるのでそこだけ注意です.
LCDの描画 先ほど作成したVGAModuleから得られた座標とRGBのピンを用いてLCDの描画を行っていきます。</description></item><item><title>さなのばくたん。-ていねいなお誕生日会-に行った</title><link>https://blog.oino.li/posts/natoribirth2021/</link><pubDate>Sun, 04 Apr 2021 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/natoribirth2021/</guid><description>最高純度のピンクだった. 光り輝くステージの真ん中で歌いながら踊る彼女, 名取さなを私は川崎チネチッタのスクリーン12で見ていた. 感極まって口をパクパクさせていた私はちょっと間抜けに見えるが, 時勢の影響でスクリーンを見ている誰しもがマスクをつけていたのでこれは誰も知らない私だけの秘密だ.
名取さなの事はデビュー間もない頃から知っている. けれども, 今の私は「速度」を失いつつあって, 名取が何をしたのかその全てについて語ることはできない. それでも話させてほしい, 僕と僕らを取り巻く世界と名取さなの話を.
はじめに 名取さなのお誕生日イベントに行ってきたので, それについて思った事をここに書き留める. 書く理由としては
大本営発表があったから すみません、オタクのド長文感情noteやレポマンガ/レポイラストが三度の飯より好きなのでよろしければおつくり頂けないでしょうか…
&amp;mdash; 名取さな🍆 (@sana_natori) March 9, 2021 エモかったと良かったと言ってそのまま終わりにしたらいつか忘れそうだから. という感じだ. さて, 名取のライブの各パートについて書くのがいいと思うんだけど, それだけでは事実の列挙になってしまうし, 私が書く必要もない. それに, 総体としてのせんせえのライブの感想はすでに様々な方がnoteとかに書いてるので, 改めて俺が書く必要はないだろう.(彼らの文章はあの日のせんせえ達の感情を巧みに表現しているのでぜひそちらも読んでほしい.) だから「私という人間がどんな切実な思いを持ってこのライブを見に行き, 何を思ったのか」という話をする必要があるんだけど, それをするにあたって, 見苦しいが私の話をしたいと思う. そしてここで話す私の話は私個人の話だけではない, 社会の中で一つの肉体を抱えて生きている「私」の話だ.
というのも, VTuber(Virtual Youtuber)はその名前の通り, ヴァーチャルの存在であり, ヴァーチャルと現実をつなげる役割を担っている. だからこそ, ヴァーチャルの存在である名取さなの話をする上で現実という社会を含んだテクスチャの上で生きている私の話を書くのはとてもじゃないが避けられそうにない.(書く前からとんでもなくハードルが上がっている. どうするんだろうこれ.)
この社会の中で生きる私というのは伊藤計劃先生のファイトクラブの論評の中で出てきた言葉で, セカイ系の作品として挙げられているエヴァに対して私が抱えていたもやもやとした疑問点をこの言葉が吹き飛ばしていった. 伊藤計劃は偉大な作家でファイトクラブは素晴らしい作品だ. いや, 今はこういう話をすべきではない. したいんだけど, 今すべきじゃない. なにはともあれ, 名取さなの話に戻そう.
本文 見始めた頃の話 さて, 上で大きくハードルを上げてしまったせいでどう書き出せばいいか困っている. ビッグマウスをしては後でどうしようか迷うのは俺の悪い癖だ.
文章を書けずに手を拱いてるとどうしても時間に目が行ってしまう. 今日はもう3月20日でライブがあった3月7日から2週間も日付が過ぎている. Twitterを見ると人々が続々とnoteに長文を書いて投稿しているのが目に映ってその情熱と愛に気圧される.</description></item><item><title>Chiselを使ってTang NanoでLチカする</title><link>https://blog.oino.li/posts/chiselwithtangnanoled/</link><pubDate>Wed, 30 Dec 2020 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/chiselwithtangnanoled/</guid><description>はじめに Chiselを用いてTang NanoというFPGAでLチカしてみたという話です.
Chiselとは Chisel(Constructing Hardware in a Scala Embedded Language)はデジタル回路設計用のハードウェアデザイン言語(Hardware Design Language)(いわゆるVerilogとかをさすHardware Design Languageとは違うので注意)です.
Chiselの存在はGoogleがEdge TPUをChiselで開発したという話を聞いて知りました.
FPGAなどの上でデジタル回路設計を行うときはVerilogなどのHDLを用い行うのは広く知られた開発手法ですが, これらの言語は特定のタスクを行うためだけに開発された**DSL(Domain Specific Language)**なので
NOWでヤングな言語の遺産を利用できない. 抽象度を上げづらく, コードがぐちゃぐちゃになりがち. そのため, 大規模なハードウェアを設計するときに言語として貧弱. といった問題があります.
これらの問題点を解決し, ハードウェアの仕様を記述するためではなく, デザインするために作られた言語がChiselになります.(多分)
ChiselはScalaの組み込みDSLとして作られているため, ScalaというNOWでヤングな言語のパワーを使いながら豊富な機能(単体テストや非同期リセット)を用いることで複雑な回路の開発を助けてくれます. 嬉しいね.
Chiselがどんなものかもっと知りたい人は公式HPを見るのがおすすめです. https://www.chisel-lang.org/
また, Rocket CoreやBOOMなどに代表されるRISC-VのCPUコア実装がChiselで書かれています. デジタル回路設計のシーンがChiselを中心に少しずつ動いてる気配がするのでこれからチェックしていきたいです.
Tang Nanoとは Sipeed社が出しているFPGAボードです. GW1N-1というチップが載っています. 大きな特徴は以下の通り.
500円ちょっとで買える. 機能は少ないが, ちょっといじるのにちょうど良い.(論理合成もさくっと終わる) LCDディスプレイを繋げられる. Seeedで買えるのでどうぞ.(https://jp.seeedstudio.com/Sipeed-Tang-Nano-FPGA-board-powered-by-GW1N-1-FPGA-p-4304.html)
開発環境構築 次に開発環境を構築していきます.
筆者の開発環境 私はWindows + VSCode + WSL2で諸々の開発を行いました. ただ, WSL2はUSBを2020/12/30現在まだサポートしていないので, 論理合成やTang-Nanoへの書き込みはWindowsのローカルにGOWINというSipeedが出している開発環境を入れました.</description></item><item><title>技術書典9の振り返りと女学院の話</title><link>https://blog.oino.li/posts/techbookfes9/</link><pubDate>Sat, 26 Sep 2020 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/techbookfes9/</guid><description>はじめに 技術書典に出展してみたので振り返りをしようと思います.
東京工業女学院を舞台に女学生たちがマイコン向けデジタル信号処理ライブラリ「CMSIS-DSP」について解説していく本を技術書典9で出します。女と女の話やドキュメントが追いついてない最新の機能まで補足してたら書きすぎて128pになりました。どうぞご覧ください。#技術書典9https://t.co/tD0znuG557 pic.twitter.com/Ago9r05Iye
&amp;mdash; イェーイ (@dango_bot) September 12, 2020 技術書典とは 新しい技術に出会えるお祭りです。(https://techbookfest.org/ より)
具体的には技術関連の同人誌の即売会です. 普段は場所を取って即売会を行っていましたが, 今回はオンラインでやりました.
元々, 3月に行われた技術書典8に参加しようと思ったのですが
即売会に出たくて応募したが時勢の影響でオンラインになってやる気が下げぽよになった. 卒論執筆がヤバくなった. 卒業旅行が楽しかった. ので参加を見送りました. オンラインのイベントに出てもなーと思ったのですが, しばらくオフラインで開催できなさそうだったので気持ちを切り替えて技術書典9に参加したという次第です.
なんで参加したの 大学でオタク学科を専攻しているので, 学生のうちに同人誌を書いて即売会に参加してみたかった. 在学中に東京工業女学院についての創作をして形として残したかった. CMSIS-DSPについてちょうど調べていて, 本にしてまとめるといいかなと思った. 何を書いたのか 架空の学院, 東京工業女学院を舞台に女学生たちが組み込みARMCPUのためのデジタル信号処理ライブラリCMSIS-DSPについて学び, 解説していく本です. CMSIS-DSPの導入とか使い方、ライブラリの仕組みなどについて書きました.
ストーリーはロボット技術研究会に所属する女の子がマイコン上でデジタル信号処理が上手くできずに部室で困っていたときに部員更新に現れた幽霊部員の女の子にCMSIS-DSPというライブラリの事を教えてもらい, 一緒に学んでいくという運びになっています.(やる夫で学ぶデジタル信号処理方式だと言ったほうがしっくり来るかもしれません.)
東京工業女学院とは何か？ 架空の女学院. 東京工業大学が教育改革の一環で学部・大学院を統一した「学院」の設置を行うと発表した際, 一部の界隈で「それってYO☆女学院の設立じゃん」(恣意的な誇張あり)と話が盛り上がり, 架空の女学院を舞台とした女学生たちについて様々なアイディアが寄せられたのが始まりです.
詳細は以下のTogetterを参照するのがよろし.
https://togetter.com/li/925918
執筆環境 執筆環境は当初, Vim + $\rm{Lua\LaTeX}$という環境で執筆をしていましたが, VSCode + $\rm{Lua\LaTeX}$に環境を変えました.
$\rm{Lua\LaTeX}$を使っているのはdviファイルを経由せずに一発でpdfが出力できるのが好きで使っています.
VSCodeは色々機能が便利だったので途中で移行しました. pdfのプレビューをクリックするとsyncTeXで該当箇所にジャンプできるし.
VSCodeでLaTeX書くときにCtrlを押してプレビューをクリックすると該当コードにジャンプするのすごい。
&amp;mdash; イェーイ (@dango_bot) August 15, 2020 以下に使ったパッケージとか設定を書いておきます.</description></item><item><title>GitHub Actions使って日記をAWSにぶん投げる</title><link>https://blog.oino.li/posts/diarywithgithubactions/</link><pubDate>Thu, 02 Jul 2020 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/diarywithgithubactions/</guid><description>これ何？ 最近日記をつけ始めました. (diary.oino.li) 日記もブログと同様にHugoで生成しています.
日記の方は真面目に書かない(書きたいことを適当に書く)ので, プラグインとか特に入れずに文字だけMarkdownで起こせばそのままAWSに置いてるサーバーに反映させられたらといいなーと思ったのでGitHub Actionsというのを使ってみました.
後, apt で入れたHugoのバージョンがめっちゃ古くて萎えたというのもあります.
UbuntuのHugoのバージョンが旧石器時代になってたのでUbuntu爆破してた
&amp;mdash; イェーイ (@dango_bot) June 5, 2020 今までこういったCIとか全く使ったことが無かったですが, なんとか動かせたのでその時の作業の備忘録を書いておきます.
やったこと 全体の大まかな流れはこんな感じです.
ローカルの環境でMarkdownを書く. CommitしてGitHubに投げる. GitHub ActionsにてビルドしてAWSに置いてるサーバーにデプロイされる. 嬉しい. 主にこちらの記事を参考にしました. ありがとうございます.
(https://qiita.com/kz_morita/items/690b367067666fddb562)
GitHub Actionsとは GitHubの提供するCI / CD環境です.
プッシュ、Issue、リリースなどのGitHubプラットフォームのイベントをトリガーとしてワークフローを起動しましょう。コミュニティが開発・保守し、ユーザが熟知・愛用しているサービスについて、対応するアクションを組み合わせて設定できます。
コンテナアプリの構築、Webサービスの展開、レジストリへのパッケージの公開、またはオープンソースプロジェクトへの新しいユーザーのウェルカムメッセージを自動化するなど、さまざまな用途でActionsを利用できます。 GitHub PackageとActionsを連携させパッケージ管理を簡素化できます。バージョンのアップデート、グローバルCDNによる高速配布、既存のGITHUB_TOKENを使用した依存関係の解決なども行えます。
(https://github.co.jp/features/actions より)
使用制限は
パブリックリポジトリだと無料. プライベートリポジトリだと一定量の無料の動作時間とストレージが与えられ, 超過分について課金. とのことです.
この動作時間はLinuxのランナー上で実行されるジョブの動作時間を基準としていて,
WindowsやmacOSのランナー上で実行されるジョブの動作時間は
Windowsは2倍換算 macOSは10倍換算 になってしまうので注意.
詳しくはこちらをご覧ください.
(https://docs.github.com/ja/github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-actions)
Actionsの作成 Actionsを作成したいリポジトリに行くと上の方にこんな感じでメニューがあるのでクリックして新しくworkflowを作成します.
するとこんな感じで色々項目が出てきます.
下にちょうど「Deploy to Amazon ECS」とあってこれじゃーんと思った筆者だったのですが, Webの事が何も分からない私なので出てくる用語の意味が分からず, 諦めて「Simple workflow」を選択しました.</description></item><item><title>旅程と宿手配は現地で！？台湾へ卒業旅行に行く</title><link>https://blog.oino.li/posts/taiwangraduatetrip/</link><pubDate>Tue, 16 Jun 2020 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/taiwangraduatetrip/</guid><description>この前卒業旅行で台湾に行ったので書きます.
全てはここから始まった. サークルの面々が卒業を控えて(学士, 修士, 博士と色とりどり)いたので, 卒業旅行に行くことになりました.
国内旅行でも良かったのですが論文執筆に追われ, 疲労困憊していた我々は海外旅行という言葉の眩しさにノリノリになってしまい, 気がついたら「台湾へ4泊5日行くぞ！！！」となっていました.
しかし, 全員忙しい状態にあり行く候補地と初日の宿と九份の宿泊先だけ決めて後は現地で決めることになりました. (ウッソでしょ.)
ここには2020年2月23日から4泊5日，Cheeseの6人で行った台湾旅行の記録を残していこうと思います.
一緒に旅行に行った人(けりさん)の記事もこちらにあるのでどうぞご覧ください.(https://www.kerislab.jp/posts/2020-02-28-cheese-trip-in-taiwan/)
初日(2月23日) オタク
私、だんご🍡ぼっと🤖！今日から卒業旅行に行くんだけど、パスポート持って成田空港集合なんだって！一体どこに行くんだろう？🤔
&amp;mdash; イェーイ (@dango_bot) February 22, 2020 DNG キャリーケースを持ってきてしまう LLCを利用するのに手荷物が一つだということを忘れてキャリーケースを持ってきてしまい, 必死に荷物を詰めなおしているときの写真です.
手荷物制限勘違いして持ってきたスーツケースにそのまま皆の預け荷物を突っ込んで空港に預ける図です。 https://t.co/CrjWccD41W
&amp;mdash; イェーイ (@dango_bot) February 23, 2020 飛ぶ じゃあの pic.twitter.com/yayPN7GCDQ
&amp;mdash; イェーイ (@dango_bot) February 23, 2020 台湾に着く 台湾に到着した🍡 #Cheese旅行in台湾 pic.twitter.com/OqowjRSfKU
&amp;mdash; けり (@kerikun11) February 23, 2020 オタク
CAUTION WETじゃないか！#Cheese旅行in台湾 pic.twitter.com/0ZHn9X3Eds
&amp;mdash; イェーイ (@dango_bot) February 23, 2020 宿につく 一日目の宿につきました.</description></item><item><title>FreeRTOSの導入とTips</title><link>https://blog.oino.li/posts/freertostips/</link><pubDate>Sat, 06 Jun 2020 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/freertostips/</guid><description>FreeRTOSの導入とTips 久しぶりのブログはFreeRTOSの話をしようと思います. 俺も頭を並列に分割したいよな.
RTOSとは RTOSとは Real Time OS(リアルタイムOS) の略称で組み込みデバイスなどで使われるOSです.
リアルタイムOSの特徴は時間的制約を管理するのに特化しているという点です.
組み込みデバイスでプログラミングしてると出てくる問題としてリアルタイム性の確保というものがあります.
例えば, 「センサーデータを何秒ごとに取りたい. センサーデータの取得に比べると優先順位は落ちるけど定期的にLEDをピカピカさせたい. それとは別に常時ブザーを鳴らしたい.」 といった処理をさせたいと思います.
これを実際に書こうとすると
タイマーで割り込みする フラグを更新する main loopで楽しく分割して処理する といった処理を書くことになります. するとこういった質問が寄せられるのは想像に難しくないでしょう.
Q: これC言語で書くの, しんどいってレベルじゃなくない..？
A: はい.
純粋にフラグの優先度を管理するのが難しいし, 割り振られた作業間のデータのやり取りの扱いを考えないといけないし, デバッグをするときも大変になるのは目に見えてます. そこでRTOSの出番です.
これを導入することでそれぞれの作業をタスクとして切り分けつつ, タスクの優先度や時間的制約の解決, タスク間でのデータのやり取りをサポートすることができます. 嬉しいね.
FreeRTOSとは FreeRTOSはマイクロコントローラー向けにオープンソースで開発されているRTOSです. 上に書いた時間的制約や優先度の管理だけでなく,
TCP/IP通信をサポートした FreeRTOS+TCP 軽量なコマンドライン環境を持った FreeRTOS+CLI openやreadなどのIOペリフェラルを兼ね備えた FreeRTOS+IO UDP通信をサポートした FreeRTOS+UDP などの機能もサポートしています.
ドキュメントとか 2017年, AWSはFreeRTOSの買収を発表しました. AWSのバックアップを受けた影響なのか, FreeRTOSのドキュメントは非常に整備されて(私見)たくさんの知見や情報が公式から日本語で出るようになりました. FreeRTOSの細かい仕様について僕がここで語るよりかはドキュメントを読んだほうが早いと思うので, ぜひ公式HPで確認してみてください.
(https://aws.amazon.com/jp/freertos/)
導入 FreeRTOS公式HPにダウンロードリンクがあるので, そこからダウンロードして解凍してください. (https://www.freertos.org/a00104.html)
そしてこのページを参考にプロジェクト側からインクルードするフォルダーを探します.</description></item><item><title>マイクロマウス(対向二輪車)で相補フィルターを使って速度推定をする</title><link>https://blog.oino.li/posts/complementaryfilter/</link><pubDate>Sat, 28 Dec 2019 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/complementaryfilter/</guid><description>初めに Q: マイクロマウス2019はどうでしたか？
A: 記憶がない. 来年がんばりゅ
こちら, Micro Mouse Advelent Calendar 2019 28日目の記事です. 嘘です. 昨日の記事はないですし, 明日の記事もないです.
そうなんだよな. 昨日も明日もそんな概念はなくて, ただ今日という日が連綿と続いていくだけなんだよな.
将来を考えて云々とか体のいい言葉はあるけど, 今日という日を大切にしないで生きてきた結果, 日々の連続の先にあるその未来で存在しないはずの夏の幻覚に囚われている. 多分この先もそうなんだろう.
その点, 冬は寒くて生存競争が激しいので一日生きられただけで自己肯定ができる. 冬はすごい. 違うこういう話じゃない. いや, したいけど今ここで書くべきではない. 四季が移り変わっていくのって百合なんだよな.
概要 マイクロマウス競技(ここでは主に旧ハーフサイズの)では小さなロボットの機体の中に様々な機能を詰め込む必要があります. その中でも難しいのが速度を推定するためのエンコーダーです.
というのも, これは1マス90mm×90mmの迷路の中を走るロボットに使えるエンコーダー付きモーターがあまり存在しない＆あっても1個n万なので学生の財布が死んでしまう という問題点があるからです.
これを解決するために, マイクロマウスに参加する多くの競技者は回転するモーターの軸に磁石を取付け, ロボットの基板(ここではバッテリーなどを載せている底の基板) に基板を垂直方向に立て, そこにAngle sensorをつけて磁石の回転から速度を推定するといった感じでエンコーダーを自作します. (なんで基板が構造材になって走ってるんだろうね. 不思議だね.)
しかし, 使える磁石のサイズが車体の大きさによって制限されたり, そもそも工作精度(磁石とエンコーダの位置にズレがある等)に限界があるので, 往々にして得られる信号はノイズだらけです.
こちらの「ロボットにステップ応答を入れた後に初めてエンコーダの信号を見て絶望する人間」をご覧ください.
エンコーダーの生値です. 対戦ありがとうございました. 来年のDNGをお楽しみください. pic.twitter.com/OJlB3EJAyl
&amp;mdash; イェーイ (@dango_bot) October 19, 2019 このように
磁石をエンコーダーの真上に配置できないがために生じる周期性ノイズ 小さい迷路を走る都合上, データシートギリギリ(なんなら下回ってる)のサイズの磁石を使わないといけないハードウェアの制約 モーターの磁力などに由来するその他非線形ノイズ
の影響でエンコーダーのSN比が否応なしに劣化していきます. これの対策として</description></item><item><title>USB CDCについて</title><link>https://blog.oino.li/posts/usbcdc/</link><pubDate>Wed, 10 Jul 2019 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/usbcdc/</guid><description>最近, USB CDCについて勉強したのでメモがてら書きます. (間違えてる箇所があったらご連絡ください.)
最初に: 幸福とは何か USBの規格を読まずに日々を過ごせること( ˘ω˘)ｽﾔｧ
USB CDCについて USB CDCとはUniversal Serial Bus Communications Device Classの略称で, USB上でデバイス間のデータのやりとりを行うための通信規格です. RS-232CとかがCDC-ACMの規格で通信をやっています.
具体的にはFT232やマイコンのデバッガとかがこの通信規格を使ってPCにデータを投げたり受け取りしてます. (TeraTermを開いてやるやつね
何を読むべきか ブログ記事とかもネットにたくさんありますが, (https://usb.org/)に公式のドキュメントが置いてるので, 正確なことが知りたい人はこれを読んでください.
また, こちらのブログでCDCについて大変分かりやすく翻訳されています.(私もお世話になりました. ありがとうございます.)
とりメモ: (https://sites.google.com/site/toriaezunomemo/home/communication-device-class)
以下の話は
Class definitions for Communication Devices 1.2 (https://www.usb.org/document-library/class-definitions-communication-devices-12)
を読んでマイコンのUSB機能とUARTを使ってFT232みたいな仮想COMポート(シリアル変換モジュール)みたいなのを作るときに必要になりそうなものをまとめていきます.
Functional Overview CDCではCommunicatios Class InterfaceとData Class Interfaceの2つを持っています.(CDC3章に記載)
Communications Class Interfaceでは管理と通知(これはoptionally)の2つを行っていてデバイスの設定や管理を行います. これはデバイスがコール管理を実装しているか否かで挙動が変わるので, 規格書の3.4.1を読んでください.
例えばデバイス側でコール管理をしていると管理や設定の情報はendpoint0越しにデータのやり取りをして, 通知はinterrupt endpointで行われます.
Data Class Interfaceでは実際の通信データのやり取りを行っていて, bulk endpointで行われます.
これらの実装はCommunication Class Interfaceとしてintterupt input endpointが1つ(otionallyでoutputのものが1つ.), bulk inputとbulk outputのそれぞれが1つという3つのendpointでの実装になります.</description></item><item><title>2018年度のマウス制作の話</title><link>https://blog.oino.li/posts/2018control/</link><pubDate>Mon, 10 Jun 2019 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/2018control/</guid><description>2018年度のマウス製作でやってた制御の話をSlideShareに書いたのでこっちにも貼ります.
リンクはこちら.
今年のマイクロマウス製作の話</description></item><item><title>シンガポールへ聖地巡礼のついでにTOEICを受ける</title><link>https://blog.oino.li/posts/singapore/</link><pubDate>Sat, 27 Apr 2019 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/singapore/</guid><description>TOEIC シンガポールで 受けてみた 皆さんはTOEICを受けたことがありますか？私はシンガポールに行くまでなかったです.
大学生を始めて久しい私ですが, 大学院に進学するあたってTOEICを受ける必要がありました. 早めに募集要項が出された他学科ではすでに院試を受けるにあたってTOEICが必要と書かれたり, 昨年の私の学科の募集要項でも同様の事が書かれていましたが, 何事も心配しすぎは良くないねと考えた私は特に何もせずノンノンとしてました.
いざ, 自分の学科の募集要項が発表されてTOEICが院試に必要と分かったときに締切まで国内で受けられるTOEICは2回だけとなってました.困ったね
ところで皆さんはシンガポールという国をご存知でしょうか？
シンガポールはTOEICが大変盛んな国で1週間に1回のペースでTOEICの試験を実施しています. 海外からの受験も可能で, 会社や資格取得に必要になった方が日本からも受けに行かれるそうです.
また, シンガポールはあのアニメ**「宇宙よりも遠い場所」や漫画「ジョジョの奇妙な冒険3部」**の舞台になっています.
ここで私は考えました.
シンガポールに行ってTOEICを受ければ聖地巡礼もできるし, TOEICも受けられるのでは？
ということでシンガポールに聖地巡礼のついでにTOEICを受けることにしました.
シンガポール旅行へ行く前に TOEICを受ける前にシンガポールのTOEICのページでアカウントを作る必要があります.
こちらで作りました.
シンガポールのTOEICのHP(http://www.toeic.com.sg/)
アカウントを作る上で必要なものは
パスポート 自分の顔写真 などです. 私は自分の顔写真がなかったので**iPadで初めて自撮りというものをしました.**険しい
アカウントを作ると仮パスワードが平文でメールされることに険しい表情を浮かべつつ, 予約をします. 予約はこんな感じでカレンダーに受けたい日付にチェックを入れます.
会場が狭かったりするのか先着制なので早めに予約しましょう. 私はやらかして旅程を変えました.(それでも20日前でも取れたりする)
値段は150シンガポール・ドルしました. ざっと12kJPYなので日本で受けるより2倍以上高いです. シンガポールへの旅行代だと思ってポチーと予約しました.
試験会場の連絡は試験を受ける数日前に連絡が来ました.
シンガポール1日目 国外逃亡 研究室に配属して数日後にシンガポールへ深夜の便で出発しました.
台湾では負けたので今度は勝つぞ2019 pic.twitter.com/GH47ymaz7h
&amp;mdash; イェーイ (@dango_bot) March 13, 2019 私事ですが最近, KMNZというVTuberを応援していて, 出発当日も配信を聞いていたら飛行機に乗り遅れそうになりました. 危なかった.
こちらが私が当日に聞いてた放送です.
KMNZはLITAとLIZという2人からなるバーチャルガールズユニットです. 他のVTuberと大きな違いは2人ともラップをやっていて, 配信の中でも披露してくれます.
2人とも大変親しみやすいVTuberで配信もとてもテンポが良く, 歌も上手いです. そして, 何よりも仲の良さからくる配信中での絡みが面白く, 私の日々の生活に彩りを与えると同時に私の心が体のどこにあるか分かるぐらい心が動かされます.</description></item><item><title>TrueStudioでJ-Link RTTを使う</title><link>https://blog.oino.li/posts/truestudiowithrtt/</link><pubDate>Sat, 30 Mar 2019 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/truestudiowithrtt/</guid><description>J-Link TrueStudio 始めます 皆さんはSTM32マイコンを開発するとき, 開発環境は何を使っていますか？
私は以前はVim + Makefile + GDB + ST-Linkみたいな構成で開発していたのですが,
最近開発環境がどんどん新しくなってるので取り入れたい. デバッガをもっとフルに使いたい. J-Linkを使いたい. などの理由からSTMicroが以前買収したAtollic社から出されているTrueStudioがSTM32をサポートしているのでそれとJ-Linkを使って開発していこうと思いました.
使った感想としては文明の力すごいなという感じですが, その中でも特にJ-Link RTTを気に入ったのでその話を今日はしていきます.
そもそもJ-Linkとは J-LinkはSEGGER社が開発しているマイコン向けのデバッガです.
SEGGER: J-Link Debug Probes
PICマイコンを使うときはPICkit, STM32マイコンを開発するときはLPC-Linkを使うようにJ-Linkもその仲間というイメージです.
このデバッガは様々なマイコンに対応していて,
Cortex-M0,3,4 Renesas RX63M RV32 PIC32MX など様々な種類のマイコンに対応してます. すごい. 詳細はこちら.
SEGGER: Overview of Supported CPUs and Devices
他のデバッガとじゃあ何が違うねんとなるわけですが, 今のところ以前使っていたST-Link+GDBと比べた感じ,
バイナリの転送速度が段違いで速い ブレイクポイント間の移動がありえん速い. break pointから抜けて次のbreak pointに到達するまでも速い. J-Link RTT使えて嬉しい. などの嬉しい声が届いてます. すごいですね.
詳細は公式HPやidさんのブログ,
超便利 最強デバッガ J-Link
に詳しく書いてるのでぜひそちらをご覧ください.
J-Link RTT って何？ RTTはReal Time Transferの略で, SWD/JTAGの線上でUART通信みたいにPCと双方向にデータのやり取りができます.</description></item><item><title>独立2輪車型のロボットにKanayama Control Methodを実装して軌道追従をする</title><link>https://blog.oino.li/posts/kanayamacontrolmethod/</link><pubDate>Thu, 13 Dec 2018 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/kanayamacontrolmethod/</guid><description>概要 近年, マイクロマウスで流行っている軌道追従について自分が行っているKanayama Control Method をもとにした制御の話をしていきます.
はじめに この記事ではこの半年, 論文を読んで自分なりに試行錯誤して実装した話を書いています.
タイトルには独立2輪車型のロボットと書いてありますが, 実装は私が作っているマイクロマウスで行っています.
実装するモチベとしては, 「ロボットを複雑な軌道に対しても追従できるようにしたい」, 「再現性のある動きをさせたい」, 「マイクロマウスに出てくる壁が無くても走れるようにしたい」 といった感じで, 「めっちゃ速く走りたい」 といったものではないのでご注意.
本文 前提 まずは制御対象を以下のように扱います.
ロボットの状態は絶対座標での位置と姿勢を表していて, $V$はロボットの並進速度, $w$はロボットの角速度になります.
ここでは入力として$V,w$を与えています. ここで, $V,w$ と $x, y, \theta$の間では以下の関係が成り立っています.
\begin{eqnarray}
\begin{array}{ c }
\dot{x} =V\cos\theta \\\
\dot{y\ } =V\sin\theta \\\
\dot{\theta } =w
\end{array}\
\end{eqnarray}
今回の目標は目標軌道にロボットを追従させることです.
軌道と経路の違いや, 軌道に追従させるとは何かという話はidさんやTokoroさんがこちらのブログで説明しているので, そちらを見てくれると分かりやすいと思います.
独立二輪車型ロボットで目標軌道に追従する制御をする①
軌道と経路の違い | Tokoro&amp;rsquo;s Tech-Note
実装はこちらの論文を読んで行いました.
A stable tracking control method for an autonomous mobile robot</description></item><item><title>趣味の移動のお話</title><link>https://blog.oino.li/posts/moving/</link><pubDate>Wed, 05 Dec 2018 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/moving/</guid><description>概要 これはrogy Adovent Calendar 2018 5日目の記事です.4日目の記事はやまだくんによるCODE THANKS FESTIVAL 2018 参加記でした. 大会の参加記をこうして残すことは大事ですね. 結果も残せたようで良かった.
5日目の私は自分の趣味であるところの移動の話をしようと思います. その前にまずはQ&amp;amp;Aのコーナーです.
Q&amp;amp;A Q:マイクロマウス全日本大会について書いた方がいいんじゃないか？
A:わかるなぁ
Q:軌道追従についてまとめるって言ってたんですが, まだですか？
A:わかるなぁ
本文 私は趣味として移動をよくしています. 昨年まではあまりしていなかったのですが今年から頻繁に移動するようになりました. そもそも, 移動とはなんでしょう？ Wikipediaによると
移動（いどう）とはある場所から他の場所へと位置を変えることである。
だそうです. 専ら私は唐突に色んな所にふらっと行くという意味で使っています. 今年は深セン, 福井, 台湾, 京都など様々なところにマイクロマウスの大会の遠征や旅行で行きました.
今日はここでそれらについて振り返っていきたいと思います.
深セン(3月5日-3月8日) 記事はここです
所属しているサークルの人たちと深センに3泊4日で行きました. 私が少し中国語を話せたということもあり, 旅行は特に問題なく進めることができました. CADソフトで自作した基板をElecrowに発注をかけて深センで現地受け取りもできたので良かったです.
観光の街ではないので, 観光スポットはないのですが(それはそう), ヲタクなのでこういう電気街をウロウロするだけで楽しいので問題なかったです.
深センに入る際に香港経由で行ったので次回行くときは香港周りも歩きたいです.
金沢, 福井(7月14日-7月16日) 記事はここです
これはマイクロマウス草の根大会に行ったときのものです. 初めての大会遠征に行きました. 実はそれまで全日本大会以外で走れたことがなかったので走れて良かったです. 福井大学からくり工房I.Sysに遊びに行ったり, 金沢の観光もできてよかったです.
何も考えずに行きの手段で自由席の新幹線を使ったせいで, 席に座れずに1時間近く死にかけたので次回行くときは席が用意されてる高速バスを使おうと思います.(は？)
台湾 (9月13日-9月18日) そのうち改めて書きますが, 今年行った移動の中では屈指の頭の悪い移動だったと思います. 主目的としてはマイクロマウスの台湾大会に参加する でしたが, 監獄みたいな宿に泊まったり, 雰囲気で異国の地でバスに飛び乗ったり, 帰国前夜に唐突に山登りを始めたり等, 枚挙に暇がありません.
本当に旅行と言うにはあまりにも移動という感じでした.
ただ, 初めてマイクロマウスの大会で最短走行に成功したり, 現地でTwitterの相互フォロワーの方と会えたり, また同じく日本から遠征でやってきた学生たちとご飯食べたりして楽しかったのです.</description></item><item><title>MATLABでマイクロマウスの機体をシステム同定してPIDチューニングする.</title><link>https://blog.oino.li/posts/matlabsystemidentification/</link><pubDate>Sun, 09 Sep 2018 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/matlabsystemidentification/</guid><description>MATLABで マウスの同定 やりました. 表題の通り, MATLABでマイクロマウスの機体(2輪ロボット)の左右のモーターへのステップ応答から車体の伝達関数を出しました.
はじめに 近年, MathWorks社様がマイクロマウス大会のスポンサーになり, 競技者たちは申請をすることでMATLABが使えるようになりました. これをきっかけにMATLABを用いたロボットのモデリングやシミュレーションなどが盛んに行われるようになるのはここで論ずるまでもないでしょう.
https://jp.mathworks.com/academia/student-competitions/micromouse-contest.html
今回はその一環として, マイクロマウスの機体をモデリングすることで, 簡単に制御に必要な速度コントローラーのPIDゲインを出しました.
なぜシステム同定をするのか 一般的に移動ロボットを制作する際に, 速度コントローラーを設計します.(移動するので) こんな感じのものを皆さん実装しているのではないでしょうか.
そしてこれ(速度コントローラー)を実現するものして, PIDコントローラが存在します. このPIDコントローラーのパラメーターを適切に求めるにはロボットの運動についての数理モデルが必要になります.
よくロボットの制御で聞くPIDゲインの決め方として台形加速を入力していい感じにゲインを求めるというのがあります.(実際に私がMATLABを使ってモデリングするまではこの方法を使ってやっていました.)
しかし, これは
無限に時間をかけてしまう.(人生は何もしないことには無限だが何かをするには有限) 今入れたPIDゲインを定性的に評価できない. しんどい(しんどい)
などの問題が生じてしまいます. そこで, システム同定, すなわち制御対象であるロボットのモデルを求めることで自分の設計したコントローラーについて理論的に制御器の安定性や性能評価をPC上で行うことができます.
参考文献 足立先生のシステム同定の本を読んでシステム同定について勉強しました.
システム同定の基礎
また, こちらのidさんの記事の方も大変参考にさせていただきました.
私が実際にやった同定はこれより簡単なものになるので, もっと理論的なことを知りたい！という方はこちらを参考にするといいと思います.
マイクロマウスの機体を同定する
実際のMATLABでの操作はここらへんを参考にしました.
https://jp.mathworks.com/help/control/getstart/interactively-estimate-plant-parameters-from-response-data.html
この動画の33分ぐらいから同定の際の操作についてビデオがあります.
https://jp.mathworks.com/videos/pid-control-in-simulink-made-easy-94294.html
システム同定をする まず, システム同定を行う対象はこちらの私が作っているクラシックマウスのNigLacertoです. 今回はこのロボットに対して, 並進方向及び回転方向についてモデリングを行います.
仕様 データ モーター &amp;amp; エンコーダー FAULHABER 1717-006SR &amp;amp; IEH2-1024 ギア比 13 : 40 重さ 115g 実験データから同定する際にはSystemIdentification Tool Boxが必要です.</description></item><item><title>セキュリティ・キャンプに参加しました</title><link>https://blog.oino.li/posts/2018-08-18-seccampreport/</link><pubDate>Tue, 28 Aug 2018 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/2018-08-18-seccampreport/</guid><description>8/14から8/18までクロスウェーブ府中で行われたセキュリティ・キャンプに参加しました.
セキュリティキャンプとは セキュリティ・キャンプとは、日本における将来の高度IT人材となり得る優れた人材の発掘と育成を目的とした独立行政法人情報処理推進機構(IPA)の事業の一つです。 現代においては、情報セキュリティの脅威は高まる一方です。 本事業では、セキュリティ分野に興味を持ち、将来同分野で活躍したいという意志をもった若者に対して、高度な情報セキュリティ技術の習得機会を提供しています。また、モラルや法律遵守の意識、セキュリティ意識、職業意識、自立的な学習意識についても向上のための機会を提供しています。 本事業は、2004年度のスタート以来、2017年度のセキュリティ・キャンプまでで計663名の将来が有望なIT人材を輩出しています。セキュリティ業界はもとより各方面から、高度なIT人材育成に有益なイベントとして高く評価されています。 (https://www.ipa.go.jp/jinzai/camp/2018/zenkoku2018_about.htmlより) 私はフィジカルトラックに参加しました. 以下に写真とともに振り返っていこうと思います.
以前書いた応募用紙の内容はこっちです.
1日目 ここどこ Part1 ここどこ Part2 ここどこー！？ pic.twitter.com/TlZtAtlCOv
&amp;mdash; イェーイ (@dango_bot) August 14, 2018 会場で何をすればいいのか分からないので575探してる pic.twitter.com/3zY4UVW2Nn
&amp;mdash; イェーイ (@dango_bot) August 14, 2018 お昼 最初にグループワークを交えて基礎講義を聞きました. OSSの話や法律の話が大変興味
深かったです.
全国大会１つ目の講義、園田さんによる「セキュリティ基礎」が始まりました! #seccamp pic.twitter.com/2iiKFXAn7e
&amp;mdash; セキュリティ・キャンプ (@security_camp) August 14, 2018 株式会社びぎねっと 代表取締役社長兼CEO 宮原 徹様による特別講演「自由なエンジニアとは何か 〜 OSC 開催を 10 年以上続けて分かったこと〜」が始まりました! #seccamp pic.twitter.com/d7AQlpOigJ
&amp;mdash; セキュリティ・キャンプ (@security_camp) August 14, 2018 西村あさひ法律事務所 北條孝佳様による特別講演「ハッカーは法律を破るのか」が始まりました。#seccamp
&amp;mdash; セキュリティ・キャンプ (@security_camp) August 14, 2018 夕飯 夕飯のあとはLT大会を聞きました.</description></item><item><title>マイクロマウス金沢草の根大会2018に行きました</title><link>https://blog.oino.li/posts/kusanone2018/</link><pubDate>Fri, 10 Aug 2018 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/kusanone2018/</guid><description>草の根へ 初の遠征 行きました まずは, 草の根大会の2週間前の僕の様子です.(Miceプチ大会後)
ロボメカの人たちと「ぜってぇー関西大会で完走してサイコーの平成最後の夏送ろうな」と約束したので頑張ります
&amp;mdash; イェーイ (@dango_bot) July 1, 2018 そして, 残念ながら関西大会が記録的豪雨で延期になったときの僕の様子です.
関西大会で完走してみんなでサイコーの平成最後の夏送るって約束したんだ、、、
&amp;mdash; イェーイ (@dango_bot) July 6, 2018 悲しいですね. その一週間後に草の根大会へ遠征に向かいました. Cheeseを結成してから初の遠征となりました.
今年からマイクロマウスの全日本大会に出場するためには地方大会で完走しなくてはいけませんので, ここで完走ができたら後々余裕を持って開発ができるなと言う気持ちと**&amp;raquo;観光したい&amp;laquo;**という気持ちで草の根大会へと向かいました.
今回は当日のツイートや写真とともに紹介していきます.
大宮の 自由席で 少し泣く 新幹線立ち乗り勢です
対戦よろしくお願いいたします#CheeseContest2018
&amp;mdash; イェーイ (@dango_bot) July 13, 2018 金沢につく 良いオタクになっても天国にはいけないかもしれないけど, 悪いオタクはどこにだって行ける pic.twitter.com/se4zfqIXBI
&amp;mdash; イェーイ (@dango_bot) July 14, 2018 お昼ごはん おいしい 兼六園 兼六園から乗ったタクシー, エモい #CheeseContest2018 エモい pic.twitter.com/XNjW7LG59a
&amp;mdash; イェーイ (@dango_bot) July 14, 2018 大会会場がめっさきれいでした 大会本番 とりあえず, 最初は普通に探索をしようと思ったのですが, 探索途中でスラロームでターンしたあとの前の壁が読めずに正面から壁に激突しました.</description></item><item><title>セキュリティ・キャンプに受かりました</title><link>https://blog.oino.li/posts/seccamptaskreport/</link><pubDate>Thu, 14 Jun 2018 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/seccamptaskreport/</guid><description>セキュリティ キャンプ参加 できそうです セキュリティ・キャンプに無事に受かりました. わーい.
私はDのフィジカルトラックに参加します. 基本的にロボット作るのをメインにやっているので, セキュリティはよくわからないですが頑張っていこうと思います.
書いた課題 何か自分の書いた応募用紙を公開するという話を聞いたのでおいておきます.
ご参考程度にどうぞ.
注意
一部, 個人情報などはオブラートにカモフラージュしています. 日本語が怪しいところはありますが, 原文ママなのでお許しを. 課題はよく分からないまま提出しているものもあるので, ご注意ください. 熱意をガーと書くのがいいという話をよく聞くので来年度受ける人は頑張ってください. 本文 フィジカルトラック応募課題
スキルを問う課題Aとあなたの興味や意気込みを問う課題Bを用意しました．
それぞれ２問以上選択して答えてください．ただし回答はテキストのみとします．図版や動画で表現したい場合はURLを記してください．また回答に際し、あなたの著作物、ソースコード、動画等があればURLを示してください．
課題A.スキルを問う問題
A1.あなたのプログラミングのスキルを推し量るエピソードがあれば書いてください． 私は中学生の頃から, 電子工作をしていて高校生の頃から本格的にLinuxでマイコンプログラミングをしていました.
PICというマイコンにC言語でプログラムを組み, 知能ロボットコンテストやロボカップジュニアといったロボットの大会に参加してました.
大学生になってからはサークルでマイクロマウスというロボット競技に取り組むチームを作ってC++を使いながらCortex-M4のCPUを使ってロボット制作をしています. ソースコードは全部ここに乗っています.(https://github.com/dangorogoro/Dangoromouse)
バイトでは大学の研究室のRAを勤めていて, Pythonを使ってスクリプトを書いてます. このバイトの一環でROSにも触ったことがあります.
また始めたばかりですが, 別のバイトでベンチャー企業でもアルバイトをしていて, そちらの方ではマイコンがプログラムを動作させるのに必要な知識を身に着けながら低レイヤーのプログラミングをしています.
他のプログラミング言語としてシェルスクリプトを書きます. すべての処理をワンライナーで書く&amp;quot;シェル芸&amp;quot;に興味があって本や勉強会資料を読んで読んで勉強しています.
AWSにサーバーを借りてブログをPelicanというPythonで書かれた静的サイトジェネレータでブログを作っています.
A2.linux（unix）に関するあなたのスキルを推し量るエピソードがあれば書いてください． 高校生の頃, 使ってるノートPCにRAMが5GB入ってたのに32BitのWindowsVistaが動かしたので不便を感じて, 初めてUbuntuをインストールしました. マイコン開発をUbuntuの上でやっていく中でシェルスクリプトなどの書き方やLinuxの動作などについて色々学びました.
それから趣味の開発などは全てLinuxの方で行ってます. 大学生になってからはArch LinuxというOSを使うようになり, 自分で開発環境などを構築して作業を行ってます. 最初の方こそ慣れませんでしたが基本的にコマンドライン上で作業しており, Awesomeのようなタイル型ウィンドウマネージャが好きです. 研究室のRA業務ではUbuntuの上で開発を行っていて, プログラムの作成や組み込みLinuxを動かして信号処理を行ったりしています.
最近はLinuxの内部での動作に興味を持っていて, この本でシステムコールなどについて勉強しています.
A3.電子回路、ハードウエア、HDL等のあなたのスキルを推し量るエピソードがあれば書いてください． マイクロマウスというロボット競技に参加していて, そのロボットの電子回路は基本的に全て自分で設計し, 部品を発注して作っています.
マイクロマウスでは赤外線LEDと, フォトトランジスタを使って迷路の壁を調べていくものになっていて, 私はもっと外乱に強いセンサーを作りたいと思って最近はアナログ回路などについて勉強しています.
昨年の大会で出場したロボットについてブログにまとめていってるところです.
だんごろまうす2weiの紹介 Part1
また, ハードウェアについてもロボットの機械的設計を1から全部1人でやっています. Linuxで動く3DCADソフトがあまりなくて, Onshapeというウェブサービスを使って開発を行っています.</description></item><item><title>だんごろまうす2weiの紹介 Part1</title><link>https://blog.oino.li/posts/dangoromouse2weipart1/</link><pubDate>Sat, 19 May 2018 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/dangoromouse2weipart1/</guid><description>自己紹介のところでマイクロマウスを作っていると言って, 記事を書いていなかった&amp;hellip;
というわけで2017年度のマイクロマウスの大会で私が作っていたマウスを紹介します.
だんごろまうす2wei 回路図はこちらです. 上の充電基板とICM-20602は異種面付けでくっつけました.
回路図
仕様 データ サイズ 78(W) * 75(L) * 23(H)mm 重さ 86g ギア比 9:44 ピニオンギア 9T Module 0.5 (Helimonster) モーター FAULHABER 1717-006SR &amp;amp; IEH2-1024 バッテリー Hyperion 1cell 120mAh * 2 マイコン STM32F405RG IMU ICM-20602 モータードライバー DRV8835 * 1 赤外線LED VLSY5850 フォトダイオード SFH213FA 3DCADデータ Onshape上で作っているので全部公開されてます(わーい)(めっちゃ雑なのは許して&amp;hellip;)</description></item><item><title>深セン旅行に行ったお話</title><link>https://blog.oino.li/posts/shenzhentrip2018/</link><pubDate>Sat, 24 Mar 2018 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/shenzhentrip2018/</guid><description>先日, 中国の深センへ旅行に行きました.
その時の事を写真と共に紹介していこうと思います.
深センって何？ 深センは中国の経済特区の一つで近年非常に目覚ましい発展を遂げています.
私達が行った華強北というエリアでは, 特に電子部品などが大量に売られていて, 秋葉原のめちゃめちゃでかい中国版という感じです.
そんな深センに3月5日から4日間, サークルの人たちと行きました.
1日目: 成田から香港通って深センへ 成田空港第三ターミナルからVanilla Airを使って香港へ 空港でお昼 麺と言うにはあまりにしらたき(美味しい) 空港から相乗りタクシー 100km/h出してました 切符を買って電車に乗る. コインが出てきました. 泊まったホテルと象さん 1日目の夕食の火鍋屋さん 火鍋と薬味 街中のアツい標語 メインストリートの立方体LEDオブジェ きれい コンデンサの広告 ナチュラルに存在するので驚きです. 野生のカメラモジュール 2日目: 深セン散策 KFCで朝食 ぼやけ気味 赤色の自転車のmobikeに乗って移動 カゴの太陽光パネルに広告？を貼る人 公園 rogy2輪自転車制御部の皆さん 電気街の建物 いろんな電子部品のお店が乱立してました. みかんをその場で切ってジュースを作ってくれる装置 みかん？汁先生 ビルの中 昼食をとったお店 必死の中国語を駆使しました. 麺類とあげパン 美味しい Aliexpressで注文すると来るアレ 1000個単位から販売してる模様 別の電子部品モール 深センにはこんな建物がめちゃめちゃあります. スマホの修理店 乱立するロゴがアツい 人テープ人人テープテープ人 モール内では黄色いテープを貼り付ける音が絶えず聞こえます. 階段下のLEDディスプレイ よく見るとフルカラーLEDの上に黒いコントローラーICのようなものがあります. (目をやられた) 老街へ夕飯を 世界のくまモン 近くの火鍋屋さんへ 美味しい 青島ビール 1本8元(130JPY) 3日目: Elecrowに基板を受け取りに 朝ゴハンのマック おかゆ またmobikeに乗ってElecrowへ 不安になるエレベーター 無事に基板を受け取りました.</description></item><item><title>Linuxで動く3DCAD Onshapeのお話</title><link>https://blog.oino.li/posts/aboutonshape/</link><pubDate>Mon, 15 Jan 2018 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/aboutonshape/</guid><description>最初の記事は今使ってる3DCAD製作支援サービス, Onshapeの話をしようと思います.
Linux 3DCADが 動かない 私は普段使いのノートPCにはArch LinuxとWindowsというOSをデュアルブートしていて, 作業は専らArch Linuxの方でやっています.
何不自由ないLinuxライフを送っている私ですが, 唯一困るのはロボット製作をするときに使う3DCADソフトです. というのも
InventorやFusion360はLinuxにインストールできない. オープンソースで開発されているFreeCADは実用に耐えられない(2018/01/15 時点の私個人の感想です.) という問題があります. 解決策として挙げられるのは
Wineでがんばる. Windowsを立ち上げてInventorやFusion360をインストールする. Onshapeを使う. などが挙げられます.環境構築で時間を使いたくなかったし, Linuxだけで作業を完結させたかったのでOnshapeを使ってみました.
Onshapeを使う OnshapeのHPです.
https://www.onshape.com/
OnshapeはWebブラウザで使える無料の3DCAD支援サービスです. アカウントを登録すれば誰でも無料で使うことができます.
もちろん, Linux上でも動作します.(現在, 私はChromiumというWEBブラウザ上で問題なく動作させています.
全ての処理がクラウド上で行われるので手元のマシンに新しくインストールするものは何もないです.
また, データはサーバ上にあって, AndroidやiPhoneで動作するアプリケーションもあるのでどこでも作業することができます.
作ったデータに関してですが, 基本的に制作物は誰でも見られるよう公開されているので, 他の人の制作物も簡単に見て学ぶことができます. (課金で非公開にすることも可)
ブランチ機能もあり, 制作物の状態をGitのように管理できるので便利です.
使い方 基本的にはスケッチ書いて押し出したり, 回転させたりするとできます.
他の3DCADソフトと使い方はあまり変わらないのでここで言及しません.
TutorialやVideo群がここにあるので参考にしてみるといいと思います.
https://www.onshape.com/video
FeatureScript 最近, FeatureScriptという機能が公開されました.
https://www.onshape.com/featurescript
これは, Onshape上で動作するプログラミング言語で, 自分でOnshape上で動作するスクリプトがかけるようになりました.
また, 人の書いたスクリプトも自前のStudio上で動作させることができます.
今回はFeatureScriptで書かれたcustom featureの一つ, SpurGearの使い方を紹介しようと思います. (これが出てきたのでブログを書こうと思いました.)
SpurGear このスクリプトはOnshapeの中の人が作ったもので,インボリュート曲線を使ったギアを作ることができます.
私はマイクロマウスというロボット競技に参加していて, ギアを設計するという機会が何度かあるのですが, 今までは</description></item><item><title>書き始め</title><link>https://blog.oino.li/posts/first_commit/</link><pubDate>Thu, 04 Jan 2018 00:00:00 +0000</pubDate><guid>https://blog.oino.li/posts/first_commit/</guid><description>ブログ始めました.</description></item></channel></rss>