# エントリーシート {%hackmd theme-dark %} ###### tags: `job_hunting` ## TL;DR RoboCup,WorldRobotSummitなどの世界的なコンペティションに出場してきた人です。 今は特に機械学習をやっていて、興味の範囲が広いのでソフトウェア全般なんでもやりたい感じです。 ## 受賞歴 SI2019 優秀講演賞 (題目 ステレオカメラによる透明物体の三次元位置推定) WebIotハッカソン2019 石川 最優秀賞 RoboCup2018 世界大会(カナダ) @home 5位 RoboCup2018 日本大会 @home 9位 WorldRobotSummit2018 フューチャーコンビニエンスストアチャレンジ 出場 第8回KITハッカソン 金沢市ビジネスプラザ賞受賞(2018) RoboCup2017 日本大会 ヒューマノイドキッズサイズリーグ 2位 RoboCup2016 日本大会 ヒューマノイドキッズサイズリーグ 3位 ## 成果物 ### WorldRobotSummit - 概要 WorldRobotSummitという経産省主催の大規模なロボット関係のコンペティションに参加し、その中のコンビニエンスストアを自動化するロボットの制作に携わった。 担当した範囲はサンドイッチなどの物体の三次元位置推定とロボットの移動の制御及びその他のプログラムの統合であった。技術的な成長とチームメイトであったために三次元位置推定ではまず物体につけたマーカを使って画像認識で推定する最低限のセーフティネットを張り、その後にリスクのある発展的な手法として点群処理を使った三次元位置推定に取り組んだ。 - やったこと 下記の機能を実装・統合した - マーカの三次元位置推定 こちらは既存のパッケージを使用。 - 点群処理によるサンドイッチの三次元位置推定 RANSACで大域的な位置を特定した後にICPマッチングで姿勢のずれを修正する。 - 2DLidarを利用した環境情報の取得と車椅子の姿勢補正 - 車椅子の制御 既存ソフトウェアのバグ取り - Link https://github.com/OkanoShogo0903/o_display_disporsal_2018 https://github.com/OkanoShogo0903/open3d_workspace ![これは動画では無く画像です。動画は画像上に書いてあるタイトルでYoutubeから見ることができます。](https://i.imgur.com/RoVGzSa.jpg) ![大会の様子2](https://i.imgur.com/vdPRGo0.jpg) ### RoboCup@home - 概要 世界最大のロボットコンペティションであり、その中の生活支援の部門に出場した。 これは自律で動くロボットによってタスクをこなす競技である。 自分の担当は機能の統合と音声認識であった。 統合についてはチームメンバーが開発した各機能の入出力をROS化してそれを組み合わせて適宜呼び出すパッケージを実装した。 音声認識についてはGoogleSpeechAPIをROS化したものを実装して利用した。 また、大会会場は非常に雑音が大きくGoogleSpeechAPIの音量の閾値を下回らないためか音声認識結果が送られてこない問題があった。 この問題はクライアント側の実装で解消した。 - こだわり - 起動時の手順資料 起動時のコマンドや確認事項の資料をチェックボックス付きで整理したものをREADMEにつけた。 本番では二人でチェックリスト通りに確認を行うように徹底し、マイクボリュームの設定を忘れるなどのケアレスミスもなく終えることができた。 - 円滑な開発 音声認識や画像認識など、機能ごとにpackageを分けることによって開発を円滑にした点 - 迅速な開発と技術選定 限られた短い開発期間の中でも見切り発車の開発を行わず、きちんと使うべき技術の選定に時間をかけて現状で最も現実的な選択肢を選んだこと。 - Link https://github.com/OkanoShogo0903/tm_speech_person_recognition https://github.com/OkanoShogo0903/o_gpsr_2018 ![robocup](https://i.imgur.com/9INXUOC.jpg) ![speech and recognition](https://i.imgur.com/DtjDqvk.jpg) ### リアルタイムでのキャラクター推定 - 概要 人物画像をOpenPoseに渡して、関節の画面座標を得る。 それを関節角度に変換して得た特徴量に対してラベル分類を行い、 どのキャラクターのポーズであるかを推定する。 - こだわり 関節角情報が簡単に得ることができるようになることのニーズは大きいと考えて、その部分をpackageとして切り分けて配布できるようにした点がこだわりである。 現在トレーニングデータにジョジョの奇妙な冒険のポーズを使っているが、これを仮面ライダー等に変えて子供向けにして必殺技のポーズをとると対応するエフェクトがプロジェクションマッピングで投影されるようにできる。近日開催される技術系イベントでは、子供向け版に調整したものを持っていく予定である。 - Link https://qiita.com/okanosyogo/items/d62e6471ca3bb2877b0c https://github.com/OkanoShogo0903/ros_openpose_joint_converter https://github.com/OkanoShogo0903/character_estimation ![pose_estimater](https://i.imgur.com/iLwa6hc.png) ### スマートスピーカー - 概要 天気やニュースをスクレイピングして喋ってくれる。 - こだわり 以下の点をこだわった。 - 量産を意識している点 Pythonのヴァージョンやライブラリなどの環境はCondaの設定ファイルを読み込むだけでよいようになっており、ラズパイのセットアップやOpenJtalkなどの設定方法もコマンド付きで詳細に書いている。 - 各機能が別々のスレッドに分けてイベント駆動 機能ごとに切り分けて開発が行いやすいようにしている。 - Link https://github.com/OkanoShogo0903/InfoMaid ### 機械学習の根本的理解 - 概要 機械学習における代表的な手法(ニューラルネットワーク、決定木、PCA等)を実装した。 フレームワークを使わずに実装することで根本的に理解して今後ツールとして使っていけるようにすることを目的としている。 - こだわり 以下の点をこだわった。 - sikitlearnやtensorflowを使わずに実装している点 - 複数の本や解説動画などを見ながら実装することでより深く原理を理解することに務めた点 - Qiitaへの投稿や研究室メンバーへの解説など、理解した手法をすぐにアウトプットを行った点 - Link https://github.com/OkanoShogo0903/deep_work_space/tree/master/3layer-nn https://qiita.com/okanosyogo/items/2c003ebf2cb3810ae006 https://hackmd.io/s/S1MmSjAqE ### お絵かきツールによるデンソーアームの動作自動生成 - 概要 デンソーアームにペンを持たせて絵を書かせたい時、PAC言語でPtoP制御を行うのは非常に大変な作業です。 このソフトウェアはGUIで絵を書くことで簡単にデンソーアーム用のプログラムを生成することができるため、煩わしい操作からユーザを開放します。 - こだわり - 実行ファイルをダブルクリックするだけの簡単な起動 - 誰でも簡単に使える親切なGUI - 子供向けのポップで親しみやすいデザイン - マルチプラットフォーム対応 - 短時間での開発(内部処理を書くのに6時間、GUIを整えるのに4時間) - Link https://github.com/OkanoShogo0903/-DENSO-RobotArmProgramGenerator ![java app](https://i.imgur.com/EAJSwLC.jpg) ### 自作キーボード - 概要 - こだわり - **hjkl**について グーグルクロームはvimiumなどによってブラウザのhjkl移動を可能にしている。 しかし、入力フォームへの記入中やプラグインが入っていないパソコンで活動するときはhjklで移動することができない。 そのため、このキーボードでは特定のキーを押している時にhjklが矢印キーとして認識されるように**キーボードのファームウェアに書き込んでいるため、どんな環境でもhjklで移動が可能**になった。 - メールアドレスをマクロ入力 自分のメールアドレスは3種類ほどあり、それらをマクロで入力できるようにした。 **メールアドレスを手で打ち込んだ後に目でタイプミスをチェックする作業から開放される。** - マイコンのもげ防止 - 小指でEnterを押さないキーマッピング ![keyboard](https://i.imgur.com/3NCwDiA.jpg) ### vim - 概要 最効率で進捗を生み出すためのツール - こだわり **既存のキーバインドを汚染しない**ということをポリシーとしている。 その理由としては、変更したキーバインドに慣れると別の環境でvimを触るときにスイッチングコストがかかってしまい、unixにはじめから入っているという折角のvimの良さを潰してしまうからということが大きい。 また、vimはそのユーザ数のためにクロームブラウザやExcelなどvimキーバインドで動作するようにできるプラグインが多く開発されている。それらのプラグインはデフォルトのキーマッピングに対応しているからということも理由として挙げられる。 - Link https://github.com/OkanoShogo0903/vim-setting https://github.com/OkanoShogo0903/CharacterColorScheme ## Webサービス https://display-side-assistant.netlify.com/ 手軽にBGMを流したり調べものをできるサービス. パソコンゲーム中などのシーンで利用することを想定. ![web](https://i.imgur.com/mEYBRip.png) ## TwitterBot 大学生向けのBot Twitt Python習得の ![BOT](https://i.imgur.com/sOHTVaU.png) ## 英語変換を行うソフトウェアデベロッパー向けVimPlugin https://github.com/OkanoShogo0903/codic-line ![vimplug](https://user-images.githubusercontent.com/25472671/58524198-6c4c5c80-8202-11e9-8b57-460eef7e49ac.gif) ## Link - [具体的な言語経験 :link:](https://hackmd.io/@z8YR8JA9R5awGyLJe2TtaA/SyFplhsn4) - [大会の様子 :link:](https://www.facebook.com/search/top/?q=HappyRobot&epa=SEARCH_BOX) - [Github :link:](https://github.com/OkanoShogo0903?tab=repositories) - [Qiita :link:](https://qiita.com/okanosyogo)