タミヤのカムプログラムロボットにOpenMV Camを載せて二次元マーカー(AprilTag)を交通標識のように読み込ませようと目論んでいます。そこでOpenMV Camの標準カメラでどの程度の範囲にあるマーカーを検出可能か調査してみました。
![]() |
タミヤのカムプログラムロボットにOpenMV Camを載せて二次元マーカー(AprilTag)を交通標識のように読み込ませようと目論んでいます。そこでOpenMV Camの標準カメラでどの程度の範囲にあるマーカーを検出可能か調査してみました。
![]() |
フリスクサイズの小さな基板にデジタルカメラと画像処理モジュールが搭載された製品 Open MV Cam。この小さなサイズで(パソコンやスマホなしに)リアルタイムでカメラの画像を取り込みながら、並行して画像処理や画像認識(例えば顔認識)まで完結するのは驚きなのですが、マイコンボードとしてのGPIOの機能も充実しています。SPI, UART, ADC, DAC, PWM と汎用マイコンボードのArduinoやmbedと同等の機能が詰まっています。
そこでOpenMVからモータードライバーを介してDCモーターに接続し、二輪駆動ロボットのスピード制御を試みます。OpenMV Cam M7のPWM OutとDigital Outを"TB6612 2chモータードライバー"に接続して左右1対のブラシ付きDCモーター(いわゆる模型用モーター)をコントロールしてみます。
AWS(Amazon Web Services)の支払い方法に新しいクレジットカードの登録(追加)を試みると「下4桁XXXXのカードは登録できません」とエラーが発生して登録が失敗する。
請求先住所などに日本語を入力している。
請求先住所などをローマ字で入力する。
High Sierra (macOS 10.13) に pyenv で Python 3.6.3 をインストールすると失敗する。(BUILD FAILED)
|
1 |
$ brew install openssl |
|
1 2 3 |
CFLAGS="-I$(brew --prefix openssl)/include" \ LDFLAGS="-L$(brew --prefix openssl)/lib" \ pyenv install -v 3.4.3 |
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
VirtualBoxにおいてフルスクリーン表示を解除する方法
Host Key ( left ⌘ ) + F
gccにおいて -l オプションを指定する位置は意味を持つ(誤った位置で指定するとリンクエラーになる)ので注意すること!
|
1 2 3 4 5 6 7 8 9 10 11 12 |
$ gcc -o listdevs -I/usr/include/libusb-1.0 -lusb-1.0 listdevs.c /tmp/ccy2LPhL.o: In function `print_devs': listdevs.c:(.text+0x36): undefined reference to `libusb_get_device_descriptor' listdevs.c:(.text+0x69): undefined reference to `libusb_get_device_address' listdevs.c:(.text+0x7a): undefined reference to `libusb_get_bus_number' listdevs.c:(.text+0xb3): undefined reference to `libusb_get_port_numbers' /tmp/ccy2LPhL.o: In function `main': listdevs.c:(.text+0x178): undefined reference to `libusb_init' listdevs.c:(.text+0x197): undefined reference to `libusb_get_device_list' listdevs.c:(.text+0x1c5): undefined reference to `libusb_free_device_list' listdevs.c:(.text+0x1d2): undefined reference to `libusb_exit' collect2: error: ld returned 1 exit status |
usb-1.0 (libusb-1.0.so) の関数が参照できない(検索対象外となる)ため、listdevs.o から見たときにリンクエラー(undefined reference)に陥る。
-lで指定したライブラリは先に指定した listdevs.c (listdevs.o) からは参照できない。
libusbで開発したアプリが以下のエラーを表示して停止する。
|
1 |
libusb: error [darwin_claim_interface] USBInterfaceOpen: another process has device opened for exclusive access |
※ システム環境設定 => プリンタとスキャナ から該当するUSBプリンタを削除しても、再起動後にふたたび見つかる。
|
1 |
$ system_profiler SPUSBDataType |
以下の3つのファイルを削除して再起動する。
/etc/cups/printers.conf/etc/cups/printers.conf.O/etc/cups/printers.conf.pre-update/Users/JaneDoe/Library/Preferences/com.apple.systempreferences.plist
DHCPサーバの存在しない環境 (LINKLOCALアドレス) において、MACアドレス(48bit)からインターフェースID(64bit)を生成する変換ルール
|
1 |
$ aws s3 sync --region ap-northeast-1 s3://[移動元バケット名] s3://[移動先バケット名] |