前回の記事では、ROBOTISさんからいただいた2XLという1個に2軸入っている面白いサーボをROSで動かすことができた。
今回は、2軸の2XLと1軸のXL2個を繋げて4つの軸をジョイパッドで動かしたあと、アームロボットをインタラクティブに動かす(手などが近づいてきたら逃げるアームを作りたい)ために、「Intel RealSense Depth C amera D435i」というデプスカメラをROSで動かし、物が近づいてくるのを認識させたいと思う。
デプスカメラとは、奥行きの情報を取得する深度センサーがついたカメラのことで、物同士の距離などがわかる。デプスカメラについて、今回はROSを使って撮影するところまでで、インタラクティブにするところまでは至っていない。次回インタラクティブを進めていきたい。
サーボを3つ、4軸動かせるようにした
まずは、サーボを3つ、4軸動かせるように「basic.yaml」を書き換え、「joy_pan_tilt_4.py」という4つのサーボを動かすコードを用意したいと思う。
1軸のサーボXL(2個)と2軸のサーボ2XL(1個)を、デイジーチェーンで繋げる。
basic.yamlは「catkin_ws/src/dynamixel-workbench/dynamixel_workbench_controllers/config」の中にある。サーボの名前やサーボの個数が書いてあるので、これを4個に変更する。
具体的には下記のようにした。#で「Return_Delay_Time」をコメントアウトしているのは、これがあると2XLが動かないからである。「id1」と「ID: 1」でややこしい名前になってしまっているのが気になるが、後で軸の回転方向を変える可能性が高いので、「pan, tilt」などにしたくなかった。良い名前付けのアイデアのある人はそれに変更していただきたい。
ちなみに、basic.yamlを呼び出しているコードは「catkin_ws/src/dynamixel-workbench/dynamixel_workbench_controllers/launch」の中の「dynamixel_controllers.launch」の10行目にある。
# You can find control table of Dynamixel on emanual (http://emanual.robotis.com/#control-table)
# Control table item has to be set Camel_Case and not included whitespace
# You are supposed to set at least Dynamixel ID
id1:
ID: 1
# Return_Delay_Time: 0
id2:
ID: 2
# Return_Delay_Time: 0
id3:
ID: 3
id4:
ID: 4
Collapse
この連載の記事
- 第310回 地方に移住したいが、東京にとどまるべきか
- 第309回 「マジック:ザ・ギャザリング」という深淵の入り口に立った。まだ底は見えない
- 第308回 大正製薬の内臓脂肪を減らす薬「アライ」買ってみましたレポ
- 第307回 新規事業の撤退を“負け”にしない方法
- 第306回 企業人としての事業・プロジェクトの終わらせ方
- 第305回 画像生成AIで自作キャラのジオラマアクスタができたぞ〜〜〜!!!
- 第304回 画像生成AIでオリジナルキャラのLoRAができたぞ〜〜〜!!!
- 第303回 私の”2年間目標”教えます
- 第302回 「好きな人にSIMは差せますか?」メンヘラとギャルとアイドルが“通信”についてガチで考えた結果【運営レポ】
- 第301回 人生を変える「2年間目標」の立て方
- この連載の一覧へ