2018年1月10日水曜日

ROSを使ったリモートシャットダウン

最近ROSでロボットを作っていて、電源OFFが少し煩わしいように思ってきたのでここをROSで改良します。

今私の環境では手元のPCとロボット に積んでいるRaspberry Piがあります。Raspberry Piは電源を繋げると勝手にONになります。しかしOFFにするときは
  1. sshでログイン
  2. パスワードを入力
  3. $ sudo shutdown now
  4. パスワードを入力
と4行を書く必要があります。

shutdownを行うROSnodeを書いて、ROSのリモートランチを使えば1行だけで記述をすることが出来ます。
しかしshutdownはsudo権限が必要なので単純に
system("sudo shutdown now");
とCで書いても実行されません。インタラクティブにパスワードを求められるのでコマンドでどうにかすることはできません。shutdownをユーザー権限でできるように権限の設定を変えても良いのですが、面倒な感じがします。実は"sudo -S"とやると標準入力からパスワードを入力できます。そこで以下のノードを作って、リモートから実行すると電源OFFが簡単にできます。

#include <stdlib.h>
int main(void)
{
    system("echo 'raspberry' | sudo -S shutdown now");
    return 0;
}

2018年1月1日月曜日

エアガン用のフェンス

SRS004はエアガンを使うのですが、遊び終わった後にBB弾が散らばったり、またもしMFTに持っているとしたら飛び散らないように柵が必要と思い、フェンスを買いました。
ペット用の物でamazonで購入(https://www.amazon.co.jp/gp/product/B01AUQPOUE/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1)。
ペット用だとただの鉄格子みたいなものが多い中ちゃんとフィルムが貼ってあるものがありました。 組み立てると柵と柵の間に隙間が出来ますが、問題ない程度です。
大きさは50x70xmで10枚入りで5000円程。薄くて10枚重ねても5cmほど。適度な大きさなのと、 至近距離でエアガンを撃っても穴が開くことなくびくともしないのが良い。
アクリルみたいに透明ではありませんが、そこそこの透明度です。

実際に使ってみた動画はこちら

2017年12月30日土曜日

ROSのimage_geometryを使ってみた。

tf上の点を画像の上に表示するためのパッケージであるimage_geometryを試してみました。チュートリアルを動かしただけで中身はよくわかっていませんが。
オムニホイールで移動→オドメトリから自分の位置を計算→targetの相対位置を計算→画面上に表示(ここがimage_odometry)でも思ったよりは精度が良かったです。
カメラは事前にキャリブレーションをしています。キャリブレーションで画角なども自動で計算してくれるみたいですね。

新型ロボットSRS004始動

現在作っているオムニホイール+エアガンのロボットが大体完成しました。プロジェクト名はSRS004で、エアガン搭載のオムニホイールで移動するロボットです。


オムニホイールを使用した滑らかな移動、エアガンの射撃、強力な前照灯のデモをご覧ください。

移動機構

オムニホイールをエンコーダー付きモーターで駆動しています。モーターはAliexpressで販売しているものを使っています(国内販売が無い)。モータードライバは前に紹介したVNH5019を使用(だいぶオーバースペックですが)。専用基板を起こしました。

 エアガン


今回も昔と同じ電動ガンボーイズのメカボックスを使用しました。しかしハーネスやマガジンを昔はアルミで使っていたものをすべて3Dプリンタやレーザーカッターで製作できるように設計を変更し、部品点数が大幅に削減されました。

ヒットセンサー

ロボット同士でサバゲーをするならロボットに弾が当たったことを感知できなくてはなりません。エアガンが当たった衝撃を感知するヒットセンサーを製作しました。

2017年11月15日水曜日

新型ロボットSRS004仮組み

現在設計している新型ロボットの仮組みが出来て、一通りの動作確認が出来ました。一部届いていない部品があるので完全には動きませんが大体動いています。
(電源ノイズの問題がまだ残っているけど......)

重さは完成で2.4kg程 1機4万円ほどで作れそう
量産したいな。

新ガンモジュール射撃動画

アルミ部品でできていた旧ガンモジュールを3Dプリントとレーザーカッターの部品で設計しなおした新モジュールの動作確認が出来ました。このモジュールではCANバスからの指令で
  • 2つのサーボによる旋回角、仰角の回転
  • レーザーサイトのON、OFF
  • エアガンの射撃
が出来ます。
オリジナルのマガジンは電動で、ステッピングモーターで歯車状の部品を回転して弾をチャンバーに送り届けています。またエアガンのギアボックスの動作レバーをマイクロスイッチで読み取ることにより正確な弾数を発射できます。

2017年11月8日水曜日

被弾センサー完成

今まで設計していた被弾センサーの動作確認が完了しました。
真ん中の緑の板(プリント基板)の裏に加速度センサーが付いていて、加速度の微分値(躍度)がある一定値(大体2.5kG/s)を超えたら反応するようになっています。
しかし、ただ板の加速度を取っただけでは取り付けているロボットの移動の振動や、ターゲット以外のロボット本体に当たったときの振動でも反応してしまっては意味がありません。今回はターゲットと外枠をゴムで宙吊りにすることで外枠からの振動をシャットアウトしています。
センサーは秋月のアナログタイプの物を使っています。 ターゲットには赤と黄色のLEDが外側に配置しています。サバゲーでは赤と黄色でチーム分けをするのでその表示も兼ねています。
今後実際にロボットに載せてエアガンでの撃ち合いをする予定です。