ハードウェア
前回はステレオビジョンで奥行きを測定したけど、今回は超音波センサー(HC-SR04)を使って奥行きを測定した。個人的な備忘録なので、簡単にまとめてく。目次 1. 配線の構成図 2. 超音波センサーで奥行き測定 3. ステレオビジョンと超音波センサーのメリット…
機械学習でC++の代わりのコンパイル言語の『Rust』の開発環境を構築したのでその備忘録。目次 1.ubuntuでJupyter notebook 2. opencvでカメラを使ってみる1.ubuntuでJupyter notebook # rustをubuntuにinstall curl https://sh.rustup.rs -sSf | sh source $…
ソフトウェアとハードウェアでカメラに写ったターゲットを自動追尾するレーザーシステムを作るのでハードウェア側でレーザーで、下の2点を考えてレーザーの射出角度の設定方法を2つ考えた。・なるべく正確にターゲットに照射する ・設定にコストがかからない…
Jetson NanoでPytorchとOnnxで機械学習の物体検出とその環境設定をしたのでその備忘録。 ちなみに2023の2月でJetson NanoのJetPackの最新版は「4.6.0」今回は「4.6.0」で環境構築してみた。 目次 1. versionと必要用語 2. 必要なライブラリのinstall 3. Pyt…
Jetson nano でPWMコントローラーのPCA9685を使ってサーボモータを複数動かすまでの備忘録。PWMコントローラーを使えば、モータを16個同時に操作できるし、スクリプト側でマルチthreadingを使わなくて済むとかいいことばかりなので使ってみた。あとPWMコント…
Jetson nanoを使ったのでセットアップの備忘録。「nv-jetson-nano-sd-card-image-r32.3.1(JetPack 4.3)」のページのイメージをMicro SDカードに焼いた。(from qiitaの記事) JetPacはtensorflowの都合でJetpack==4.3にした。パーツ一式はこのサイト「Mac でJe…
Jetson NanoのJetPack SDK Card imageをinstallした後の、本格的に使うためのセットアップのTipsのメモのpart2。目次 1. GUI機能の無効化でメモリ消費量を抑える 2. 電源をACアダプターからmicroバッテリーに変換する 1. GUI機能の無効化でメモリ消費量を抑…
Jetson NanoのJetPack SDK Card imageをinstallした後の、本格的に使うためのセットアップのTipsのメモ目次 1. JetPack SDK Card imageをdownload (JetPack=4.6.1) 2. Jetson Nano上での必要パッケージのupdate 3. スワップ領域の確保 4. パワーモードの切り…
Macからjetsonにssh接続できる環境は前の記事でできた。 trafalbad.hatenadiary.jp けどいかんせん、Jetson Nano用のキーボード、マウス、ディスプレイをいちいち接続するのが面倒で邪魔だから、なんとかしたいということで、・コマンドライン操作だけできれ…
Macからjetsonにssh接続できる環境は前の記事でできた。 trafalbad.hatenadiary.jp けどいかんせん、Jetson Nano用のキーボード、マウス、ディスプレイをいちいち接続するのが面倒で邪魔だから、なんとかしたいということで、・コマンドライン操作だけできれ…
今回はJetson nanoでPWM(Pulse Width Modulation)制御をするまでの手順をまとめてく。Jetson nanoでPWMのPinは「32, 33」の二つ。 これを使ってサーボモータをマルチスレッドで二つ動かす。 目次 1. 配線図 2. Jetson nanoでGPIOのインストール 3. PWM設定-…
Jetsonに2つのカメラをつけて、それぞれに物体検出のyolov7で推論をかける。そこで得たbboxの位置座標から視差(disparity)を求めて、奥行きの距離(depth)を求めてみた。その過程と結果の備忘録 1. データセットの用意 2. disparityからdipthを求める手順 3. …
目次 1. cocoapodsをinstallして、Podfileからライブラリをinstall 2. AWSのUpload用のバケットをs3で作成 3. AppDelegate.swiftにS3のupload用のコードに貼り付け 4. SwiftからS3に画像をアップロード 5. s3で画像の確認 1. cocoapodsをinstallして、Podfil…
Jetson Nanoで以前USBカメラを接続した。trafalbad.hatenadiary.jp 今回VNC接続した身軽な状態のjetson nanoで撮影したカメラ画像を、遠隔でホストPCのGoogle chrome (Safari)で表示してみた。 その備忘録 目次 1. Jetson Nanoでブラウザに表示するための準…
本来は、lidarで取得するpcd(点群データ)をdepth画像から作成する手順。 理由はlidarからだと綺麗なpcdが撮影できない感じがしたから。なのでdepth画像とrgb画像を合わせてpcdを作ることにした。目次 1. lidarから直接pcdを作成する 2. depth画像とrgb 画像…
前回の続きでgazeboで動かすのに必要なところをまとめてくだけ。 シュミレーション環境にはturtlebot3を使った。 目次 1. gazeboの環境設定 2. JetbotのXacroファイルをgazeboに対応させる 3. gazeboのコントロール用のdiff_drive_controllerのパラメーター…
Jetbotという車輪型ロボットのRvizのみ対応のコードをgazeboに対応させて、シミュレーション上で動かせるようにした。 Rviz用のJetbotファイルをgazeboで動かすまでをざっとまとめた備忘録その1目次 1. gazeboに対応させる手順 2. 今回の概要 3. gazeboプラ…
前回書いた記事の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>
URDFファイルで記述したロボットのシミュレーションロボットを動かすための手順は 1. Gazeboの起動 2. ロボットモデルをrobot_descriptionにloadする 3. robot_state_publisherの起動 4. ロボットモデルをGazebo上にスポーンさせる(urdf_spawner) 5. ロボッ…
wifiの代わりにVPNのHusarnetを設定した。このおかげで、ホストPCとjetson nano遠隔通信がほぼどこでも行えるようになった。 OpenVPN、WireGuardとかSoftEther VPNでもいいけど、HusarnetがROSをターゲットにしててかなり相性がいい。 VPNネットワーク図 注…
depth(深度)画像をbagファイルに保存してから、pngの画像に変換して保存する方法。 目次 デモ:lidarでcolor画像をbagファイルに保存してjpegで保存 1. realsense-viewでbagファイルの作成 2. realsense-rosで点群/depth画像の表示 3. depth画像をbagファ…
画像を圧縮してJetson側からホストPCに送信して保存してみた。 そのとき圧縮効果でどれだけ速度が上がったのかを、webカメラとlidarの両方で調べてみたのでその備忘録。結果からいうと、web(USB)カメラとLidar両方で、速度向上の効果があった。 ちなみに圧縮…
今回は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でログインまでの備忘録目次 1 Jetson Nanoのセットアップ 2.Jetson NanoにROSのinstall 3.パッケージ等の作成 4.ホストPCからJetson NanoをROSで遠隔操作 5. ホストPCからJetsonへsshでログ…
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++のコードで引数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の通信で頭の隅に置いとく知識・ROSで行う通信(Topic通信とか)はmsgファイルのデータ型で行う。 ・Service通信も拡張子がsrvのファイルのデータ型で行う。 備忘録なので独自設定のservice通信を動かすまでの過程を、淡々とまとめるだけの構成。目次 1. …
今回はROSの基本のPublisherとSubscriberを使ったROSの基本プログラムtopic通信(非同期通信)をうごかしたので、その備忘録。仕組みとしてはこんな感じ・Topic :データを書き込む場所(非同期通信のメイン) ・Service :publisher側でsubscriberの結果を受…
ロボットを動かすミドルウェアrosを使うために、rosのinstallと簡単な初期動作の備忘録。 rosのバージョンはNoetic。ROSのバージョン表 ディストリビューション名 Ubuntuのバージョン サポート期限 Indigo 14.04 2019年5月 Kinetic 14.04 2021年5月 Melodic …
pythonで並行処理・並列処理系のコードの備忘録 ・multiprocessing ・concurrent.futures ・thread ・古いPython2系のバージョンだとこのモジュールしかなかったりするものの、基本的には使い勝手が悪いので使わない。・Python3系では間違って使わないように…