JetCobotとJetson Orin NXを迎えた

JetCobotとJetson Orin NXを迎えた

JetCobot

最近本業でロボットアームを扱う機会があり、いろいろ新しく知識も得たので、その経験を生かしてRubyと組み合わせていろいろ試してみたいと思って、個人でも買えるロボットアームを探してみた。

ElephantRoboticsmyCobot280が手ごろで扱いやすそうなので、こちらを購入してみることにした。単体で買うとグリッパーや台座などついてなかったり、SwitchScience経由で買ったりするとちょっと高くなったりするのだけど、YahboomのJetCobotだと、一式揃って、加えてJetsonも付いて安かったので、そちらをAmazonで注文した。

香港からの発送で、1週間ほどでUPSで届いた(配達はヤマトだった)。

梱包の様子

組み立ては難しくなく、JetsonNanoをケースに収めて、本体とUSB接続して、電源を入れると自動で起動する。(付属の無線は使わないでおく)

myCobot本体はUSBシリアルで認識されており、それをPythonで制御している。

チュートリアルに従えば、紹介動画にあるような画像認識と制御のデモも簡単に試せそう。

Jetson Orin NX 16GB

今回はさらに奮発して、Jetson Orin NX 16GBも購入した。

仕事では会社のプロダクトがJetsonベースだったりして、Jetsonをよく使うので、Isaac ROSを自分でも試して勉強したかったので購入した。別途買ってるロボカーと組み合わせてROSでVSLAMやNavigationあたりももっと試したかったのが理由。

JetCobot付属のJetsonNanoだとあまり自由が利かないので、Orin NXから制御しようと思う。

動かしてみる

Jetson nanoに最初からPythonの制御プログラムが起動するようにサービスが設定されているので、電源を入れると自動で初期位置に戻る。

そのプログラム

Ubuntu22.04とmyCobot280のシリアル

JetPack6.2をインストールした環境で試していたが、myCobotにつながっているUSBシリアルをつないでもOrinNX側でうまく認識したい。

CH341のドライバが読み込まれていない模様だったので、次の手順で対応してつながるようになった。

Fix Driver issues for CH340N usb serial chip in Linux (Ubuntu 22.04)
Fix Driver issues for CH340N usb serial chip in Linux (Ubuntu 22.04) - CH340N_linux_fix.md

そしてアームのUSBカメラの映像をCheeseで見ようとしたら、JetPack環境のlibjpegとマッチしてないようで、エラーが起きた。ffplayでUSBカメラも映ることが確認できた。JetPack環境は素のUbuntu環境と微妙に異なるので、ちょいちょいこういうことが起こる。

自由に制御する

JetCobotにはあまり依存したくないので、まずはmyCobotの環境をDockerでOrinNX側に作って、今後はそちらで開発を進めたい。elephantroboticsのPythonライブラリをインストールする。

GitHub - elephantrobotics/pymycobot: This is a python API for ElephantRobotics product.
This is a python API for ElephantRobotics product. - elephantrobotics/pymycobot

バージョンによって依存関係があれこれあってビルドが通らなかったりしたが、とりあえず動かせたDockerの設定を以下に置いてある。いったんPythonを経由するが、余裕があればシリアルを叩く部分を移植できればと思う。

GitHub - kishima/mycobot-ruby
Contribute to kishima/mycobot-ruby development by creating an account on GitHub.

今後これをROS2、moveit2とも組み合わせて、rclrbとも連携させていく予定。

ロボカー(MentorPi)

SLAM関係も試してみたいので、LiDAR、深度カメラ付きのミニカーも購入した。

MentorPiという製品。Raspi5でコントロールするタイプ。

Read more

M5シリーズのESP-IDF開発環境をWSL2&Dockerで作る

この記事は、M5Stack Advent Calendar 2024 に参加してます。 久しぶりのM5、ESP32 いろいろと作ってみたいものはありつつも、なかなか手がつかない日々でしたが、試したいことができたので久しぶりにM5シリーズのデバイスを買ってみました。 買ってみたのは、ESP32 PSRAM Timer Cameraです。こちらを使って、HTTPSでクラウドのサービスにつないでみるのが目的です。 で、今後また色々ビルドしたり、ESP32の機能を使うためにESP-IDF上で開発をしたいと思い準備しました。 ESP-IDFの環境はバージョンによってしばしば互換性が失われるので、昔のコードが最新Verでビルドできないのはしょっちゅうあるかと思います。そのときESP-IDFバージョンを上げ下げするのも大変です。 なので、試行錯誤するにはDockerで環境を作れると何かと便利です。その内容を共有したいと思います。環境はWSL2です。 準備 基本的には、公式の手順を読めばわかる内容ではありますが、すこし躓いた点もあったのでそのあたり説明したいと思います。 ビルド

By kishima