アプリとサービスのすすめ

アプリやIT系のサービスを中心に書いていきます。たまに副業やビジネス関係の情報なども気ままにつづります

Jetbotをgazeboで動かすまで その1

Jetbotという車輪型ロボットのRvizのみ対応のコードをgazeboに対応させて、シミュレーション上で動かせるようにした。 Rviz用のJetbotファイルをgazeboで動かすまでをざっとまとめた備忘録その1目次 1. gazeboに対応させる手順 2. 今回の概要 3. gazeboプラ…

PS3のコントローラーでROSのシュミレーションロボットを動かしてみた

ps3のコントローラーでROSのロボットを動かす。 今回はRvizの機能だけを使ったシュミレーション用だけど、実際に遠隔での実物ロボットの操作も可能。 gazeboと連携すれば本格的なシュミレーション環境ができる。目次 1. PS3コントローラの動作確認 2. ps3用…

XacroでURDFを簡略化して記述

前回書いた記事のURDFファイルをXacroで書き直した。trafalbad.hatenadiary.jpかなり簡単に書けたので、おすすめ。 目次 1. xacroファイル 2. xacroの特徴 3. collisionタグとinertialタグの挿入 4. 表示 1. xacroファイルcar_robot.xacro <robot name="macroed" xmlns:xacro="http://ros.org/wiki/xacro"> <xacro:property name="width" value="0.2" /> </xacro:property></robot>

robot_state_publisherでURDFファイルのロボットをrvizで表示する。

URDFファイルで記述したロボットのシミュレーションロボットを動かすための手順は 1. Gazeboの起動 2. ロボットモデルをrobot_descriptionにloadする 3. robot_state_publisherの起動 4. ロボットモデルをGazebo上にスポーンさせる(urdf_spawner) 5. ロボッ…

自宅のWifiネットワーク環境をHusarnetでVPN化。ROSでホストPCとJetson nanoのVPN遠隔操作

wifiの代わりにVPNのHusarnetを設定した。このおかげで、ホストPCとjetson nano遠隔通信がほぼどこでも行えるようになった。 OpenVPN、WireGuardとかSoftEther VPNでもいいけど、HusarnetがROSをターゲットにしててかなり相性がいい。 VPNネットワーク図 注…

realsense lidarで取得したdepth(深度)画像をrosbagでpng画像として保存する方法

depth(深度)画像をbagファイルに保存してから、pngの画像に変換して保存する方法。 目次 デモ:lidarでcolor画像をbagファイルに保存してjpegで保存 1. realsense-viewでbagファイルの作成 2. realsense-rosで点群/depth画像の表示 3. depth画像をbagファ…

ROSで画像を圧縮してJetsonからホストPCへ遠隔で送信

画像を圧縮してJetson側からホストPCに送信して保存してみた。 そのとき圧縮効果でどれだけ速度が上がったのかを、webカメラとlidarの両方で調べてみたのでその備忘録。結果からいうと、web(USB)カメラとLidar両方で、速度向上の効果があった。 ちなみに圧縮…

Jetson Nano上のRealSense-Lidar(L515)とホストPCをROSで遠隔通信してみた

今回はJetson Nano上でRealsense Lidar(L515)を動かして、遠隔通信でデータをホストPCに送るまでの備忘録環境 ubuntu 18.04.5 LTS CMake 3.10.2 Python 3.6.9 Opencv 4.1.1 JetPack 4.3作業全体構成 目次 1. Librealsenseのinstall 2. Jetson nanoにrealsens…

PCからJetson NanoをROSで遠隔操作とsshログインするまで

ホストPCから大体ハードウェアのJetson NanoをROSの遠隔操作とsshでログインまでの備忘録目次 1 Jetson Nanoのセットアップ 2.Jetson NanoにROSのinstall 3.パッケージ等の作成 4.ホストPCからJetson NanoをROSで遠隔操作 5. ホストPCからJetsonへsshでログ…

ubuntu 20.04のROSでRealSense Lidarのセットアップ

ROSでLidarを起動してみるまでのセットアップ手順 環境 ・Ubuntu 20.04 ・ROS noetic ちなみに製品は「Intel RealSense LiDAR Camera L515」。 Note: Set up at 2022/01/13 realsense Lidar一覧表 目次 1 Intel Realsense SDK インストール 2. realsense-ros…

ROSでc++の引数(argv)をlaunchファイルで渡す方法

ROSでのc++のコードで引数argument (argv)をlaunchで渡す方法のまとめ。 c++スクリプトの用意簡単なcppを準備。cloud_loader.cpp #include <ros/ros.h> #include <sensor_msgs/PointCloud2.h> #include <pcl_conversions/pcl_conversions.h> #include <cloud_common.h> class CloudLoadingHandler { public: CloudLoadingHandler(ros::NodeHandle &nh, c</cloud_common.h></pcl_conversions/pcl_conversions.h></sensor_msgs/pointcloud2.h></ros/ros.h>…

ROSで独自Service用ファイルを作ってService通信を試す

ROSの通信で頭の隅に置いとく知識・ROSで行う通信(Topic通信とか)はmsgファイルのデータ型で行う。 ・Service通信も拡張子がsrvのファイルのデータ型で行う。 備忘録なので独自設定のservice通信を動かすまでの過程を、淡々とまとめるだけの構成。目次 1. …

ROSの基本プログラムのTopic通信(非同期通信)を動かす

今回はROSの基本のPublisherとSubscriberを使ったROSの基本プログラムtopic通信(非同期通信)をうごかしたので、その備忘録。仕組みとしてはこんな感じ・Topic :データを書き込む場所(非同期通信のメイン) ・Service :publisher側でsubscriberの結果を受…

ROSのインストールと基礎動作確認まで

ロボットを動かすミドルウェアrosを使うために、rosのinstallと簡単な初期動作の備忘録。 rosのバージョンはNoetic。ROSのバージョン表 ディストリビューション名 Ubuntuのバージョン サポート期限 Indigo 14.04 2019年5月 Kinetic 14.04 2021年5月 Melodic …

名言メモ

なんでもできるは何もできないなんでも屋は中途半端で何にもできないのと変わらないという捉え方もできるということロジックはインスピレーションを殺すロジカルに物を考えていては、インスピレーション的な思考はその分、思い浮かばなくなるということ。狙…

SAR画像(VV, VH)の散乱強度と地上の植生状況(tif画像)との相関を調べてみた

やることは大雑把に言うと、SARの散乱強度から地上の植物の生育状況を予測するためにSAR画像とground画像(植生状況を表す地上の画像)の相関関係を調べる。(データはQGISで作成)概要の類似問題の詳細はこのサイトを参考に。 主な概要 ・SAR画像を説明変数に…

pythonの並行処理・並列処理コード集の備忘録

pythonで並行処理・並列処理系のコードの備忘録 ・multiprocessing ・concurrent.futures ・thread ・古いPython2系のバージョンだとこのモジュールしかなかったりするものの、基本的には使い勝手が悪いので使わない。・Python3系では間違って使わないように…

衛生系のデータGeoTiffをいじるための「QGISツール」の操作 part1

今回衛生データをいじるためにQGISというツールになれるために色々いじってみた。 のでその備忘録part1。目次 1.GDALをinstall 2.QGISツールのdownload 3.QGISをいじってみる-データdownload 4.QGISをいじってみる-プラグインの追加 5.QGISをいじってみる-フ…

yolov5とDeepSortでマルチスレッドのリアルタイムtracking物体検出【機械学習】

yolov5とDeepsortとかいうtrackingのアルゴリズムを使ってtrackingの物体検出をしてみた。最終的にpythonのGUIツールtkinterでマルチスレッド化して動かした。全体像備忘録として使った技術をまとめてく。目次 1.yolov5 2.trackingアルゴリズム「DeepSort」 …

衛星のSAR画像-セグメンテーションコンペの備忘録

衛星データのSAR画像を用いたセグメンテーションのコンペがあったので、その際の使ったコードとか手法の備忘録。コンペ内容は事情により省略。手法だけまとめてきます。大雑把に言うと、過去と現在の画像から特定の領域を0, 1でセグメンテーションするタスク…

MobilenetベースのBlazefaceをResnetベースに蒸留して性能を移植してみた【機械学習】

Blazefaceはgoogleの訓練済みのデバイス用の顏/手の認識モデルで速くて高性能なモデル。 役割は顔/手の位置とキーポイントを高速に検出する機械学習モデル。 BlazeFaceはMobileNetをバックボーンをベースにして作られてる。今回はやることは1.tfliteのblazef…

顔から性別・年齢推定アルゴリズム(age gender estimation model)の工夫まとめ【機械学習】

人気の「age gender estimation」とかいう、人間の顔から性別と年齢を予測するモデルを作った時の、テクニックを備忘録として忘れないようにまとめとく。目次 1.Age-gender-estimation model本体 2.後処理での工夫 3.予測結果 1. Age-gender-estimation mode…

Google openImage Datasetでyolov4のデータセットをdownload & annotationファイルの作成

今回はgoogle open Image datasetのyolov4データをdownloadする方法。google open Image datasetは物体検出からセグメンテーションまで良質なデータが揃ってtて、v1〜v6まである。直でdownloadすると割と面倒。(調べるのがめんどい)なので今回は物体検出の…

M1 MacBook Air のsetupの記録

M1のMac、2021/04の時点で、brewはいかれてるは、tensorflowはinstallできないはで普通に使えない。 試行錯誤した時のメモ。 時系列順に実行した記録。・仮想環境用ubuntu-18.04-arm64.isopython3とpip3のinstallpython3.9にtensorflow非対応なので、python3…

コーディング試験-思考力錬成用-応用問題 from Codility at 2021/01

Codility problems2021/01月の記録です。Codilityの難易度 「PAINLESS」<「RESPECTABLE」<「AMBITIOUS」 の順でむずくなってるまずは分割統治法で簡単なの解いてみて、test=> 汎用的なコード書くこと エラーはpythonでも、javaとかc++でもググって応用して…

コーディング試験用基礎問 from Letcode

Letcode problems 1. Two Sum # exactly one solution Input: nums = [2,7,11,15], target = 9 Output: [0,1] Output: Because nums[0] + nums[1] == 9, we return [0, 1].class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: # …

コーディング試験用基礎問 from HackerRank

HackerRank Interview Preparation Kit Type : Array Arrays: Left RotationExplanation When we perform left rotations, the array undergoes the following sequence of changes:Sample Input 5 4 1 2 3 4 5Sample Output 5 1 2 3 4 Solution def rotLeft…

弟4回エッジAIコンペ(セグメンテーション) レポート・log【ハードウェア】

SIGNATEの第4回AIエッジコンペに参加したので、そのレポートもかねたログを書こうと思う。機械学習だけじゃなくて、ハードウェアもガチのコンペでした。 目次 1.ネットワークについて 2.C++のアプリケーションコードの工夫について 3.ハードウェアプラットフ…

Vitis-AIを使ってultra96v2上で学習済みモデルを動かすまで【hardware, FPGA, AI】

今回はultra96v2上で学習済みモデルを動かしてみる。この作業がすんなりできれば、論理回路の高位合成とか組み込み部分を除けば、学習済みモデルを作れればドローン制御、自動運転の制御とかいろんなことの礎になる。本家サイト「Ultra96V2向けVitis AI(2019…

UbuntuでSDカードのEXT4とFAT32のパーテションの作り方

ubuntuでSDカードのパーティション作成のメモ目次 1.ubuntuをmacにインストールする 2. ubuntuを起動、SDカードの確認 3.パーティションの作成 4.GUIでパーテイションの内訳を確認してみる 追記.Ffrom CUI 1.ubuntuをmacにインストールする1.USBカードを差し…