Groveセンサーモジュール、ベースシールドとは

Groveモジュールとは、4ピンコネクターが付くGrove仕様のセンサー、ベースシールド(GroveコネクタがつくBeagleBone Green、GrovePi+、Arduinoに挿せる拡張基板など)、挿してプログラム可能で、容易に使用できるツールセットの通称です。電子機器を組み立てるビルディング・ブロック・アプローチを採用しています。pプロトタインピング、試作品を組み立てるために、ブレッドボードや各種電子部品を使用しての伝統的な学習方法や試作に比較して、Groveが大幅に簡素化でき、プロセスを短縮します。Groveシステムは、Groveベースシールドと標準化されたコネクタを備えた様々なモジュールから構成されています。GroveベースシールドはGroveモジュールから任意のマイクロプロセッサの入力または出力の容易な接続を可能にします。

Groveシステム=Arduino、Raspiberryなど+Groveベースシールド(Groveシステム用拡張ボード)+Groveセンサーモジュール

◎ BeagleBone Greenボードには、Groveコネクタがそのまま付いています。

Groveセンサーモジュール、ベースシールド基板の連携販売サイト:SeeedStudio | ロボット翔-電子部品ストア です。

参考資料:メーカーWiKi

0

ロボット・ドローン部品お探しなら
ROBOT翔・電子部品ストア

六脚蜘蛛型ロボットSpider robot-Hexapodを組み立てた

1、組み立て完成の写真

6足蜘蛛型ロボット
6足蜘蛛型ロボット

2、使用した部品、材料、道具

・サーボ18個、SG90、秋葉原秋月電子さんから購入、400円x18
・サーボ制御ボード1枚、RTROBOT製32チャネル、ネットショップから購入、2000円程度
・AC-DC電源、最大1.5Wxサーボ18個(サーボ制御ボード 5V電源別途必要、USB給電で良い)、30Wの電源で良い、今回コセルさんの30W電源モジュールを購入しました。1600円
・リモートコントローラ1個、動作周波数2.4GHz、ネットショップから購入、2000円程度
・PVCダクト・白・厚さ3mm、長さ1メータうちの40cm程度使用、秋葉原三愛電機さんから購入、500円
・PVCのり、100円
・制御ボード、サーボ固定用ねじ若干、100円
・PVC穴あけ用、電動ドリル(PVCダクトの厚さにより手動ドリルできる場合もあり)、2000円程度
・プラカッタ、PVCダクトを部品用に裁断、繰り返し20回程度PVCダクトを削って、両手で折る。500円
・ねじ止め用ドライバー、100円
・マルチテスタ(オシロスコップは尚可)、1000円

3、ロボット動作について

捻る、回転、曲がり、前進、後退、上下、こいこいなどの動きがサーボの動きを予め定義したうえで確認できました。

4、ビデオ

こいこい


上下、ねじる

ロボット翔-電子部品ストアで、SLAM LIDARなどのロボット部品、ドローン、センサモジュールを販売しています。

0

ロボット・ドローン部品お探しなら
ROBOT翔・電子部品ストア

科学研究、ものづくり試作に提案する ロボット翔・電子部品ストア

ロボット翔・電子部品ストアは、ロボット、ドローン、通信モジュールなどの電子部品を、科学・学術研究や、モノづくり試作に提案いたします。どうぞご検討ご利用のほど、よろしくお願いいたします。

0

ロボット・ドローン部品お探しなら
ROBOT翔・電子部品ストア

加速度センサに連動してCUBEを回転させるApp(Unity3D使用)

手順

1、PCを加速度センサにシリアルにて接続して、ControlObjectByGsensorUnity.cs をunity3d のcube objectにattachして、再生します。
ControlObjectByGsensorUnity.cs

using System;
using System.IO.Ports;
using System.Threading;
using UnityEngine;

public class ControlObjectByGsensorUnity: MonoBehaviour {
	private const string SERIAL_PORT = "COM5";
	private const int SERIAL_BAUD_RATE = 9600;
	private const int SERIAL_TIMEOUT = 100;

	private Thread _readThread;
	private static SerialPort _serialPort;
	private static bool _continue;

	//private static Quaternion _handQuaternion = new Quaternion();
    private static float x,y,z;

	void Start() {
		_readThread = new Thread(Read);
		_serialPort = new SerialPort(SERIAL_PORT, SERIAL_BAUD_RATE);
		_serialPort.ReadTimeout = SERIAL_TIMEOUT;
		_serialPort.Open();
		_continue = true;
		_readThread.Start();
	}

	void Update() {
		transform.rotation = Quaternion.AngleAxis(y, Vector3.forward) * Quaternion.AngleAxis(x, Vector3.right);
	}

	void OnApplicationQuit() {
		_continue = false;
		_readThread.Join();
		_serialPort.Close();
	}

	private static void Read() {
		string[] values;
		while (_continue) {
		 if (_serialPort.IsOpen) {
		  try {
		   values = _serialPort.ReadLine().Split('\t');
		   if (values[0] != "\t") {
			x = float.Parse(values[0]);
			y = float.Parse(values[1]);
		   }
		  } catch (TimeoutException) {
		  }
		 }
		 Thread.Sleep(1);
		}
	}
}

2、加速度センサを傾けてみて、Cubeが動けば成功です。動かない場合は、Arduino本体のリセットボタンを押してみます。

3、3軸加速度センサは、重力加速度によるx、y軸の分量により傾斜を計算するもので、水平面に沿う回転は検知できません。水平面の回転を検知したい場合、他のセンサを組み合わせるかまたはAll in oneのセンサ例えば9軸センサを使う方法があると思います。のち9軸センサの使う実験に関するブログを公開します。

2015-6-24追記:
4、シリアルケーブル(USB)を外して、センサからPC/Unityへ wifi UDP或いはTCPにて接続して、cubeの回転動作が確認できています。
5、更に、センサからAndroid/Unity、iPad/UnityへUDP或いはTCPにて接続して、cubeの回転動作が確認できています。TCP接続と比べて、UDP接続は若干、遅延が少なくなるように見受けています(遅延時間の計測は相当難しいので、省いています)。
6、ビデオ(ジャイロセンサ~WiFi~UNity3D App)、ジャイロセンサを使っていますので、unityアプリCUBEの傾斜は多少ずれているように見えます。

【追記】Wifi UDP接続に関するソースコードは、Githubに公開済み。

関連記事

9軸IMUセンサ 6軸/9軸フュージョン 低遅延 USB出力 補正済み ROS対応

0

ロボット・ドローン部品お探しなら
ROBOT翔・電子部品ストア