masato-ka's diary

日々思ったこととか、やったことの備忘録。

データドリブンなLチカという新時代へのパラダイムシフトをRaspberry Pi picoで体験する。

この記事について データドリブンなLチカという言葉をご存知だろうか?実はこの記事のために作った造語だ。今回はデータドリブンなLチカの意味ついて説明する。さらにRaspberry Pi picoを使ってTensorflow Lite for MicrocontrollerのLチカデモを実行する方…

DockerだけでROS2を開発できるコマンドラインツールを作った

1.この記事について DockerだけでROS2の開発をするコマンドラインツールを作ったので、その使い方などを簡単にまとめた記事になる。 こんなコマンドが公式であったら嬉しいけどもっと賢いベストプラクティスがきっとあると思うので教えてほしい。 2. モチベ…

WioLTEとEdgeAIのハンズオンしたいけどできないのでハンズオン資料だけ公開する。

この記事について この記事はSORACOM アドベントカレンダー4日目の記事です。8月ごろにWioLTEとEdgeAIを使ったハンズオンを企画しようと思いたち、資料を作成していました。残念なことに私的な事情により身動き取れず頓挫した次第です。ハンズオン自体は暖…

WioLTEとTensorFlowで加速度センサの値を分析、SORACOM で可視化する。

1. この記事について 加速度センサを使い、機器の状態を遠隔で監視することはIoTの一般的なユースケースの一つだ。ソラコムのサービスとWioLTEを利用することでそのようなユースケースを爆速で実装することができる。このユースケースを実現する際の課題の一…

TensorFlow Lite for MicrocontrollersとESP32を用いた安価なAI自動運転の検証

1. この記事について DonkeyCarなど行動模倣(Behavior Cloning)を行うAI RC CARではカメラ画像を入力とした推論と走行が一般的だ。1。この場合、エッジ側にもそれなりの計算力が必要になり、実機ハードウェアの構成が高額になる。この記事ではカメラを使用せ…

Jetson Nanoで動く深層強化学習を使ったラジコン向け自動運転ソフトウェアの紹介

この記事について 深層強化学習を利用してAI RC Carの走行を学習させるソフトウェアをGithub上で公開しています。learnign_racerと命名しました。2020年4月29日の時点でのバージョンはv1.0.0です。この記事ではこのソフトウェアについて紹介していきます。 g…

Variational Auto Encoderを利用したAI RC Carの教師なし学習の検討

この記事について この記事はAI RC Car アドベントカレンダー22日目の記事です。今回はAI RC Carの教師なし学習について考察します。 AI RC CarのDLモデル学習とそれぞれの課題 AI RC Carが走行に利用する学習モデルは基本的に教師あり学習で行われます。AI …

JetBotのroad_followingを使いやすくする。

この記事について この記事はAI RC Car アドベントカレンダー17日目の記事です。この記事ではJetBotのroad_followingのデモを実行しやすくするTipsを紹介します。 JetBotのroad_followingのデモ JetBotの公式リポジトリに置いてあるJetBotのデモはゲームコン…

AI RC Carは何を見て走行しているのか?

この記事について この記事ではJetBotやJetRacerで学習させたAIモデルが推論結果を出力する際に、画像上のどこに着目したかを調べます。手法としてはResNet-18のモデルにGrad-CAMを使って推論時に重視した画像上の箇所を可視化させます。 AIの推論とその根拠…

AI RC Carのプロポ信号をUSBゲームパッドに変換する

この記事について この記事はAI RC Carアドベントカレンダー13日目の記事です。今回はRC Carのプロポの入力をUSBゲームパッドとして変換する内容を紹介します。 AI RC Carとプロポ AI RC Carでは人がプロポを使って操作した内容をJetsonNanoなどのSBC(シング…

AWS RoboMakerのJetbotチュートリアルをやってみる(シミュレーター編)

この記事について この記事はAI RC Car アドベントカレンダー11日目の記事です。今日はAWS RoboMakerのJetbotチュートリアルをやってみます。このチュートリアルは2019年12月に開催された AWS re:Invent 2019でワークショップとして開催された内容です。実際…

JetsonNanoのカメラの色味を補正する。

この記事について この記事はAI RC Car アドベントカレンダー6日目の記事です。この記事ではAI RC Carによく用いられるJetsonNanoに接続されるカメラの設定について自分への備忘録の意味を込めて紹介します。今回の情報はFacebookのコミュニティ「AIでRCカー…

JetBotのraod_followingサンプル学習時のGPUメモリ解放忘れについて

この記事について この記事はAI RC Carアドベントカレンダー4日めの記事です。4日目の今日は小ネタ中の小ネタです。JetBotのサンプルに含まれるroad_followingの学習ノートブックの修正についてです。 road_followingは学習が遅い JetBotのサンプルにはroad_…

JetRacerの速度制御について考えてみた。

この記事について この記事はAI RC Car アドベントカレンダー 2019 3日目の記事です。3日目の記事はJetRacerの速度制御についてNVIDIAのリポジトリのブランチから考えてみたいと思います。この記事はある程度JetRacerの走行の仕組みを理解されている方向けに…

ソラコムのイベントでLTしたらSORACOM Lagoonがパワーアップした話

この記事について この記事はSORACOM Advent Calendar 2019 2日目の記事なります。今回は年末振り返りを考えてLT発表はしたけどブログ記事にしてなかった内容を紹介します。元ネタの資料は以下。4月に行われたSORACOM Drunkup でLTさせていただいた内容です…

AI RC Carをサマライズしたペーパーを作成しました。

この記事について この記事はAI RC Car Adventcalendar 2019の最初の記事です。初日の今日はAI RC Carの紹介も兼ねて、AI RC Carの概要をまとめたポスターを作成したので公開します。 AI RC Carを紹介する資料 作成したポスターはタイトルが「DIY Self-Drivi…

AI+IoTなデバイスをお手軽に作れるM5StickVとSORACOM LTE-M Button Plus

1. この記事について 夏の終わりに身の回りのものを整理していたら、購入していたまま放置していたM5StickVとSORCOM LTE-M Button Plusを発掘した。こんな二つを悪魔合体することでお手軽にAIとIoTを組み合わせられるのではと思いつき、「ソラコムポーズを取…

JetsonにEdge TPUにM5StickV で、エッジAI用やるには何を選べばいいの?

1. 概要 追記 公開当初Jetson Nanoの性能表記に誤記があったため修正しています。 最近組み込みデバイス(以下エッジと表現)で画像認識や音声認識、センサ情報の処理といったディープラーニングを利用した処理を実行することが容易になっている。低消費電力…

ディープラーニングとJetson nanoでEnd-to-Endな自動走行を実現した話〜Jetpilotを作ってみた〜

この記事ではディープラーニングを用いたEnd-to-Endな車両の自動走行について記載しています。NVIDIAのJetson nanoを用いて作ったJetbotをディープラーニングのみを使ったモデルで自作コースを1週させることができました。Jetbotがあればすぐに同じことがで…

JetbotでOpenVSLAMを試してみた。

この記事にてついて この記事ではJetbotを使ってOpenVSLAMを動かした内容をまとめている。SLAMの実行はJetson nanoではなく、別のホストマシンで実行した。ROSの設定方法や、動かし方を中心に記載している。 ROSで使える単眼SLAM ORB_SLAM2とOpenVSLAMがROS…

Jetbot+ROS+Python3環境構築

この記事について この記事ではJetbotのOSイメージにROSをインストールしPython3でROSのスクリプトを記述する方法について説明する。Jetbotのイメージで提供されているPythonのライブラリはPython3で記載されている。しかし、公式ではROSはPython2系対応のみ…

Jetbotを3G USBモデム(AK-020)でSORACOM対応する。

この記事について この記事ではJetson nanoに3G USBモデムAK-020を接続する方法を紹介する。RaspbianやUbuntuへの接続方法が多数紹介されている。Jetson nanoのUbuntu 18.04に接続する場合基本的な手順は同じだが、いくつか細かい違いがあったのでまとめてお…

3DプリンタなしでオリジナルJetbotを作った記録

この記事について JetbotはNVIDIAのJetson nanoを搭載したDIY Robotcarだ。その作成方法をNVIDIAがオープンソースで公開し誰もが作成できる。しかし、車体といった筐体パーツは3Dプリントが必要になる。STLファイルが公開されているとはいえ、3Dプリンタサ…

SpresenseとNeural Network Consoleのハンズオンに参加して気づいたこと。

この記事について この記事では以下のハンズオンに参加して、SonyのNeural Network ConsoleとSpresenseを使ってみた感想を記載している。Neural Network Consoleを使ってSpresenseで動かすCNNを組む際に気をつける点について記載してみた。 algyan.connpass.…

Javaライブラリ、KuromojiとKumoで日本語 Word cloudを作成する。

この記事について この記事ではJavaでWordCloudを作るためのライブラリKumoの使い方を紹介しています。Word cloudは文章中の単語を並べ、各単語の出現頻度にしたがって文字の大きさを変化させる画像です。これにより、直感的に文章の内容や特徴を捉えること…

if-up 2019に参加した話。

この記事について この記事ではソラコムさん主催のif-up 2019へ参加した感想について記載しています。if-upは2017年に開催されたソラコムさん主催のイベントです。その後同名のイベントはなかったのですが、今回パワーアップした形で帰ってきました。 if-up …

grpc-spring-boot-starterでSpringBootへgRPCを導入する。

# この記事について この記事ではgrpc-spring-boot-starterを使ってSpringBootでgRPCを利用する方法について記載します。主に自分向けの備忘録的記事となります。 プロジェクトの設定 ビルドツールはMavenを利用します。SpringBootのライブラリ作成後、pomの…

SORACOM Lagoonと AndroidThingsでIoT X AIをやってみた。

この記事について この記事はSORACOM Adventcalendar 2018 18日目の記事です。SORACOM Adventcalendar 2018もいよいよ終盤に差し掛かってきました。今回は2018 年11月24日に開催されたIoTつくるよで展示した SORACOM LagoonとAndroidThingsを使った物体温度…

SORACOM LTE-M Buttonで家庭内PoCをやってみた話

1. この記事について この記事はSORACOM LTE-M Button powerd by AWS Advent Calendar 2018 8日目の記事になる。前回このブログではSORACOM LTE-M ButtonがIoTデバイスとしてとて素晴らしいお手本となっていることを紹介した。 masato-ka.hatenablog.com こ…

SORACOM LTE-M Button powerd by AWSがIoTアーキテクチャの優れたリファレンスモデルな件

この記事について この記事ではSORACOM LTE-M Button powerd by AWSについてのファーストインプレッションを紹介する。7月の発表から発売まで首を長くして待ち、ようやく手元に届いたこの製品。IoTを実現するシステム、デバイスのお手本と言ってもいいくらい…