SpotMicro(mini) その25 ーリモコン そうだIphoneを使おうー [ROBOT]
オリジナルのSpotmicroのサイトでは、XboxだったりPS5だったりのコントローラが使われている。
これは一瞬いいようにも見えるが、接続がBluetoothなので、移動距離がある程度離れると、使えなくなる。最もWIFIでも同じだけど、もう少し広い。
で、機種変更で手元にあるIphone7に白羽の矢を立てた。
IOSではROSが動くと紹介しているページもあり、それとなく買っていたPythonista もあるので、
これに挑戦してみることとした。
ROSは、メッセージをセンサ等の情報を経て、何らかの処理を行い、その結果をモータなどのコントらーらにつなげるとっても素晴らしい仕掛けで、データが発生するところと、処理をするところ、分散するコンピュータで使用することができる。
なので、IPで接続された複数のコンピュータで、処理を分散できるわけだ。
で、話を戻して。SpotMicro君を運転するとすると、カメラの画像を見ながら、前進後進は、停止加速、などをコントロールしたい。
ここで、機種変更で手元にあるIPHONEを使おうt思ったわけだ。
で、先ほどのページを参考にして、なるほど。発信はできた。
が、受信がうまくできない。
ROSのトランスポートはTCPなので、接続がうまくいかないことは ないと思うんだけど、なんか受信がうまくいかない。
具体的に言うとraspicam_node/image/comressedメッセージを受信して、表示するというものを作りたいわけだけど、うまくいっている人がいたら、教えてほしいです。
よろしくお願いします。
これは一瞬いいようにも見えるが、接続がBluetoothなので、移動距離がある程度離れると、使えなくなる。最もWIFIでも同じだけど、もう少し広い。
で、機種変更で手元にあるIphone7に白羽の矢を立てた。
IOSではROSが動くと紹介しているページもあり、それとなく買っていたPythonista もあるので、
これに挑戦してみることとした。
ROSは、メッセージをセンサ等の情報を経て、何らかの処理を行い、その結果をモータなどのコントらーらにつなげるとっても素晴らしい仕掛けで、データが発生するところと、処理をするところ、分散するコンピュータで使用することができる。
なので、IPで接続された複数のコンピュータで、処理を分散できるわけだ。
で、話を戻して。SpotMicro君を運転するとすると、カメラの画像を見ながら、前進後進は、停止加速、などをコントロールしたい。
ここで、機種変更で手元にあるIPHONEを使おうt思ったわけだ。
で、先ほどのページを参考にして、なるほど。発信はできた。
が、受信がうまくできない。
ROSのトランスポートはTCPなので、接続がうまくいかないことは ないと思うんだけど、なんか受信がうまくいかない。
具体的に言うとraspicam_node/image/comressedメッセージを受信して、表示するというものを作りたいわけだけど、うまくいっている人がいたら、教えてほしいです。
よろしくお願いします。
SpotMicro(mini) その24 ー現状の到達点ー [ROBOT]
SpotMicro(mini) その23 ーROSTopicによるサーボ動作ー [ROBOT]
キャリブレーションが終わったので、ROSのメッセージで、サーボを動かしてみる。
以下の動画は、このスクリプトで動かしている。
よく見ると、まっすぐがやはりずれているので、それなりの修正が必要みたいだ。
ここまで来たから後は、いよいよ歩きのプログラムを作らないといけない。
以下の動画は、このスクリプトで動かしている。
#min rostopic pub -1 /servos_absolute i2cpwm_board/ServoArray "{servos:[{servo: 1, value: 320},{servo: 2, value: 534},{servo: 3, value: 180},{servo: 5, value: 320},{servo: 6, value: 130},{servo: 7, value: 450},{servo: 9, value: 306},{servo: 10, value: 530},{servo: 11, value: 190},{servo: 13, value: 310},{servo: 14, value: 130},{servo: 15, value: 450}]}" # center rostopic pub -1 /servos_absolute i2cpwm_board/ServoArray "{servos:[{servo: 1, value: 320},{servo: 2, value: 490},{servo: 3, value: 294},{servo: 9, value: 306},{servo: 10, value: 458},{servo: 11, value: 306},{servo: 13, value: 310},{servo: 14, value: 181},{servo: 15, value: 325},{servo: 5, value: 320},{servo: 6, value: 170},{servo: 7, value: 331}]}" # max rostopic pub -1 /servos_absolute i2cpwm_board/ServoArray "{servos:[{servo: 1, value: 320},{servo: 2, value: 275},{servo: 3, value: 492},{servo: 5, value: 320},{servo: 6, value: 368},{servo: 7, value: 133},{servo: 9, value: 306},{servo: 10, value: 260},{servo: 11, value: 504},{servo: 13, value: 310},{servo: 14, value: 379},{servo: 15, value: 127}]}" # center rostopic pub -1 /servos_absolute i2cpwm_board/ServoArray "{servos:[{servo: 1, value: 320},{servo: 2, value: 490},{servo: 3, value: 294},{servo: 9, value: 306},{servo: 10, value: 458},{servo: 11, value: 306},{servo: 13, value: 310},{servo: 14, value: 181},{servo: 15, value: 325},{servo: 5, value: 320},{servo: 6, value: 170},{servo: 7, value: 331}]}" #min rostopic pub -1 /servos_absolute i2cpwm_board/ServoArray "{servos:[{servo: 1, value: 320},{servo: 2, value: 534},{servo: 3, value: 180},{servo: 5, value: 320},{servo: 6, value: 130},{servo: 7, value: 450},{servo: 9, value: 306},{servo: 10, value: 530},{servo: 11, value: 190},{servo: 13, value: 310},{servo: 14, value: 130},{servo: 15, value: 450}]}" #off rostopic pub -1 /servos_absolute i2cpwm_board/ServoArray "{servos:[{servo: 1, value: 0},{servo: 2, value: 0},{servo: 3, value: 0},{servo: 6, value: 0},{servo: 6, value: 0},{servo: 7, value: 0},{servo: 9, value: 0},{servo: 10, value: 0},{servo: 11, value: 0},{servo: 13, value: 0},{servo: 14, value: 0},{servo: 15, value: 0}]}"
よく見ると、まっすぐがやはりずれているので、それなりの修正が必要みたいだ。
ここまで来たから後は、いよいよ歩きのプログラムを作らないといけない。