Life on RE-yura
Robotics End-to-end? Engineer
RE-yura's Portfolio: RE-yura(青山裕良 / Yura Aoyama)のポートフォリオです。ロボティクス出身のソフトウェアエンジニアとして、これまでの人生や制作物・技術記事を記録しています。
Who am I?
UX を中心にプロダクトデザイン・アーキテクチャを考えるのが好きです。
大学では手術ロボットのメカ設計・制御や、マニピュレータのML(IL)制御をするなどしていました。今は Web application 屋さんで、表が React TypeScript (TanStack Router or Next)、裏が Node 系 (Express, Hono) の構成が多いです。やむを得ず Python 系 (FastAPI or Django) の時もあります。
デプロイ先のこだわりはないです。GCP (or Firebase), AWS, Alibaba Cloud, Cloudflare, Vercel, ...
Works
- 電磁力による力覚提示が可能な非接触遭遇型ハプティックインターフェース: 卒論です。(闇の教育改革により、4ヶ月で先行研究調査・設計・組立・制御ソフト作成・実験・論文執筆・発表までやりました…) 何度読み返しても当時の辛さが伝わってくるので、ぜひ読んでみてください。 (https://yura.is-a.dev/bachelor-thesis.pdf)
- 手術ロボットのマスタ(外科医が操作するコントローラ的なもの): 前述のとおり卒論が4ヶ月で終わったので、残りの半年以上を使って作りました。今まで作ってきたロボットとは設計・制御ともに桁違いに難しく、日々頭を悩ませる良い経験でした。
- 小型軽量かつ高剛性を実現する1自由度ハプティック把持操作システムの提案(ボールねじ機構を用いた試み): SI2020(計測自動制御学会 システムインテグレーション部門講演会)で発表した論文です。手術ロボットのマスタに載せることを想定した、2本指でつまんで操作するハプティックデバイスです。小さくて軽いのに、硬いものを掴んだときの手応えまでしっかり返せます。 メカの設計・発注・組み立てから制御まで、1人で担当しました。余談ですが、一度制御をミスって指が挟まれそうになり、ギリギリで回避して失わずに済んだことがあります。人生でヒヤッとしたランキングの3位以内には入ります… (https://yura.is-a.dev/si2020.pdf)
- 段階的な教示による陳列動作の模倣学習: 人工知能学会全国大会(JSAI2022)で発表した論文です。お店の棚に商品を並べる作業をロボットアームに模倣学習させ、失敗したときだけ人が操作を代わり、そのデータでまた学習させて少しずつ上手くしていく、という手法を試しました。単純にデータを増やすより、人が助けたデータで学習するほうが効率よく成功率が上がりました。 僕はテレオペ環境の整備や学習の調整、推論と実機の繋ぎ込みなどをやりました。 (https://www.jstage.jst.go.jp/article/pjsai/JSAI2022/0/JSAI2022_3L4GS804/_pdf)
- Automation of Intraoperative Tool Changing for Robot-Assisted Laparoscopic Surgery: Journal of Robotics and Mechatronics に載ったジャーナルです。腹腔鏡手術では、術中の器具の付け替えだけで手術時間の1〜3割を使ってしまいます。そこで、ロボットアームが鉗子を抜いて、付け替えて、また挿し直すまでを全部自分でやってくれるシステムを作りました。 僕は主に、カメラでトロッカ(お腹に刺さっている筒)の位置を推定するところと、アームの制御を担当しました。お腹は柔らかいので、トロッカの向きは抜くたびに微妙に変わります。それでも位置と向きを推定し直して、ちゃんと穴に挿し直せます。 (https://www.jstage.jst.go.jp/article/jrobomech/34/6/34_1216/_pdf)
- Yal (ロボット制御用C++ライブラリ): ロボット制御のプログラムには、フィルタ計算や通信(プロセス間・端末間)などが何度も登場します。それらをロボットごとに書くのは非効率なうえにソースの可読性も落ちるので、ライブラリにしました。git clone && cmake && make && make install で環境が整うので、ロボットを制御するときにはぜひお試しを。 (https://github.com/RE-yura/yal)
- アッカーマンリンク付きラジコン: 自動車のステアリングの基本理論であるアッカーマン・ジャントー機構を使った、独立2輪のラジコンです。学部2年くらいのときにサークルで作りました。懐かしい。 いつしか maxon モータ以外のモータを使わなくなってしまった。
- 対戦型ボウリングロボット(ピンロボット): とある授業で、数人のグループで作りました。2人用の対戦ゲームを想定していて、ボール側はピンがたくさん倒れるように軌道を入力し、ピン側はボールの軌道を予測してピンの配置を決めます。2人の入力が終わったら、同時にスタートします。 僕はピンロボットを操作する UI として Android アプリを開発しました。時間に追われながらのソフト開発は何とも辛いですね…
- 対戦型ボウリングロボット(ボールロボット): こちらのボール型ロボットは、設計と制御を担当しました。正直、こんな球形のロボットが上手く走るわけないやろと思いながら設計していたので、動画のように走ったときはめちゃくちゃビックリしました笑
- リアルタイムクイズアプリ: 某社の友人の結婚式で余興を頼まれ、某番組風のクイズアプリを作りました。同時接続80人を、Firestore + Cloud Run を使って無料で運用しました。人の結婚式を微妙な空気で包むわけにはいかないので、コーナーケースのバグ修正や負荷テストを真面目にやらないといけなかったのが、若干大変なポイントでした。
- Human Activity Recognition: HAR(Human Activity Recognition:人間行動認識)とは、カメラやセンサなどのさまざまな機器から得た情報をもとに、人間の行動を学習・推定する認識技術の分野です。 リンク先のリポジトリには、スマホの IMU 情報(姿勢・重力・角速度・ユーザの加速度)からユーザの行動を予測するスクリプトを置いています。PyTorch や scikit-learn で実装していて、ほかのデータ分析にも応用できるはずです。 (https://github.com/RE-yura/HAR)
- 顔認証デモ: ブラウザだけで動く顔認証デモです。名前と顔を登録しておくと、カメラに映った人を見分けて「あなたは ○○ さんですね?」と受付してくれます。Keras + tkinter、PyTorch + Qt と作り直してきた顔認識デモを、今度はインストール不要のブラウザ版にしました。 顔検出は YuNet、特徴量の抽出は SFace で、ONNX Runtime Web を Web Worker 上で動かしています。顔のデータは端末のブラウザにだけ保存され、外部には一切送りません。ただ、写真をかざしても通ってしまうので、本物の受付には使えません笑 (https://re-yura.github.io/face-reception/)
- スマブラビンゴ: スマブラビンゴを知っていますか? 知らない人は、まず kumamate.net/bingo を見てみてください。ただ、そのサイトはマスの色がリロードで消える、ファイターの名前が書いていない、DLC を入れるかどうか選べない、といった点が不満だったので自作しました。 (https://re-yura.github.io/smash-bros-bingo)
- 数字マジック: まず遊ぶ範囲(1〜100か1〜1000)を選び、その中から好きな数字をひとつ決めてください。表示されたカードに選んだ数字があれば「ある」を、なければ「ない」を押します。何回か答えると、最初に選んだ数字を当ててくれます。 時々こういうくだらないものを作りたくなりませんか? いや、なる。 (https://re-yura.github.io/number_magic)
- ポートフォリオ: 当ページです。このページを見れば僕がどんな人物なのかわかるような何かを目指して…? (https://yura.is-a.dev/)
Skills
フロントエンド
HTML, CSS, Sass, JavaScript, TypeScript, React, React Router V7, Next.js, React Query, Vue, Three.js, WebAssembly, Expo, Swift, Android, Kotlin, Google Chrome
バックエンド
Mysql, PostgreSQL, MongoDB, Express, Hono, FastAPI, Django, Ruby on Rails, Go
インフラ
Docker, Nginx, AWS, GCP, Alibaba Cloud, Terraform, Terragrunt, Ubuntu, Debian, Windows
ロボット
C++, Python, OpenCV, Qt, ROS, ROS2, Arduino, Platform IO, Raspberry Pi
その他
Pytorch, TensorFlow, Rust, Java, GAS, Git, VSCode, Vim, Markdown, WordPress, Matlab, Unity, Steam
Contact me
- Github: https://github.com/RE-yura
- Twitter: https://x.com/_reyura
- LinkedIn: https://www.linkedin.com/in/yura-aoyama/
Personal History
- 1997 - 生誕: 三島由紀夫さんには生まれたときの記憶があったらしいですが、僕は小2くらいまでの記憶がほとんどないです…
- 2004/04 - 2010/03 - 第三小学校: 4年生くらいから塾漬けで、泣くほど辛かった記憶があります。 6年間サッカーをやっていた記憶も、うっすら残っています。
- 2010/04 - 2016/03 - 南多摩中等教育学校: 1期生でした。 めちゃくちゃ良い学校でした。 英語は辛かった… テニスは楽しかった。
- 2016/04 - 2020/03 - 東京工業大学: 手術ロボットのマスタ開発 ボウリングロボット開発 Yal の開発 etc.
- 2016/10 - 2020/06 - メガロス | 野村不動産ライフ&スポーツ株式会社 [Part-time]: テニスコーチをしていました。人生で一番良いバイトでした。
- 2019/10 - 2022/03 - テックフライヤー株式会社 [Part-time]: Web やネイティブのアプリ・サイトをいっぱい開発しました。
- 2020/04 - 2022/03 - 東京工業大学 大学院: ロボットテレオペレーションの姿勢クラッチ VR/AR × 手術ロボット
- 2020/10 - 2020/11 - 株式会社リクルート [Intern]: Web アプリ開発(フロントエンド)
- 2020/11 - 2021/01 - リバーフィールド株式会社 [Part-time]: 手術ロボット開発
- 2020/11 - 2022/03 - 株式会社松尾研究所 [Part-time]: ロボット制御の自動化
- 2020/12 - 2021/12 - 株式会社 TBSテレビ [内定者研修]: 内定者研修で、1年間くらい同期のみんなと動画制作をしていました。
- 2021/08 - 2021/12 - 株式会社Preferred Networks [Intern]: コンピュータビジョン向けの Web アプリ開発
- 2022/04 - 2025/08 - 株式会社Preferred Networks: ML が裏側で動くアプリケーションをひたすら作り続けるソフトウェアエンジニアでした。人も事業も全部含めて、大好きな会社です。
- 2026/03 - - AIRoA (一般社団法人AIロボット協会) [業務委託]: Physical AI × Web
- 2025/09 - - XinobiAI 株式会社: AI でなんか作る人