前回の記事では、ROBOTISさんからいただいた2XLという1個に2軸入っている面白いサーボをROSで動かすことができた。
今回は、2軸の2XLと1軸のXL2個を繋げて4つの軸をジョイパッドで動かしたあと、アームロボットをインタラクティブに動かす(手などが近づいてきたら逃げるアームを作りたい)ために、「Intel RealSense Depth C amera D435i」というデプスカメラをROSで動かし、物が近づいてくるのを認識させたいと思う。

今回完成したプロトタイプ。

Intel RealSense Depth Camera D435iで撮影したソファーとトミカを持った手。ソファーと手の間に距離があるのがわかる。
デプスカメラとは、奥行きの情報を取得する深度センサーがついたカメラのことで、物同士の距離などがわかる。デプスカメラについて、今回はROSを使って撮影するところまでで、インタラクティブにするところまでは至っていない。次回インタラクティブを進めていきたい。
サーボを3つ、4軸動かせるようにした
まずは、サーボを3つ、4軸動かせるように「basic.yaml」を書き換え、「joy_pan_tilt_4.py」という4つのサーボを動かすコードを用意したいと思う。

前回XLを動かしたときのシステム図。
1軸のサーボXL(2個)と2軸のサーボ2XL(1個)を、デイジーチェーンで繋げる。

XLを2個繋げたときのように2XLとXLを繋げる。
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

この連載の記事
- 第197回 IKEAのサメをロボットにする
- 第196回 23歳、会社がなくなっても食べていけるようになりたいです
- 第195回 どこでもやっていける人になるための戦略「スラッシュキャリア」とは
- 第193回 年下の言動にムッとしたら、マネしてみる?
- 第192回 彼氏との4年分のLINEを感情分析してわかったこと
- 第191回 インタラクティブな球体になりたい
- 第190回 30歳、子どもはいません。仕事か、結婚か?
- 第189回 「病み期」に突入したので、臨床心理士に対処法を聞いてみた
- 第188回 顔にニッパーをつけるフィルターを作りたい
- 第187回 妻より収入が低いと不倫リスクが上昇!? 現代社会の思わぬ結婚リスク
- この連載の一覧へ