ROS2 Jazzy + Turtlebot4 + Gazebo Ionic warehouse Simulation.
Ubuntu Mate 24.04 にしてみたら、Gazebo が、新しくなっていて、今まで使っていた、
Hose World が使えなくで、困っていたら、
パッケージを新しくすると、Turtlebot4 + Gazebo Ionic warehouse Simulation がかんたんに使えた。
All In One みたい。
参考は、
TurtleBot3 + Gazebo + Navigation2 (ROS 2 Jazzy)
ros-navigation/nav2_minimal_turtlebot_simulation
1. git clone
$ cd ~/colcon_ws-jazzy/src
$ git clone -b jazzy https://github.com/ros-navigation/nav2_minimal_turtlebot_simulation.git
$ cd ..
$ rosdep update --rosdistro=${ROS_DISTRO} && rosdep install --from-path src/nav2_minimal_turtlebot_simulation -r -s
必要な、パッケージが一覧ででてくるので、
$ sudo apt install xxxxx
ソースビルドして、
2. build
$ colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release [--packages-select nav2_minimal_turtlebot_simulation]
$ . install/setup.bash
3. run
$ ros2 launch nav2_bringup tb4_simulation_launch.py headless:=False
で一応、Gazebo 画面と、Rviz2 画面は、でてきた。
しかし、Rviz2 画面で、Navigation の操作ができない。
ROS2 自作 Turtlebot3 による 草刈りロボット開発。#10 走行開始時のロボットの向き。
--- ros2 nav2_gps_waypoint_follower_demo autonomous は、できるか検討する。 ---
ROS2 自作 Turtlebot3 による 草刈りロボット開発。#9 LSTM で経路計画をする。
が出来たので、自分の部屋で、実機を Auto Mower で走らせている。
その中で、気になりだしたのが、ロボットの開始時の向きのズレが気になる。
Auto Mower で走行するときは、予め作成した、Static Map をベースに走行している。
この時、Static Map 作成時の、ロボットの向きと、 Auto Mower 走行時のロボットの向きがずれていると、具合が悪い。
1度ずれていると、数十メートルそうこうすると、かなりのズレが生じてしまう。
やはり、みちびき等の GNSS でロボットの位置を補正するしかないのかも。
Opp(Obstacl Path Planner) TensorFlow 2.16.2 Lite C++ library build.
TensorFlow 2.16.2 Lite C++ library build. の続き。
前回に続いて、今回は、本題の ROS2 自作 Turtlebot3 による 草刈りロボット開発。#9 LSTM で経路計画をする。
で作成した学習モデルを、C++ 及び ROS2 C++ で簡単に predict できるライブラリーを作成する。
環境
PC and Orange Pi 5 Armibian Jummy
Ubuntu 22.04
Tensorflow 12.6.2
ROS2 Humble
/home/nishi --> /home/your-id に変えとうせ。
1. ROS2 のプログラムから使える、opp_tflie.cpp を作成する。
ROS2 global costamap の一部を、cv::Mat に取り込んで、class Opp_Tflite に渡せば、
opp_with_lstm または、opp_with_transformer のモデルで、predict して、その結果を、
std::vector<u_int8_t> y_pred に返してくれるもので、これをライブラリとして使えるようにする。
1.1 ライブラリ libopp_tflite.a のビルド。
$ make -fMakefile-Archive-opp_tflite
$ make -fMakefile-Archive-opp_tflite install
$ make -fMakefile-Archive-opp_tflite clean
1.2 CMakeLists.txt で、
find_package(Tflite REQUIRED)
find_package(Opp_tflite REQUIRED)
をすれば、同じく簡単にリンケージができるようにします。
cmake/FindOpp_tflite.cmake
TensorFlow 2.16.2 Lite C++ library build.
TensorFlow 2.16.2 Lite C++ library をソースからビルドしてみた。
ROS2 自作 Turtlebot3 による 草刈りロボット開発。#9 LSTM で経路計画をする。 で、Tensorflow Lite 用の a.model.tflite が出来たので、C++ から実行する事になるので、試してみた。
ソースのダウンロードは、TensorFlow 2.16.2 C++ library build と同じなので、そちらを参考にしてください。
環境:
PC and Orange Pi 5 Armibian Jummy
Ubuntu 22.04
Tensorflow 12.6.2
Bazel 6.4
参考にしたのは、
CMake を使用した TensorFlow Lite の構築
1. build
ソースが、
~local/tensorflow/tensorflow-2.16.2
に展開済みとします。
$ cd ~local/tensorflow/tensorflow-2.16.2
$ mkdir build-nishi
$ cd build-nishi
$ cmake ../tensorflow/lite
$ cmake --build . -j3
注) build-essential が必要。まだの場合は。
$ sudo apt install build-essential
これで、libtensorflow-lite.a が、カレントディレクトリーにできる。
TensorFlow 2.16.2 C++ library build for GPU.
TensorFlow 2.16.2 C++ library build の GPU対応版です。
1. 開発環境
PC: Ubuntu Mate 22.04
Virtual_env
python 3.10.12
bazel 6.4.0
clang-14(llvm-14) <--- NG
clang-17(llvm-17) <--- needed
GPU: GeForce GTX1070 Compute Capability 6.1
GPU 本体のドライバー
nvidia-driver-525
GPUプログラム開発用のライブラリー群
CUDA Toolkit 12.3
cuDNN v8.9.6
Nvidia 提供のライブラリー
TensorRT 8.6.1.6
1.1 ドライバーのインストールから、簡単におさらいする。
i) GPU 本体のドライバーをインストールする。
$ sudo apt install nvidia-driver-525
ii) GPUソフトウエア 開発用に、CUDA 12.3 を使うので、
CUDA Toolkit 12.3 を、Nvidia のサイトからダウンロード&インストールする。
google で、 CUDA Toolkit 12.3 を検索すると出てくると思う。
cuda-12-3-0-download-archive
Linux -> x86_64 -> Ubuntu -> 22.04 -> deb(network)
> Base Installer の欄を実行する。
/usr/local/cuda-12.3/ へ、インストールされる。
include/cuda.h
bin/nvcc <-- nvcc もある。
iii) cuDNN v8.9.6 for CUDA 12.x をダウンロード&インストールする。
注) $ sudo apt list 2>/dev/null | grep cudnn で、出てくれば、そちらがかんたん。
やり方は、上記と同じ。
cudnn-archive
-> Local Installer for Ubuntu22.04 x86_64 (Deb)
libcudnn8, libcudnn8-dev
インストール先は、/usr になる。
$ sudo dpkg -L libcudnn8-dev
/usr/include/cudnn.h
/usr/include/cudnn_version.h
iv) TensorRT 8.6.1.6 のインストール。
本当は、使いたくないが、configure で、指定しないと、うまくいかないので、使う。
注) $ sudo apt list 2>/dev/null | grep tensorrt で、出てくれば、そちらがかんたん。
TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-12.0.tar.gz を、google で探して、
~/usr/local/share/ 下で展開しました。
/home/nishi/usr/local/share/TensorRT-8.6.1.6
注) ubuntu 24.04 の場合 の ii) - iv)
tensorflow 2.18.0 になるみたい。
NVIDIA Driver, CUDA, cuDNNのインストールをAPTでサクッと済ませる - Ubuntu Linux が参考になる。
ii) CUDA Toolkit 12.6 以降になる? 12.8 みたい。
CUDA Toolkit 12.8 Downloads
Linux -> x86_64 -> Ubuntu -> 24.04 -> deb(Network)
Base Installer を行う。
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
注) 12.6 、 12.8 の場合も同じ。
$ sudo dpkg -i cuda-keyring_1.1-1_all.deb
$ sudo apt-get update
$ sudo apt-get -y install cuda-toolkit-12-8
iii) cudnn9.x.x になるのか?
$ sudo apt install cudnn9-cuda-12
iv) Tensor RT
$ sudo apt install tensorrt-dev
tensorrt-libs も必要か?
実際の中身は、一緒にインストールされる、付随パッケージの中にあるみたい。
$ sudo dpkg -L libnvinfer-headers-dev
/usr/include/x86_64-linux-gnu 下へ、header が入るみたい。
driver-525 への固定。
$ sudo apt-mark hold nvidia-driver-525
も必要か?
v) clang-17(llvm17) のインストール。(必須)
下記を参考にインストールする。
How to install Clang 17 or 16 in Ubuntu 22.04 | 20.04
$ wget https://apt.llvm.org/llvm.sh
$ chmod u+x llvm.sh
$ sudo ./llvm.sh 17
$ sudo apt list --installed >/dev/null | grep clang
$ dpkg -L clang-17
remove
$ sudo apt remove --purge clang-17
$ sudo apt autoremove --purge
もしかしたら、下記も必要かも?
$ sudo dpkg-reconfigure clang-14
下記は、参考にしたページの記載です。
$ sudo rm /etc/apt/sources.list.d/archive_uri-http_apt_llvm_org_*.list
sudo rm /etc/apt/trusted.gpg.d/apt.llvm.org.asc
TensorFlow 2.16.2 C++ library build
TensorFlow 2.16.2 C++ library をソースからビルドしてみた。
ROS2 自作 Turtlebot3 による 草刈りロボット開発。#9 LSTM で経路計画をする。 で、最終的には、C++ から実行する事になるので、試してみた。
参考にしたのは、
ソースからビルドする
Ubuntu20.04 LTS上で、TensorFlow 2.3.1をソースからビルドし、C++言語の共有ライブラリを作成する
tensorflow 2.0 c++ apiをcmakeで利用する
1. 開発環境
PC: Ubuntu Mate 22.04
Virtual_env
python 3.10.12
bazel 6.4.0
llvm-14
追加パッケージのインストール。
下記エラーが出たので、
https://stackoverflow.com/questions/16661167/fatal-error-when-compiling-llvm-clang-cstddef-file-not-found より、
$ sudo apt install libstdc++-12-dev
ROS2 自作 Turtlebot3 による 草刈りロボット開発。#9 LSTM で経路計画をする。
--- ROS2 ロボット自律走行の経路計画の補助に、機械学習(Transformer、LSTM)を使う。 ----
ROS2 自作 Turtlebot3 による 草刈りロボット開発。#8 Transformer で経路計画をする。 の続きです。
Transformer で、学習データ 1000個作って、学習させてみたが、1000個では、まるっきり足りないようで、 train loss = 0.7 を切らない。
業を煮やして、それならと、 Speech to text の LSTM を同じ様に学習させてみました。
こちらは。1000件ほどのデータで、うまく学習できました。
これは、凄い!!
こんなにうまく行くとは、予想できませんでした。
本当に、うまく予測できているのか、今も、半信半疑です。
余りの感激に、涙がちょちょでるぞね!!
github に公開しました。
tosa-no-onchan/opp_with_lstm
1. 開発環境
PC: Ubuntu Mate 22.04
Python 3.10.12
virtual_env
tensorflow 2.16.2
keras 3.6.0
ROS2 自作 Turtlebot3 による 草刈りロボット開発。#8 Transformer で経路計画をする。
--- ROS2 ロボット自律走行の経路計画の補助に、機械学習(Transformer、LSTM)を使う。 ----
ROS2 自作 Turtlebot3 による 草刈りロボット開発。#6 Nav2 Planner を替えてみる で、ThetaStarPlanner を使って、Auto Mower 時の走行の直進性の改善がみられた。
しかし、まだおんちゃんが望む直進性能には、足りない。
そこで、ThetaStarPlanner の経路プランの一部補正として、機械学習が使えないか、無い知恵を絞って、考えてみた。
1. 概要
結論を先に言ってしまえば、経路プランに、Transformer、Lstm による、Speech To Text モデルのロジックを使えないだろうか? と言う話じゃ。
下の画像だと、赤線の経路を、青線の様にしたい。
障害物の手前まで真っ直ぐ進んで、障害物をなぞるように進んで、再度、スタートとストップの直線上に戻る、走行が欲しい。

ROS2 自作 Turtlebot3 による 草刈りロボット開発。#7 障害物からの脱出に機械学習を使う。
---- Auto Mower で、障害物に囲まれた際の脱出方向の算出に、機械学習の画像分類 (Image Classify) を使ってみる。-----
Auto Mower で、ロボットを動かして、目的地に到達させた場合に、障害物に近づき過ぎる場合がある。
そうすると、navigation2 で、その場所から抜け出せずに、エラー終了してしまう。
これを、防ぐ為に、static map 上で、障害物に囲まれた際に、脱出方向を計算して、cmd_vel モードで、ロボットを少し遠ざけている。

現状は、ProControl::obstacle_escape() で処理を行っています。
処理概要は、
Static Map から、ロボットの周りを、OpenCV の cv::Mat に取りこんで、8方向のMaskを用意して、Mask と AND を取って、障害物の Dot を取得した後、
それぞれの方向で、一番障害物が少ない(Dot が少ない)方向に、cmd_vel を使って動かす。
注) 今は、Local Cost Map(static_layer + obstacle_layer) を、resolution: 0.01 の解像度で使っています。
これって、画像(2値画像か、グレースケール画像)を取りこんで、その画像パーターン(黒い部分が障害物、白が空きスペース)から、8クラス(クラス=方向) に分類する、
Image Classify ではないじゃろか?
Image Classify だったら、Orange Pi 5 の NPUでも使えそうじゃ!!。
少し、試してみないといかん。
ROS2 自作 Turtlebot3 による 草刈りロボット開発。#6 Nav2 Planner を替えてみる。
---- Ros2 Navigation2 Planner を、NavfnPlanner から、ThetaStarPlanner に替えてみた。 ----
nav2.org / tuning を見ていたら、
Planner Plugin Selection
NavFn will typically make broad, sweeping curves; Theta* prefers straight lines and supports them at any angle;
and Smac 2D is essentially a classical A* algorithm with cost-aware penalties.
と記述があったので、
Theta を使えば、少しは、ロボットを直線的に走らせられるのではないか?
と思ったので、早速試してみた。
具体的には、xxx.yaml の中の、
planner_server:
で指定するので、ここを変更すれば良い。
ROS2 自作 Turtlebot3 による 草刈りロボット開発。#5 C++ cmd_vel 走行で障害物をよける方法。
今回は、ROS2 自作 Turtlebot3 や、Gazebo Turtlebot3 で、C++ cmd_vel でコントロールしているときに、障害物を検知する機能を組み込んでみました。
方法としては、Stero Camera、Lidar、Depth Camera を入力として、Local Costmap に
障害物が、Topic として出てくるので、
それを、定期的(1 [sec]) に取りこんで、ロボットの前方に障害物が投影されたら、ロボットの方で、なんらかの対応処理をする。
Navigation2 を使えば、かんたんですが、 rpp 等を使うと、まずロボットがまっすぐ走行しません。
草刈りロボットとしては、障害物が無い間は、常に直線上を走行させたいので、cmd_vel で走行させています。
この時に、障害物が現れたら、Nav2 走行に切り替わって、障害物を避ける動きを組み込んでみました。
cmd_vel 走行のみの場合は、そこで、障害物がなくなるのを待つか、走行処理を終了させる
か、どちらかになります。
市民目線の兵庫県知事のパワハラ問題について。
市民の目からみた、兵庫県知事のパワハラ問題 はどうなんだろうか?
まず、今回、公益通報者として、安易に却下されて、自ら命をおとされた、兵庫県職員のかたと、その家族様に、お悔やみを申しあげます。
さて、他県のおんちゃんが、兵庫県知事のパワハラ問題について、コメントできる立場に無いことを重々承知していなければなりませんが、
確かに、兵庫県知事の同職員に対する行動は、あまり、褒められないかもしれない。
ただ、この一連の騒動は、県民とは直接関係のない事とも取れます。
兵庫県の職員は、自分達の直接の利害に関することであれば、非常に勇敢に立ち向かわれていると感じますが、
これが、同県民の直接の利益に関する上での不正を目にしたときに、
この場合は、同じ県職員の行為になりますが、
公益通報者たりえるのか?
あくまでも、部外者なので、口をはすむべきではないのかもしれませんが。
ただ、この事は、おんちゃんの住む、高知県土佐市の市職員に、そっくり当てはめてみる事ができます。
高知県土佐市の恥ずべき行政。
R5年 5-6月の "南風(まぜ)" の件に寄せて。
自分が住む土佐市が、詐欺まがいの事をしていて、高知県全体のイメージを損なったのは、
県民の皆様に対して、本当に申し訳なく思う。
誠に、申し訳ありません。
また、多分、土佐市は、地域おこし協力隊で、土佐市に来ていただいた方と、NPO法人の両方に虚偽の説明をして、結果として、両方に、迷惑をかけたのだと思います。
※国の助成金を使った施設で、本当は、飲食店として使えないことを伏せて。
であるが故に、書面による賃貸借契約もかわさないまま、口約束で、7年も続けて、これが、カフェの方の法的立場を奪った。
NPOの人も思い描いた利用ビジョンがあった。通常であれば、法的に対等者同士の話し合いであれば、お互い譲歩して、
折り合い点をみつけだす努力をするところが、今回相手が、そうではなかった、
が故に、図らずに強くでてしまって、話がこじれたのだろう。
大事な田畑を手放す苦渋を強いてしまう代わりに、振興策として、土佐市が持ちかけた条件は、わからないが、念書の取り交わしであれば、公文書なので、
公開請求できるだろうが、市職員との口約束あれば、内容はわからない。
もしかしたら、NPOの人に、施設の絶対的利用権の授与に近い約束だったのかもしれない。
両方の方々にも、土佐市の一市民として、お詫びを申し上げたい。
高知県土佐市の防災、緊急放送の迷惑さ。#2
高知県土佐市の防災、緊急放送の迷惑さ。の続きです。
R5年末頃から、市の迷惑スピーカー放送も下火になっていたので、それ以来このブログも、更新せずに、そのままにしていたが、
また、R6年7月から、市の迷惑スピーカー放送が、増えてきた。
この件に関して、2024.8.8 土佐市の市長宛に、メールを送ったが、なんの返事もない。
注) これでも、メールを送るまでに、結構我慢もしたが、また、毎日毎日流された始めたので、仕方なく、出しました。
土佐市連絡フォーム
まあ、一向に、返事もない。
岸田首相が今期限りで首相を止めてしまうのは残念だ。
岸田さんには、もっと首相を続けてほしかった。まっこと残念でしようがない。
コロナ感染の真っ最中に、どうしようもない、菅政権を引きついで、よく頑張ってくれたと、おんちゃんは、感謝しています。
首相官邸で、よく、記者連の問いかけに、真摯に対応して、国民に説明をくれたのを見ていて、その人柄が十分伝わってきたぞね。
一番感謝しているのは、今までの政権とは違って、真剣に、労働者賃金の底上げに声を上げてくれて、今までずっと、企業の利益を社員に分配せずに、
内部留保にばかり貯め込んできた、企業の経営者側の意識を変えて、今年の春闘の賃上げにつなげてくれた事。
マスコミ、政治、経済評論家が、口を揃えるように、岸田政権の政策に花がない、期待が持てないと、囃し立てて、
その口車に載せられた多くの国民が、同じような事を言って、岸田政権を評価していたのは、まことに残念。
過去の政権で、大きな改革や目標をぶちあげて、でも大した成果も無いままだった事を忘れてしまったのか?
省庁再編、郵政民営化、あべのミックス、規制改革(非正規労働者の増加)などは、どう評価されているのだろうか?
とかく、人が他人を評する時は、悪い面ばかりを取り上げる、しかし、必ず良い面も必ずあるはずだ。
公平に、両方を取り上げるべきだ。
おんちゃんにとって、岸田政権は、昔の小渕政権を思い起こさせる。花はあまり無いように思えるが、じわじわと、その良さが現れてくる。そんな感じじゃ。
岸田首相は、眼の前にある一番の国民の問題に、十分に取り組んでくれたと思う。
今期で、首相を辞められるのは、残念でしょうがないが、
まっこと、ありがとうございました。
On ubuntu 22.04 docker build source l4t for ubuntu 22.04 Jetson Nano 2G.
ubuntu 22.04 docker 上で、l4t source を ubuntu 22.04 Jetson Nano 2G 向けにビルドできるのか試して見る。
本来であれば、aarch64 toolchain を使うところだが、今回は、 Jetson Nano armbian jammy でビルドするとどうなるのかの参考にしたいので、
あえて、arm64 のままでビルドしてみます。
参考は、
Compiling Custom Kernel Modules on the Jetson Nano
開発環境
PC: Ubuntu Mate 22.04
docker version 24.0.7
他に、
$ sudo apt install docker-buildx
$ sudo apt install qemu binfmt-support qemu-user-static
はじめに、
Dockerを使ってポータブルなArm64エミュレート環境を構築 を参考にして、
Ubuntu 22.04 x86-64 上で、arm64 を実行できるようにします。
$ docker run --privileged --rm tonistiigi/binfmt --install all
$ export DOCKER_DEFAULT_PLATFORM=linux/arm64/v8
$ docker run --rm -it arm64v8/ubuntu:22.04 bash
が実行できるようにします。
ここから開始。
$ export DOCKER_DEFAULT_PLATFORM=linux/arm64/v8
Transformers Object detection - detr の転移学習とONNX変換と実行。
---- 雑草の独自データの転移学習とONNXでの変換、実行を試す ----
Transformers Object detection
1. 最初に、オリジナルの転移学習を試す。
次に、雑草画像の独自データを用意して、YOLO アノテーションを作成して、それを、COCO 形式に変換して、
雑草画像の転移学習を、試してみた。
開発環境
Ubuntu Mate 22.04
GPU: GeForce GTX 1070
Python 3.10
virtualenv
checkpoint = "facebook/detr-resnet-50"
が、転移学習のベースモデルみたい。
huggingface.co/facebook/detr-resnet-50
num_train_epochs=30
位必要みたい。
一応、オリジナル版の転移学習は、OK でした。
transformer asr japanese サンプルがある。
おんちゃんは、transformer asr のサンプルの、下記を試しておったが、
Automatic speech recognition
なんとも、日本語対応がすでに、ありますっと。
google で検索していたら、transformer asr japanese があった。
kotoba-tech/kotoba-whisper-v1.0 を ONNX に変換して動かしてみた。
1. 自分で転移学習をするなら、
August 2023, Fine-Tuning ASR Models for Japanese and Vietnamese by using OpenAI Whisper and Azure Speech Studio
2. そのまま使うなら、
kotoba-tech/kotoba-whisper-v1.0
ここのサンプルで、最近、判ったことだが、
torch_dtype = torch.bfloat16 if torch.cuda.is_available() else torch.float32
の部分は、使う GPU によっては、注意が必要みたいぞね。
おんちゃんの、GPU は、 GTX-1070 じゃが、この場合は、float16 は、使えないみたいぞね。
#torch_dtype = torch.bfloat16 if torch.cuda.is_available() else torch.float32
torch_dtype = torch.float32
こちらにすべきです。
これで、3.8 sec/f だったのが、 1.18 sec/f になったぞね。
日本語音声認識に特化したWhisperである kotoba-whisper-v1.0を早速試してみた
Kotoba-Whisper入門 - 日本語音声認識の新しい選択肢
結論を言えば、kotoba-whisper-v1.0 で、GTX-170 の場合、torch_dtype = torch.float32 で使うと、
リアルタイム MIC 入力で使えば、それなりに快適に動きます。
Yutube の怪談の動画の音声をスピーカーに出して、それをマイクで拾って遊んでいます。
まあ、間違いは、お愛嬌か。
OAK-D-Lite Object Detection YOLOv7 転移学習をしてみた。
単純に下記ページの YOLOv7 tutorial を実行するだけ。
docs.luxonis.com/software/ai-inference/training
結論から先に言えば、うまくできました。
OAK-D Lite で、動きました。
ただし、サンプルは、google colaboratory と、Google Drive を使っています。
おんちゃんも当初は、お同じにしていましたが、どうも、Google Drive への保存が良くわからなくて、学習結果が消えてしまいました。
結局、ubuntu 22.04 PC 上で、実行しました。
1. PC環境
Ubuntu Mate 22.04
GPU: GeForce GTX 1070
Python 3.10
virtualenv
OAK-D Lite
2. 手順
$ cd
$ python3 -m pip install virtualenv --user
$ python3 -m virtualenv torch_env
$ source ~/torch_env/bin/activate
(troch_env) xxx@xxx:~$
$ python -m pip install --upgrade pip
あとは、PyTorch のインストールをします。
https://github.com/WongKinYiu/yolov7 の環境を、そのまま使用します。
$ cd ~/Documents/Visualstudio-torch_env
$ git clone https://github.com/WongKinYiu/yolov7.git
$ cd yolo7
$ python -m pip install -r requirements.txt
$ python -m pip install notebook
これで、pytorch GPU も、OK です。
ただし、
Ubuntu 22.04 Tensorflow GPU Install. でシステム側にインストールした、
cudnn か、なにかのライブラリーと競合するようで、
~/.bashrc の記述の、LD_LIBRARY_PATH を取ります。
# add for libcudnn8
#export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/home/nishi/usr/local/share/TensorRT-8.6.1.6/lib:$LD_LIBRARY_PATH
ROS2 OAK-D-Lite で、Stereo depth と Mobilenet object detection を同時に動かす。
Sub Title: Does an OAK-D run Stereo depth and Mobilenet object detection at the same time?
ROS2 自作 Turtlebot3 による 草刈りロボット開発。#4 草むらの判定 で、Stereo Camera Depth と、
Object Detection を同時に実行できるハードを検討しないと行けないので、
とりあえず、OAK-D Lite で試してみた。
なんか、同時に動くみたいぞね。
google で検索したけど、該当記事がないので、できないかと思ったが、
なぜか動くみたいぞね。
後で、github に上げちょきます。
tosa-no-onchan / depthai_ros_my
rgb_stereo_mobilenet_node_my.cpp
ただし、今は、Mobilenet で試しただけで、Tiny YOLOv4 では、どうなのか?