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

PicoRubyベースのミニコンピュータ

先日、SNSを見ていたらPicoCalcというデバイスを見つけた PicoCalc | ClockworkPiClockworkPi - Creators of PicoCalc uConsole DevTerm and GameShell, Open Source Portable Hardware for Every Dev.ClockworkPi これはclockworkから出ているRaspberryPi Picoをコアとして、キーボードとモニタを搭載したスタンドアロンなポケットコンピュータキットです。 clockworkはRaspberryPiベースのロマンあふれるデバイスをこれまで提供している会社で、私も昔クラウドファンディングに参加したこともありました。 私自身も、以前、ラズパイをタカチケースに入れて気合でポケコンもどきを作ったりしたこともあったので、この洗練された筐体には当然心が躍りました。 デフォルトで動くのはBasicで、これもまた味わいがあってよきですが、やはり自分としてはmruby動かしたい、ということで、Raspi PicoといえばPicoRubyの出

By kishima

PicoRubyを理解する1

PicoRubyA Ruby interpreter implementation for one-chip microcontrollers - PicoRubyGitHub ちゃんと中身を理解できてなかったので、コードや資料を読んで理解したい。 特にパーサーやVMの周りをどうやって小さくできているのか。 まずは基礎知識から。 公式情報 PicoRuby DocumentationAPI documentationPicoRuby Documentation 羽角さんの資料 2025 MicroRuby: True Microcontroller RubyRubyKaigi 2025, #rubykaigiRubyKaigiRubyKaigi 2025 で発表したMicroRubyとはなんだったのかMicroRuby: True Microcontroller Ruby というタイトルの発表をしました。hasumikin MicroRubyとは? Ruby会議には参加できてないので、詳細はブログの記事からの理解ですが、以下のような、図のような感じなのかと

By kishima

RubyとROS 2

普段仕事でROSを触るときはPythonかC++を利用することになるが、Ruby好きとしては、やはりRubyでもノードを書いたりしたくなる。 ということで、すこし調べてみた。 ROS 2以前 調べるとROS 2ではなくて、ROSに関する取り組みはあるようだった。 GitHub - OTL/rosruby: ruby ROS client.ruby ROS client. Contribute to OTL/rosruby development by creating an account on GitHub.GitHubOTL 九州工業大学の田中先生の研究室の学生さんの記事。対象はNoetic。 【Ruby】RubyでROSを動かしてみた - Qiita九州工業大学 田中和明研究室の大学院生です。Rubyと産業用ロボットに関する研究に携わっています。背景ROSでロボットを動かす場合、一般的にはPythonやC++を使用したプログラムが基本です。…Qiitatytymch ROS 2対応のrclrb やはり今ならROS 2使いたいので、調べてみると1

By kishima