0.TinkerOS とTinker Board振り返り
- Tinker Boardのハードは以下記事の2sを使用しています。
- 2023年2月現在 TinkerOSはDebian10ベースなのでFoxy使用します。
- ROSの公式ガイドによるとTier3(使用可ぐらいのイメージ)でソースでのインストールができるとされています。
- 基本Ubuntu推奨なので、Ubuntuが使えるラズパイよりハードル上がりますね!?
- ハード的にはラズパイ4ぐらいでありかならAndroidが使えたりユニークなエッジコンピュータ
余談です
- お仕事的にこの手の機材を使うのですが、どうも某社さんのモノご執心( ^ω^)・・・
- ニッチ担当なので面白いTinker Boardでやってみましょう。
- Androidは詳しい方が使ってくれるので、あえて触れません。
1.公式通りにセットアップしてみます。
結果
公式のままではインストールできないことが分かり、以下手探りで進めています。
- ROS2のリリースと対応OSリスト
- ROS2 Foxy ソースセットアップ
インフォメーション
TinkerOS(Debian10 Buster)はソースからのインストールのみだと分かります。
Foxyのインストール
先に結論・・・
もともと素のDebian自体のサポートが Tier3(ほぼ自力でコツコツやれ風)で、
とくにTinkerOSのベースが9ということでROS2はほぼ無理な状況でした。
- どうもUbuntuに最適化されているようで、一部エラーは出ますがロケールは変更できます。
ターミナル画面
locale # check for UTF-8
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale # verify settings
リポジトリ追加
ターミナル画面
sudo apt install software-properties-common
♯ sudo add-apt-repository universe
注意
コメントアウトしたリポジトリはUbuntuのもので使えません。
- 代わりにこちらのDebian10用のリポジトリを追加してみました(任意)
【公式より】各種ツールの追加(Install development tools and ROS tools)
ターミナル画面
sudo apt update && sudo apt install -y \
libbullet-dev \
python3-pip \
python3-pytest-cov \
ros-dev-tools ♯こちらがインストール不可
# install some pip packages needed for testing
python3 -m pip install -U \
argcomplete \
flake8-blind-except \
flake8-builtins \
flake8-class-newline \
flake8-comprehensions \
flake8-deprecated \
flake8-docstrings \
flake8-import-order \
flake8-quotes \
pytest-repeat \
pytest-rerunfailures \
pytest
# install Fast-RTPS dependencies
sudo apt install --no-install-recommends -y \
libasio-dev \
libtinyxml2-dev
# install Cyclone DDS dependencies
sudo apt install --no-install-recommends -y \
libcunit1-dev
注意
ros-dev-toolsがインストールできませんね。
困った点
ビルド関連が軒並み入りませんので、続いてラズパイ・公式合わせて入れていきます。
ビルド用にいくつか流用(Google’s Coral Edge TPU Dev Board)
- こちらよりアイディアを借用します。また、公式よりcolconもインストール
ターミナル画面
pip3 install ros_cross_compile vcstool
#失敗するなら
sudo apt install vcstool
sudo apt install python3-colcon-common-extensions
CMAKEバージョンアップ
- 素のTinkerOSではCMAKEのバージョンが低く、colcon buildに失敗しました。
- 手順はsuudai nさんの手順を参考にさせていただきました。
ament コンポーネント追加
- これもUbuntuのようにパッケージでは提供されていないので、下記で依存関係を見ながら追加していきます。
残骸一覧
- とりあえず残しておきます。
ターミナル画面
#ざっとUbuntuのレベルまで入れていくとこれくらいになります。
♯pip で入るもの
Package Version
-------------------------- ---------
ament-copyright 0.13.2
ament-cppcheck 0.13.2
ament-cpplint 0.13.2
ament-lint 0.13.2
ament-package 0.15.1
ament-pep257 0.13.2
ament-uncrustify 0.13.2
ament-xmllint 0.13.2
colcon-argcomplete 0.3.3
colcon-bash 0.4.2
colcon-cd 0.1.1
colcon-cmake 0.2.27
colcon-common-extensions 0.3.0
colcon-core 0.12.1
colcon-defaults 0.2.8
colcon-devtools 0.2.3
colcon-library-path 0.2.1
colcon-metadata 0.2.5
colcon-notification 0.2.15
colcon-output 0.2.13
colcon-package-information 0.3.3
colcon-package-selection 0.2.10
colcon-parallel-executor 0.2.4
colcon-pkg-config 0.1.0
colcon-powershell 0.3.7
colcon-python-setup-py 0.2.8
colcon-recursive-crawl 0.2.1
colcon-ros 0.3.23
colcon-test-result 0.3.8
colcon-zsh 0.4.0
flake8 5.0.4
flake8-blind-except 0.2.1
flake8-builtins 2.1.0
flake8-class-newline 1.6.0
flake8-comprehensions 3.10.1
flake8-deprecated 2.0.1
flake8-docstrings 1.7.0
flake8-import-order 0.18.2
flake8-quotes 3.3.2
2.ROS2は新バージョンまで待ちます!!
作業終了の原因
- Debian公式にやりかけ?がのこっているのがROLLING でかつ11である点。
- ROSがoptフォルダに入らない、colconに失敗してしまう(コンポーネント不足は見えていましたが)
- VCSで前段階までもっていくことは可能…
- まあ、この記事が出ている時点で元OS的にもちょっと無理っぽいところがみられますね。
- なお、ROS1についての記事です。
ROS2適応表{簡易版、触ったことのある機種のみ)
製品・項目 | ラズパイ系 | Tinker{Debian) | Jetson |
---|---|---|---|
ROS1 | OK※ | まあOK | OK! |
ROS2 | OK※ | 厳しい | OK! |
備考 | Ubuntuでお願いします | ソースでも厳しい! | バイナリで簡単 |
次にTinkerへの使命
- 泥あそびがうまくなりたい(自分が)
- デビさんでラズパイのちょこちょこっとしたものを動かしてみる。
注意
2023年初春時点でのレポートで無事に動作するようでしたら更新します。