月別アーカイブ: 2014年11月

View Direction Rotation Control System

ハウスローバーを無線LAN経由でコントロールする場合、webカメラの映像や命令には遅延が生じます。直進の場合は距離センサーのデータを参考に(カンで)操縦することは容易ですが、信地旋回の際、進みたい方向に向けて停止させるのは至難の業です。

IMG_0281.MOV_000023046

そこで開発(?)したのが View Direction Rotation Control System です。 日本語では、視点方向転回制御方式って感じでしょうか。

操作方法としては、

webカメラの中心を進みたい方向に向け、VRCSボタンを押すだけです。

内部では、webカメラの水平方向の位置を読み出し、その方向までジャイロセンサーを使って回転しています。

 

動画を公開しました。

この方法で、カメラ画像を頼りに行う遠隔操作が簡単になりました。

 

Raspberry Piの初期設定 – Arch Linux

Raspberry PiのOSは、当初、Raspbianを使用していたのですが、少しでも軽快な動作を期待して、Arch Linuxに切り替えています。

必要なパッケージを導入し、実際に使用する環境にした場合、本当にArch Linuxの方が軽快なのか? 感覚的にはあまり実感できていません。

Raspbianで再セットアップして比較してみたいとも思いますが、現在はArch Linuxです。

久しぶりに、Raspberry Piの公式サイトに行ってみると、ダウンロードページにArch Linuxがありませんでした。 なぜでしょう。

Raspberry Pi Model B

Raspberry Pi Model B

Arch Linuxの初期設定

システムを最新の状態にアップデート
pacman -Syu

sudo をインストール
pacman -S sudo

php apach をインストール
pacman -Sy apache apache php php-apache

設定ファイル(/etc/httpd/conf/httpd.conf)の修正
phpモジュールを追加

LoadModule php5_module modules/libphp5.so
Includeリストの最後に追加
Include conf/extra/php5_module.conf
追加
AddHandler php5-script php
文字コードの設定
AddDefaultCharset UTF-8
置き換える
LoadModule mpm_event_module modules/mod_mpm_event.so
から
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
に変更

php.iniの変更
ファイルの読み込み制限を解除

open_baseidr [制限パス]
から
open_basedir none
に変更
WiFi 関係のパッケージをインストール
pacman -S iw wpa_supplicant wpa_actiond dialog
WiFi toolをインストール (iwconfig等)
pacman -S wireless_tools
ホスト名を設定
hostnamectl set-hostname rasberrypi
再起動
reboot
ワイヤレスLAN を見つけて設定してくれる wifi-menu を使って設定
wifi-menu wlan0
自動で wlan0 が接続されるように設定
systemctl enable netctl-auto@wlan0

ワイヤレスLANの品質表示
cat /proc/net/wireless

固定IPの設定
/etc/netctl/examples/ethernet-staticを/etc/netctlにコピーして編集

IP=static
Address=(‘192.168.0.XX/24′)
Gateway=’192.168.0.XX’
DNS=(‘192.168.0.XX’)
※wlan0も同様
タイムゾーンの設定
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

Webminのインストールと設定
pacmanでwebminパッケージをインストール

sudo pacman -S webmin
制御用端末のアクセス制限解除
sudo nano /etc/webmin/miniserv.conf
allow=127.0.0.1 192.168.0.0/24   追加
webmin自動起動設定とスタート
sudo systemctl enable webmin.sevice
sudo systemctl start webmin.service

MJPG-Streamerのインストール
必要なパッケージを導入

sudo pacman -S base-devel abs file
sudo pacman -S mjpg-streamer
起動コマンド(例)
mjpg_streamer -i “input_uvc.so -d /dev/video0 -r 320×240 -f 12 -y” -o “output_http.so -w /usr/share/mjpeg-streamer/www -p 8080”

I2C ツールのインストール
pacman -S i2c-tools

/etc/modules-load.d/rasberrypi.confへ以下を追加
i2c-dev

servoblasterのインストール
git clone https://github.com/richardghirst/PiBits.git
cd PiBits/ServoBlaster/user/
make servod
起動コマンド
/root/PiBits/ServoBlaster/user/servod –idle-timeout=2000

Wiring Piのインストール
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build

webiopiのインストール
cd /tmp/
wget https://aur.archlinux.org/packages/py/python-webiopi/python-webiopi.tar.gz
tar -xvf *.tar.gz
cd python-webiopi
makepkg -s –asroot
pacman -U python-webiopi-0.7.0-1-armv6h.pkg.tar.xz

webiopiの起動
systemctl start webiopi

システム起動時にwebiopiを起動
systemctl enable webiopi
systemctl start webiopi.service

RAMディスクの設定・マウント
sudo mkdir -p /media/ramdisk
sudo mount -t tmpfs -o size=1K tmpfs /media/ramdisk
アンマウント
sudo umount /media/ramdisk
RAMdisk領域への書き込み例
fp = fopen(“/media/ramdisk/test.txt”, “w”);
fputs(s, fp);
RAMdisk領域からの読み込み例
fp = fopen(“/media/ramdisk/test.txt”, “rb”);
s[i] = fgetc(fp);

 

参考にさせていただいたサイト

橋本商会 – Raspberry Pi + mjpg-streamerでwebcam動画配信

人と技術のマッシュアップ – Raspberry PiでGPIO制御

Raspberry Pi 日記 – Raspberry Pi 日記 (part2)

自宅LAN構築の宇宙(せかい) – Arch Linux サーバー構築編

 

Webカメラに超音波センサーを組み込む

webカメラへパン・チルト機構を設けますが、超音波センサーや照明用LEDも同じ方向を向くような構成にしたいと思います。

購入前には計画していなかったのですが、カメラの実物をみると、ケースに若干の余裕がありそうでしたので、超音波センサーとLEDを組み込むことにしました。

ロジクールC270 分解

ケースの前面は二重構造になっていますが、外側のパーツは使用せず、内側のパーツを加工します。

ロジクールC270   ロジクールC270

LEDを中心に、超音波センサーを右側に配置しました。

 

パン・チルト機構は秋月電子で購入しました。

Web Cam 3-axis Servo Kit

このキットにもカメラが付属していますが、ロジクールのカメラに比べると画質が落ちるので、元々パン・チルト部分のみを使用する計画でした。

カメラの固定には、付属のカメラを使う場合も含め、加工が必要です。 ここを参考にしつつ組み立てます。

IMG_0246 → IMG_0254 → IMG_0255

IMG_0244   IMG_0279

カメラ側の基台も、根元からカットして、突起を取り除いたパン・チルト部に両面テープで固定。

すっきりコンパクトに加工出来ました。

 

※ Amazonで、パン・チルト機構のみの扱いがありました。
SG90サーボ用ミニ2軸 カメラマウント (サーボ別売)
マイクロサーボ SG90 改良版 (2個入)