転一

 転職して一年経ったので振り返り。もちろん書けないことは書かないので、公開情報(つまりGitHub)を主に参照する。

 まず、GitHubのアカウントはそのままのものを使っているので、だいぶContributionsに色が付くようになった。

https://github.com/SakodaShintaro

 7月頃に研修が終わってから、平日はそれなりの割合でなんらかのContributionはしているのだろう。

 プルリクエストの数としては、各種リポジトリをまとめて計算すると144個 Closedとなっているようだ。諸々考慮すると大雑把に2日~3日に1個くらいか。よく触るリポジトリであるautoware.universeは、パラメータ部分だけは独立して編集できるようにautoware_launchというリポジトリに弾き出しているのもあり、つまりパラメータを変更すると2つのリポジトリに同時にPRを出すことになって単純な数として増えがちという面はある。

 autoware.universeに絞ってこのリポジトリcontributorsを見ると自分は現在31番目となっている。

 高ければいいというものでもないとは思うが、コードを書く以外に大した能のない立場としてはある程度やっていかなければならないところではある。

主要なプルリクエス

 細かい診断機能追加とかバグ対応とかが多く、なにか目玉っぽい機能追加にはそこまで関わっていない。LocalizationのNDT、EKF、IMU、ARタグあたりをぼちぼちと見ているバグ対応とかちょっとした修正が多い。その中でもいくらかピックアップする。

NeRFベース自己位置推定

 研修のときにやっていたものをある程度仕上げてプルリクエストまでは出したが、まぁマージできるような状態ではないのでDraftに戻してわりと放置気味。少しずつ触っておきたいとは思っているが。

ARタグベース自己位置推定

 一応自分がメインで機能追加した立場となっているが、ライブラリを持ってきただけであまり実装をすごくやったという感じでもない。これ以降もリファクタリングなどちょこちょこ手だけは入れている。

TPE

 NDTによる初期位置推定で、それまではランダムに姿勢候補をばらまいて評価していたのを、Tree-Structured Parzen Estimator(TPE)というブラックボックス最適化を使ってちょっと改善した。ただ、姿勢候補の散らばり方に怪しいところがあり、なんかバグっているのではないかという疑惑がある。また変更はしていくことになりそう。

NDT単体テスト

 機能という感じではないが、こういう方面にもいくらか守備範囲があるということで。ROS 2のメッセージやりとりの制御をするのが面倒だったのか誰も手を付けておらず、いろいろ起きたのもあってじゃあ自分がやるしかないか……と。ndt_ompの方にもGitHub Actionsを使ったテストを入れたりした。

所感

 振り返り前はもっと目も当てられないくらい何もできていないのではないかと思っていたが、こうしてみるとなんとか最低限かもしれない。低いレベルで満足してしまうのが良くないという説はある。ぽつぽつ考えていることはあるが、とりあえず時間をたくさん投入してどうにかしていくしかない面も大きい。

 キャリア? とかいう謎のものがどうなっていくのか。自己位置推定をいろいろ触っているが、専門家というほどではなく。テスト・評価、あるいは堅牢かつ変更しやすいソフトウェア構造・実装というものに興味はあるが、専門家というほどではなく。数理最適化に興味はあるが、専門家というほどではなく。まぁ普通に生きていたらこうなるよな、という中途半端具合は少し感じる。

 興味のないものには全然興味でないままだということもわかってきた。英語も翻訳ソフトウェアにだいぶ頼っているし、話す聞くは放置。ハードウェア系もあまり首突っ込んでみようとならなかった。モチベーション低いままに「必要そうだから……」で学習するのは厳しいので、なんとかするなら根本から対処しなければならない。

 一年は短いな。