yoshimi.'s Diary

よしみ.が過去にやってきたことに掃き溜めです

CODE BLUE 参加体験記

CODE BLUE学スタ体験記

10/28~10/29 にかけて行われたCODE BLUE (山P、ガッキーが出ない方)で学生スタッフとして参加したので、感想等を残しておきます。

応募課題

志望動機、ハンドル名での活動実績、過去の経験(英会話、接客、勉強会運営、イベント運営)
某キャンプや某365の応募課題を書かれたことがある人にとってはだいぶ、書きやすいと思います(笑)

そもそもどんなことするの?

今年はざっくり説明すると
受付、ロビー誘導
会場誘導、景品交換
カンペ出し(オンライン質問対応)
スピーカーアテンド
NOC(こちらは別途応募の案内あり)
です。もちろん休憩時間には聴講したりスポンサーブースを訪れたり、コンテストに参加できます。 特に就活してたり、インターン先を探している人は積極的スポンサーブースを訪れるのをオススメします!


・スピーカーアテンド
 会場に来たスピーカーの案内や身の回りの世話をします。また英会話のスキルが要求され、学スタの中から立候補した人から選ばれます。
・カンペ出し
 スピーカーの発表時間終了が近くなったタイミングでカンペを出したり、オンライン参加者からのチャットでの質問(当然英語での質問も来る)に対応します。こちらは立候補等はありませんが、スピーカーアテンドに次ぐ英会話力が求められるそうです。またカンペ出しの特権として担当するセッションの講義は全てリアルタイムで聴講できます。
・受付
 参加証の配布、同時通訳レシーバーの貸し出し等を行います。
・ロビー誘導
 私が担当したやつ。複数のメンバーと交代で受付や参加者専用ゲートへの誘導を行う。また、サーモカメラで引っかかった人や、参加証を持たずに参加者専用ゲートを通ろうとした人の引き留め、同時通訳レシーバーを会場の外に持ち出さないように注意喚起を行う。人間ファイルウォール。
 このポジションは椅子がないので休憩時間以外は立ちっぱなしな上に動き回るわけでもない(トイレや喫煙所等場所を聞かれたら案内(散歩)できる)ので、じっとするのが苦手な私にとっては一番辛いポジションだった(途中からゲートに来そうな参加者や関係者が見えたら会場専用のエレベーターを押しにいくなどして「歩く」という行為を正当化していた)
・記念品交換
 スポンサー、コンテストブースでチケットと記念品交換を行う。
・会場誘導
 講演会場内や付近の廊下で参加者の誘導を行う。
NOC
 会場のネットワーク設営etc 詳しくはNOC参加者のブログを参照されたい。基本的に他の学スタと一緒に業務を行うことはない

Day0

午後に集合。顔合わせ、担当の確認など。余裕がある人はNOCの通信負荷試験に協力。
夕方は学スタとスポンサー企業の方との 懇親会を兼ねたパーティーが行われました。

Day1

この日は7時集合でした(ホテルが会場の近くだったのが救い。スタッフの皆様ありがとうございます


この日は特に忙しくて聴講する余裕はほとんどありませんでした(足の回復を優先してた)
1日目閉会間際になると、みんなで協力して同時通訳レシーバの回収、捜索を行ったのが印象的です。

夜は学スタ数名を誘って飯に行きました。(ny_aさん、ごちそうさまです!)

Day2

この日は7:30集合でした。
私とSlniyiさんは実行委員のtakesako さんより会場限定で売っているボードゲームを頂きました。学内の同期を誘って遊ぶので感想等は後日、書きます

夜は会場でネットワークパーティーが開催され、スピーカーやスタッフ、スポンサーの方と自由に歓談できます。 また、20歳以上はPwC様主催のアフターパーティーに参加することができました。

最後にスタッフの方から学スタにプレゼントまで頂きました。

感想

 オフィスビルとかでずっと立っている受付の方や警備員の方ってすごいと感じました。もしかして専用のトレーニングを受けているのではないかと疑うレベルです。
というのは冗談(冗談ではない)で、大規模なイベントの運営を行うというのは物凄く大変だということを身に染みて感じました。しかし、これらの経験は滅多にできないので学生スタッフをさせて頂けて本当によかったです。

来年以降の参加者へのTipsとして

・英会話問題ない人はスピーカーアテンドをやった方が楽しいし、より充実したものになると思われる(大変そうだけど
・英語できなくても「英語できます!留学生と交流バリバリしてます!!」など自分を過大評価してもいいのでとりあえず応募時に書いておきましょう
・足と英会話スキルを鍛えておくと良さそう。
・立ったままじっとするのがダメな人は英語力鍛えてスピーカーアテンド orカンペ出しを目指しましょう。

3日間ありがとうございました!

RSJ参加記

私にとって初めての対面学会であり、とても良い経験でした。

初日
 15時頃ホテルに到着。その後、シンポジウムを聴講。終わった後は中央食堂で夜飯。

 21時ごろ、気分転換に東大を1時間ぐらい徘徊散歩。初めて訪れる大学を散歩するのは楽しい

 

2日目
 この日は多くの知り合いが発表していました。午前はかえるさんの発表を聴講。
その後は医療福祉システムのセッションを聴講。昼食は大学院の同期らと近所の定食屋で食事しました。
午後もは医療福祉システムのセッションを聴講したあとに、koyoさんと後輩の方の発表を聴きました。このセッションは私にとって特に興味を惹かれるものだったので参加できてよかったです。(発表内容を書くのは面倒ごとになるとあれなので控えさせていただきます)質疑応答では的確だけど圧がすごいな~笑という方もいましたが、koyoさんの後輩の方も質問に強気で返していたので、自分もあれぐらい強気で発表に臨むか~となりました。
夜は以前から計画していたRSJオフ会。大学付近の店は混んでそうだと判断して少し離れた春日駅近くのレストランで食事しました(美味しかった)


3日目
 朝、会場に向かうためホテルのエレベーターに乗ってたら前の大学のときのバイト先の同期がエレベーターに乗ってきて、びっくりしすぎて心臓が止まりそうになりました。
同期の発表は、かえるさんの発表の1つ前だったので参加していたのは知っていたのですが、まさか同じホテルにいるとは思わなかったので。(ここでの出来事と質疑応答で何回か発言してたおかげで発表中は緊張せずに済んだ説ある) 
この日は主に介護とロボティクスセッションに参加しました。昼飯はオフ会メンバーとsubwayへ。

午後は昨年度の表彰式だったので、koyoさん、かえるさんと秋葉原を少し巡った後に翌日の発表に向けての発声練習(?)へ。(clarisとかfripsideとか)
晩飯は先輩にお茶の水のダイニングバーで奢って頂きました。

料理もおいしく、マジック(水、木限定)も見れて楽しかったです。また平日だったのもあり人も空いていて快適でした。次はデートで来れるように頑張ります(?)

4日目
 午前はロボットマニピュレーションに参加していたのですが、ホテルに忘れ物をしたのに気づいて退出しました(ホテルが会場の近くで良かった)昼飯はいつものメンバーで中央食堂へ


 午後は介護ロボットとソフトロボティクスのセッションを聴講した後に自分の発表の準備。発表前はストレスと湿度で吐き気してました。ですが、いざ前に立ったら学ロボ組やラボのメンバー、大学院の先輩の顔見て何故か落ち着けました(見知った顔が多くて安心した説)発表も無事に終えることができてホッとしました(危ない部分もあったけど)自分の発表の後はたまきちさんの発表を聴くためにロボットハンドの機構セッションへ。 


結局、最後の多田隈先生の発表まで聴講させて頂いたのですが、やはりおもしろかった。加えて実際に装置を見せて貰えるのは貴重な機会だったと思う(飛行機の最終便の関係で直ぐに会場を後にしなければならなかった泣)

5日目
 楽しみにしていたこのロボを視聴。下記のツイートが綺麗にまとめて下さっているので内容はこちらを参考にしてください(9/15までは誰でもアーカイブがみれます。)

最後に
 初の学会でしたが、とても良い経験をさせて頂きました。代役での発表など予定外のこともありましたが、楽しかったです。オフ会のメンバーはもちろん、交流して頂いた方本当にありがとうございました。

セキュリティキャンプ2022に参加(tutor)してみて

ありがたいことに今年もセキュリティキャンプのチューター(Aクラス)をさせていただきました。

来年以降、チューターの応募を検討されている方の参考になればと思っていますが相方のチューターが良い記事を書いているのでそちらをご覧ください。(なのでこの記事は私の日記ですね)

msy2456.hatenablog.com

初日

5:00 起床、抗原検査キットで陰性を確認。その後、空港に移動開始

11:30 会場着、昼食を食べる。

13:00 開講式、LT大会(チューターは発表必須)etc

A1 

座学。最近のCVE等の事例も挙げて頂きながら医療情報分野におけるセキュリティの問題や対策手法等についての解説が行われた。

A2

LSI設計に関する座学と入門として、仮想マシンで実際にLSIの設計を体験するといった内容でした。

「自作OS、CPU、プログラミング言語は人類の3大欲求!」、「金沢は日暮里よりも近い」LSI制作に取り組むために最初から物理、数学とかをやってると不可能なので、入口を具体的に抽象化した方がいいとのこと。

チューターの主なサポート内容は仮想マシンの導入や使い方等のサポートがメインでした。

A3、A5

ロバストプロトコル。受講生がオレオレプロトコルを作成、ジャミングが行われている通信経路の中で誰のプロトコルが一番多くのファイルを正しい中身のまま送ることができるかを競うものでした。

正直、チューターのサポート時間の8割以上がこの講義でした(事前サポート含む)

サポート内容としては環境構築、本番環境へのSSH接続のサポート、サンプルプログラムの作成(私はpythonの方を担当)、受講生からのプログラムに関する質問対応、講師との競技のルール決めetc..

作成したサンプルプログラム(デフォルトでは1つのファイルしか送れない)はここに貼っておきます

github.com

受講生中には大会前夜(3時ぐらいまで?)頑張っていました(そして、翌日寝坊した人が誰もいないのは奇跡だと思っている)

A4

ファイルシステム(FAT32)の解説が行われた後に、バイナリダンプの中身を解析していくものといった講義でした。私自身、この分野には詳しくなかったので私も1受講生として講義を聞いていました。講義を聞いていると「読めるぞ、読めるぞ...」となって楽しかったです。

チューターのサポート内容はA2と同様、仮想マシン周りです

A6

IoT製品(ソフトウェア)のサプライチェーンの脅威分析を体験するといったものでした。私自身、受講生のときを含めて松岡先生の本講義に関わるのは4回目でしたが、講義後半は過去3回とは違うものでしたので新鮮でした。心残りとしては時間が押して最後に予定されていた講義がなくなってしまったのは残念でした… サポート内容としてはグループワーク時のサポート(議論で行き詰った際での助言等)でした。

A7

車載ネットワークにおけるCANパケットの解析。昨年までは別のクラスで行われていたので興味があっても聞くことができなかったのでとても楽しみでした。講義ではCANパケットの中身を解析した後に、それらの結果を基にCANパケットを送ってみたりなど面白い体験ができました。

サポート内容としては受講者のVNC環境で問題が起きたときの補助etc

以上です。

 

その他

休み時間にはXクラスの部屋に行って見学をしたり、1日の終わりにチューター複数人でコンビニに行ったり、集団ラジオ体操が始まったり、少ない時間でしたが他のクラスのチューターや講師の方々と交流することができました。(リコリコについても話したりできました笑

最後に

私は来年から社会人なので、おそらく今年が最後のチューターになると思います。2019年に受講して2020, 2021, 2022の3年間チューターをやらせていただきました。講師や他のチューターの方々、受講生、事務局の皆様本当にありがとうございました。

そして、受講生の中でチューターに興味がある方は是非チャレンジしてみて下さい。専門クラスの講義は幅が広く、年によって開かれる講義も大きく変わることもあるので応募の敷居が高いと感じる方もいると思います。しかし、専門クラスの特権として各クラスにチューターが2人(今年は1人のクラスもあったけど)いるので、自分が得意ではない分野があった場合はもう1人のチューターに頼ったり、協力することができます。したがって、全ての講義で1人の力で完璧にサポートできる必要はありません。(もちろん完璧にできる方が望ましいですが...)2人で協力しても難しい場合は講師や他のクラス。ゼミのチューターを頼ってみるのもアリだと思います(A3,A5においてはネクストチューターの方に頼りすぎてしまって反省しています)

私から伝えられるのはこれぐらいですが、個別に質問等をいただければ答えられる範囲で答えます

読んで頂きありがとうございました。

Openpose + Realsense D435で関節の3次元座標(カメラ原点)を取得してみた

以前にOpenpose をROSで使った記事を書きましたが、ピクセル座標しか取得できなかったので今回は3次元座標の取得を試みました。

yoshistl.hatenablog.com

ということで、早速環境の準備。私の環境は以下の通りです。

OS:Ubuntu 20.04(noetic導入済み)

RAM:16GB, GPU:

RGB-D camera: Realsense D435

CUDA: 11.5.2

cuDNN: 8.3.2

 

1. Install CUDA, cuDNN(GPU使う人のみ)

まず、以下のリンクで自身のOSにあったCUDA、cuDNNのインストールします

github.com

導入方法については以下のブログを参考にしました。(後から追記します)

 

2. Install Openpose 

日本語で書かれたサイトがいくつかあるが、公式ドキュメントが一番確実な気がする(主観)

OpenPose: OpenPose Doc - Installation

また、以下のリンク先にはOpenpose、そしてこの後導入するros_openposeの導入方法までのコマンドがまとめられてある(ROSの部分は無視してもらって)

github.com

ちなみにcmake-guiで設定してconfigureのボタン押すと、骨格推定で使われるモデルとかのダウンロードが開始されるが、結構大きなデータなので通信環境が良い場所でやることが望ましい。

ダウンロード時間はまぁまぁ長いが、あまりにも長すぎる場合はダウンロードが上手くいってないことも考えられるので中断して再度、ダウンロードした方がいいです。その場合、ダウンロード途中のモデルのファイルは消去してから行ってください(消していない場合、再度ダウンロードするときに既に同じファイルがあるとダウンロードがスキップされるので)

make installまでできたら以下のサイトのQuick Startに書いてあることをやって、動作確認 

https://cmu-perceptual-computing-lab.github.io/openpose/web/html/doc/md_doc_01_demo.html

2. ros_openposeの導入

github.com

上記のリポジトリを自身のROSのワークスペースにcloneして、run.launchの中身を自身の環境にあうようにパス等を変更。その後、catkin_makeしてエラー吐かれなければ、動作確認。

3.  3次元座標の取得

ros_openposeを実行できたら、ros_openpose/scripts/echo.py の中身を以下のリポジトリのコードに変更する

github.com

上記のコードでは右手首の関節座標を取得するようになってるが、変更すれば他の関節座標や複数の関節座標を同時に取得するのも可能(なはず)

また、rviz使わない人はPCの不可減らすためにrvizを立ち上げないようにlaunchファイルを変更すると良いかも。


疲れていたので少し雑な感じになりましたがお許しください(今後追記予定です)

ロバストプロトコルのサンプルコードを動かしてみた

今年もロバチャンの季節(某キャンプの季節)がやってきました

そして、毎年話題に上がるのがロバチャンの講義。いきなりロバストプロトコル書けと言われてもしんどいので昨年ぐらいからロバチャン創設者のリポジトリにサンプルプログラムが用意されたので、今回はそれを1台のPC(ループバックアドレス)で使用したときのメモを残しておきます。

こちらが使用した公式のリポジトリです

github.com

まずリポジトリをgit cloneやダウンロードするなりして自身のPCに落とします。

そして/robust 内にデータを受信するためのディレクトリを作成します(ここではdataReceive とします)

その後、/robust/sample 内のmain.py の9行目、32行目のipアドレス127.0.0.1に変更、35行目付近の

utils.write_file(f"../data/data{i}", filedata) を

utils.write_file(f"../dataRecive/data{i}", filedata)

のように先程作成したディレクトリと同じ名前に変更します

次に /robust 内のready.sh の12行目のipを127.0.0.1に変更してください

最後にmd5の値を確認するためのプログラム cmp.pyの9行目、10行目の

"./datar" を

"./dataReceive"

のように作成したディレクトリと同じ名前に変更します

 

あとはターミナルを2つ立ち上げて、1つ目のターミナルで /robust 内のready.shを実行して送信用のファイルを実行します

./ready.sh

もし、実行できないときはchmod やプロパティのアクセス権限から実行権限を付与して下さい。

その後、/robust/sample 内に移動して

python3 main.py receiver

を実行。

2つ目のターミナルで/robust/sample に移動して

python3 main.py sender

を実行するとファイルの送受信が行われます。

 

最後に /robust のcmp.pyを実行するとファイルの送受信に成功した数、失敗した数、重複した数が表示されます(今回は何も妨害がないので生成した全てのファイルの転送に成功しているはず)

 

あとはこれを基にオリジナルのプロトコルを自作するなり自由にどうぞ

2021振り返り

晦日なのでとりあえず

参加イベント等

今年は所属が変わって慣れない部分もあると考えたので参加イベントは少ないです。

読んだ書籍

ぶっちゃけ何を読んだか覚えてない。覚えてるやつだけとりあえず

アニメ(映画含む

通学時間が100分ぐらいあるので、その時間でアニメを見てた。その影響もあってアニメや出版業界への就職を考えるようになった。また赤字は私が特にオススメするものである。

 大学院では歩行アシストの研究に取り組みたかったが、今はロボットを使った着衣介助や選択作業の自動化といった、興味がそこまでない内容なのでモチベーションを維持するのが大変でしたが、SecHack365の民やセキュリティキャンプの受講生、講師陣の方と交流することで自分も成果を出そう思うようにしてた。就活は最近、エンジニア職だけでなくそれ以外の分野にも興味を持ち始めたので結構迷っているのが現状です。来年は国際ロボット展での展示や修論があり、大変だと思いますが可能なら未踏に応募したいと考えています。

 そしてこれを読んでくださっている皆様には、今年1年お世話になったと思います(おそらくきっとそう)そして2022年もよろしくお願いします。

ROS(Noetic)でOpenPoseからmessageをpythonで取得する

前回はROS(Noetic)でOpenPoseからメッセージを取得するためのパッケージ(

https://github.com/firephinx/openpose_ros)の導入について説明しました。

今回はpythonでメッセージの取得について書きます。

デフォルトでは25個の体のパーツの画像状での座標と認識したパーツが実際のパーツだる確率が出力されます。特定のパーツの座標のみ知りたい場合は指定(0~24)すると出来ます。(0がNose, 1がNeck...24がRHeelに対応している)

                       X        Y          score
Nose       239.5640  341.358  0.70
Neck       206.2270  353.120    0.90
RShoulder  159.220  341.419
RElbow     131.7780  384.560
Rwrist     188.5420  372.776
LShoulder  253.2610  364.842
LElbow     286.4910  415.841
LWrist     257.0760  433.491
MidHip     186.6620  470.655
RHip       157.2560  466.748
RKnee      112.1580  549.089
RAnkle     114.0790  627.423
LHip       216.0490  472.669
LKnee      233.6050  560.818
LAnkle     276.7830  639.204
Reye       233.6810  331.626
LEye       243.5060  333.555
REar       210.1900  323.830
LEar         0.0000    0.000
LBigToe    264.9830  666.627
LSmallToe  282.6300  664.626
LHeel      288.4960  645.047
RBigToe     67.1126  676.392
RSmallToe   67.1138  670.545
RHeel      123.9480  639.214

使うときは以下のリポジトリの getmsg_from_openpose_ros.pyをコピペして

python3 getmsg_from_openpose_ros.py とか rosrunするなりして実行してください。

github.com