Attribute System

ジャンク奇行。 ときどき ラクガキ。

ロボトレース、2018東日本

2018-09-03 07:41:17 | ロボコン
 おはようございます、ヌキヲです。
先日の9/1(土)にはマイクロマウスの東日本地区大会がありました。
私もロボトレース競技にエントリーしてきたので報告します。

えー、昨年からロボフェスというのを開催し、
その中の一種目としてマイクロマウスが入る形ですね。
そのほかには相撲やロボカップ、ロボワンなんかがあるようです。

今年から場所をパシフィコ横浜に移動しました。
会場はかなり広いですが、ロボット競技会がひしめき合っているので、
控えスペースはわりと狭い感じでした。
欲を言えばもうちょっとゆったり座りたいですが、あまり無理も言えませんね。


さて、気を取り直して結果行きましょう。

結果:棄権。

かなC。
いえ、マシンの走りはわりとキビキビしてるのですよ?
走ればの話ですが。
なんとスタートスイッチが死にまして、スタートはもちろんのこと、
コース上でキャリブレーションもパラメータ変更もできなくなりました。

もう詰んだ・・・と思ったのですが、知り合いに半田ごて借りて直そうとします。
でもうまくいきません。
パターンもはがすし、マイコンのピンはブリッジするし。
吸取り線、ニッパー、配線材、テスターなどいろいろな人に借りましたがダメでした。
某チャッピーさんありがとうございました。

そして、そうこうしているうちに出走準も過ぎ去っていました。
いや、受付したのに出走順にいないとかダメでしょ(苦笑
運営にもご迷惑をおかけしました。申し訳ありませんでした。
そして、参加賞もらいそびれました。



さて、気を取り直してマシンの紹介です。




フォルム的には初心者丸出しの板トレーサですね。
実は 8/4、8/5 に MFT2018 があり、そちらが終わってから設計しました。
設計製作は、メカ3日、回路3日、ソフト1週間という突貫工事マシンです。

マイコン : PIC32MX274F256D
センサADC : MCP3208
センサ : TPR-105F x8
エンコーダ : AS5600 x2
ジャイロ : MPU-6050 (I2C)
モータ : A-Max 16mm 249099
モータドライバ : TB6612FNG
バッテリー : Nano-tech 2S 350mAh (65C130C)

マイコンは結構新しいデバイスで、以前のモノよりクロックがアップしているのですが、
それ以外がゴミクソに劣化していてリプレースとしては使い物になりません。

注意点は 33pin(RB4) 34pin(RA4) の SOSC ピンです。
このピンは TRIS なども実装されていますが、出力にできません。
I/Oリマップの場合どうなるのか確認してませんが、単純な LATx は使用不可です。
メーカ側も後から分かったみたいですが、
エラッタに載せずにデーターシートに注釈で載せてきました。
もうこのままの仕様で行くってことでしょうかね??


モータは初めてのマクソンです。
詳細は不明のアリの中古です。
1個 $6 でリーズナブルです。
10個買って1個変な音がしたので、9個は使えそうかな?
3V 定格で 2S 7.4V かけてますが、わりと使えそうです。

3Dプリントも試しました。
ただ、ギヤ比を 20:42 にしてしまったのと、
かみ合わせがあまりよろしくないのとで、採用を見送りました。
結局手加工の 8:50 をアルミ版のマウントで使ってます。


壊れたスイッチは秋月で売ってる小さいタクトスイッチです。
表面実装用タクトスイッチ SKRPACE010(5個入)\100
これ、リセットスイッチにも使ってるんですが、そっちはなぜか壊れません。
2016年のマシンでも同じ傾向だったので何かあるんでしょうけど、原因不明です。
強く押しすぎるのかなぁ?




というわけで、11月の認定大会が全日本へのラストチャンスになりました。

最後になりますが、素晴らしい大会を開催していただきありがとうございました。
これからも継続して参加していけたら、そして生徒もつれていけたらいいな、
なんて思っていますのでよろしくお願いします。

コメント

Wacom タブレット、マルチモニタ環境。

2018-08-20 07:55:41 | 研究&TIPS
 おはようございますヌキヲです。
このあいだ迂闊にペンタブのドライバーをアップデートしたら嵌ったので備忘録します。

●症状

マルチモニタ環境で WinTabAPI の描画領域がカーソルとズレる問題です。
詳しく言うと、マッピングがおかしく、デスクトップ全体を強制されます。
ただし、操作パネルは普通に操作できてしまいます。

SAI SAI2 の WinTab モードで確認しました。
クリスタは持ってないのですが、フォーラムにそれっぽい書き込みがありました。


●改善方法

ドライバーを古いものに差し替えます。
普通にアンインストールしただけでは消えませんので手動操作が必要です。

1.タブレットを切断
2.設定→アプリ から ワコムタブレット をアンインストール
3.再起動
4.サービスを停止。
5.C:\Program Files から tablet フォルダを削除
6.AppData\Roming から WTablet フォルダを削除(オプション)
7.タブレットを接続
8.古いドライバーをインストール


サービス停止はタスクマネージャからできます。
TabletServiceWacom、WTabletServicePro などです。実行中でなければ大丈夫でしょう。

ドライバーのバージョンはちょっと古いですが v6.3.21 で正常動作を確認しました。


●考察

私の環境を記しておきます。

Windows10 Pro 1803 x64
Wacom Cintiq 13HD DTK-1301
Lenovo ThinkVison L1423p
Driver v6.3.30-6

どうも ISD(Wacom feel IT Technologies) の方も引っ張られるようで、
v6.3.30 を入れた時点で同症状になりました。

TabletPC API や Windows API で問題が出ないところを考えると、
WinTabAPI 固有のバグか仕様変更だと思われます。
また、Medibang では確認できなかったので、すでに対応した可能性があります。

SAI SAI2 でよく聞く AvoidWacomBug はスケーリングの問題なので今回は関係ありません。

というわけで、皆さんもドライバーのアップデートは本当に必要かよく考えて行いましょう。
コメント

画像を DPI値 に合わせて印刷する

2018-07-04 07:03:00 | 研究&TIPS
 おはようございますヌキヲです。
こんな時間ですが、今回はちょっとかゆいところに手を伸ばすネタです。

絵を描いたり、スキャナーで jpg などにスキャンしたりすると気になるのが、
そのままの実寸や、好きな倍率に設定しての印刷です。
これがまたできるソフトが無いこと!

そりゃね、Photoshop とか持ってれば好き放題できますよ?
でも、どこの環境にもあるものではないので困ってしまいます。

できればフリーソフトで欲しい機能ですよね。
ここからめくるめくフリーソフトショッピングが始まります。
あれもこれも多有名どころはほとんど試しました。
Photoshop 代替を狙っている GIMP も試したけど、
ドキュメントの dpi 値に従い 100% 印刷という点であえなく NG。
惜しいかな、好きなサイズに印刷はできるんですけどね。

で、結論言っちゃうと、Windows の標準アプリ、Windows ペイント でできました!
灯台下暗し!!
枚数たくさんあっても、一枚ずつちまちま開いては印刷~ってのを繰り返さないとならないのが
たまにキズですが、それでもできるだけマシってもんですね。

あぁよかった。
コメント

Chinachu on WSL at 2018.07

2018-07-04 05:40:58 | 研究&TIPS
 こんばんはヌキヲです。
今回は録画鯖のソフトを入れ替えた話です。

ある日 BS の 2K/4K 問題によるチャンネル再編のせいで
BSプレミアム が見れないことに気づきました。
もともと私の環境は PT3+TvRock だったのですが、
かなり古いバージョンで更新の仕方が全然わかりません。
そこで、TvRock の更新にこだわらずに、別ソフトへの乗り換えを考えます。
で、最近流行(?)の Chinachu にしてみようということになりました。
備忘録なので、過度の期待は禁物です。


●条件



Windows10 RS4 上に PT3 + BonRecTest + Mirakurun の環境を作ります。
さらに WSL Ubuntu 18.04 LTS 上に Chinachu を入れました。
リアルタイム視聴は Ubuntu 上の Kodi + Harekaze(pvr.chinachu) から行います。

※この環境には問題点があります。
WSL Ubuntu がストアアプリなため自動起動の手段がありません。
また Ubuntu 自体を起動できたとしても、chinachu の自動起動が確立できていません。
この辺は要研究かな。

解決しました。




●PT3 + BonRecTest の準備



詳しくはたくさんのページが存在するので割愛します(笑
かいつまんで解説です。

PT3 のドライバーと SDK を入れます。
必要があれば FPGA の回路更新もしておいてください。

次に必要なものの収集です。
BonRecTest.exe は自分でビルドするか、どっかのアプロダから入手します。
B25Decoder.dll も同様に。
BonDriver は github だったかな。

これらを同一フォルダに展開します。
32bit 64bit 問題ですが、必ず同じ bit 数のモノをそろえてくださいね。
OS が 32bit なら 32bit のモノ一択です。
OS が 64bit なら どちらでも動作しますが、混在はできません。

BonDriver の dll をチューナーの枚数分だけコピーし、リネームします。

さて、ここでコマンドプロンプトか PowerShell を起動し動作確認します。

> ./BonRecTest --decoder B25Decoder.dll --driver BonDriver_PT3-T0.dll --log --output test.ts --channel 11


とかやれば動くはずなのです。
エラーが出る場合は vc_redist が足りないことが多いようです。
また、IB25Decoder の初期化に失敗する場合は、
B-CAS カードが取り付けられているか確認してください。

次に BSチャンネル のアップデートもしてしまいましょう。

「PT3のチャンネル移動対策方法/アースソフト」解説 ~半自動編~

を参考に BonDriver_PT3-S.ChSet.txt を差し替えます。

・・・結構やることありますね(汗



●Node.js + Mirakurun



入れるのは Windows ネイティブ版です。

まずは Node.js ですね。
奇数のバージョンは開発版ですので、必ず偶数のバージョンを入れます。
今現在ですと 8.11.3 LTS とかかな?

次に Mirakurun ですが、README.md を読むと、

# Win32 (Windows PowerShell as Admin)
npm install winser@1.0.3 -g
npm install mirakurun -g --production


とすればいいようです。
Node.js をインストールしたことにより、
PowerShell の管理者権限で npm が使えるようになってると思うので実行します。

Mirakurun の設定ファイルが問題ですよね。
ここでは tunners.yml server.yml はスルーします。
そんなに難しくないので、自分の環境に合わせてください。

cahnnels.yml です。
地上波(GR) はチャンネルスキャンができますが、
Windows 環境に Curl が無いので後回しです。

BS が混沌としている原因ですが、チャンネル番号は Linux とは別で、
BonDriver 上のチャンネルを指定する必要があるからです。
また、BonDriver 側でも、チャンネルが連番でないとダメとか制約があります。

記述の仕方は、総務省の pdf 等を見ながら目的のチャンネルの BS01/TS0 の部分を探します。
例えば、新しく配置された NHK BSプレミアム では BS3/TS1 です。
次にご自分の BonDriver_PT3-S.ChSet.txt から BS3/TS1 の行の、
BonDriver 上のチャンネルを見ます。私の環境では '4' でした。

ServiceId については変更ありません。
BS について検索すれば ch番号 などの名目で出てきます。
先の例では 103ch ですので、'103' と書きます。

一応私の作った一例を紹介します。
ただし、無料放送の本チャンネルのみで、
サブチャンネルや有料放送、CS放送 はスルーします。
CS については私がまだ勉強不足です。

- name: NHK BS1
  type: BS
  channel: '17'
  serviceId: 101
- name: NHK BSプレミアム
  type: BS
  channel: '4'
  serviceId: 103
- name: BS日テレ
  type: BS
  channel: '14'
  serviceId: 141
- name: BS朝日
  type: BS
  channel: '0'
  serviceId: 151
- name: BS-TBS
  type: BS
  channel: '1'
  serviceId: 161
- name: BSジャパン
  type: BS
  channel: '2'
  serviceId: 171
- name: BSフジ
  type: BS
  channel: '15'
  serviceId: 181
- name: BS11
  type: BS
  channel: '8'
  serviceId: 211
- name: TwellV
  type: BS
  channel: '10'
  serviceId: 222
- name: 放送大学BS1
  type: BS
  channel: '13'
  serviceId: 231
- name: D-Life
  type: BS
  channel: '27'
  serviceId: 258


mirakurun の動作確認は、mirakurun-ui で行います。
といっても、確認できるのはチューナーが正しく認識しているか・・・のみですが。



●WSL + chinachu



はい、ここが一番知りたい人が多いのではないでしょうか?
難しいことはありません、順番にインストールしていくだけです。
Mirakurun と同じマシンでも違うマシンでも可能です。
今回は同じマシンで行いました。

Windows の コントロールパネル>Windowsの機能の有効化 から WSL を有効にします。
ストアから Ubuntu 18.04 をインストールします。
起動し、ユーザー名とパスワードを入力しましょう。

> sudo apt install build-essential curl git-core vainfo

> git clone git://github.com/kanreisa/Chinachu.git ~/chinachu
> cd ~/chinachu/
> ./chinachu installer


メニュー画面でフルインストール(Auto?)を選べばすべて入ります。
※Node.js も内包しているみたいで、別途インストールしなくても動きました。

> echo "[]" > rules.json
> cp config.sample.json config.json


設定ファイルをコピーしテキストエディタで編集します。
今回は実行ユーザーは現在のユーザーとします。
uid 欄には Ubuntu の初回起動時に入力したユーザー名を入れます。
mirakurunPath に、"http://録画鯖のIP:40772/", を設定します。

recordedDir に保存フォルダを指定します。
もし、Windows 側のファイルシステムを使う場合は /mnt/c などとすれば
Cドライブにアクセスできます。

ネットワークドライブは少々めんどくさくて、
まず、Windows 側でネットワークドライブを接続します。Zドライブとかね。
次に WSL 側でマウントポイントを作ります。

> sudo mkdir /mnt/z


そして、マウントします。

> sudo mount -t drvfs Z: /mnt/z


再起動してもマウントしないとまずいので、/etc/fstab に記述します。

> sudo vi /etc/fstab
Z:	/mnt/z	drvfs	default	0	0


最初からある行を消さないようにしましょう。



さて、そろったら起動してみます。

> ./chinachu update
> ./chinachu service operator execute
> ./chinachu service wui execute


もし pm2 を使いたい場合は別途 Node.js npm pm2 が必要です。

> sudo apt install nodejs npm
> sudo npm pm2


入った Node.js のバージョンは 8.10.0 でした。
ちょっと古いけど、偶数系だし OK ってことで。
起動には次のようにします。

> cd ~/chinachu
> sudo pm2 start processes.json


うまく起動したら pm2 を保存するのですが、

> sudo pm2 save


マシンを再起動してくると忘れてくれるので問題です。
この辺の解決方法が、私が浅学のためわかりません。
誰か教えてー。


●運用のために



最後に運用のための一押しです。
まず、ポートを開放しましょう。
開放するのは 3 つです。

chinachu 20772 TCP
mirakurun 40772 TCP,UDP

設定>ネットワーク>ファイアウォール>詳細設定>受信の規則
から、新しい規則 を押し、ポートを追加してください。

mirakurun については TCP だけでいいような記述もあるのですが、
逆に UDP だけでもつながるので、両方にしました。

また mirakurun のチャンネルスキャンです。
Ubuntu に curl を入れたのでこちらから行います。

> curl -X PUT "http://鯖IP:40772/api/config/channels/scan"


mirakurun のチャンネル設定を変更したら、chinachu にも教えてあげます。

> ./chinachu update


最後の行で WRITE で書き出していれば OK です。

EPG 取得は結構時間がかかるようです。
30分から1時間くらい放置して、ダメだったら何か手段を考えてみてください。



現在、再起動のたびに WSL と chinachu の起動を手動でしなくてはなりません。
WSL の自動起動とバックグラウンドタスク化が行えるようになるとかなり助かるんですけどね。


●Kodi + Harekaze(pvr.chinachu)



こちらも簡単です。
まず、インストールする前に、
設定 > システム > アドオン
から 不明なソース を オン にしましょう。

マルチプラットフォームのバイナリーが zip で頒布されているので拾ってきます。
kodi > アドオン > zip からインストール

もし、kodi のホーム画面に アドオン がなかったら?
おそらく消してしまったのでしょう。
そういうときもあせらず、
設定 > スキン > メインメニューアイテム
から復活できます。


●自動起動



□2018.07.13 追記
先日 subdiox さんよりコメントいただき、
自動起動について意外に簡単にできそうだったのでまとめます。
ただし、subdiox さんの方法では動かなかったので独自の方法にしています。
コメントの原文は残してありますので、気になる方はそちらからお読みください。

Windows 側。
WSL Ubuntu を自動起動します。

デスクトップか、好きな場所にバッチファイルを作ります。
名前は自由に、拡張子も .bat でも .cmd でも動きます。
内容は以下の通りです。

@echo off
start %USERPROFILE%\AppData\Local\Microsoft\WindowsApps\ubuntu1804.exe
rem pause


これをダブルクリックして実行してみます。
うまく起動しない場合は2行目のスペルミスだと思います。

3行目の rem を外すとコマンドプロンプト終了前に一時停止するので、
エラー文を読むことができるようになります。
最後に rem つけなおしておきます。

Win+R キーを押して、ファイル名を指定して実行 より

shell:startup


と入力します。
開いたフォルダに作ったバッチファイルをコピーすれば OK です。



次に WSL Ubuntu 側。
pm2 で chinachu を自動起動します。
Ubuntu 内で作業します。

ホームフォルダに .bashrc を配置し、ここに記述します。

> vi ~/.bashrc


などとすれば編集できるでしょう。
内容は以下の通りです。

cd chinahu
echo <password> | sudo -S pm2 start processes.json


<password> には各自のパスワードを記述してください。
保存して終わりです。
パスワードを平文で埋め込んでしまうというかなり危険な設定ですが、
まぁ良しとしましょうか。
コメント (2)

今日のお品。iLoud Portable Speaker

2018-06-23 23:54:42 | Junk
 こんばんはヌキヲです。
今回は久しぶりのジャンク品紹介コーナー。といっても中古入手ですけど。

紹介するのは IK Multimedia のポータブルスピーカー iLoud です。
同じ名前でマイクロモニターもあるので紛らわしい奴です。


iLoud



付属品はACアダプターのみ。
そして店頭で気づきました。こいつバッテリーが死んでる・・・orz
うーん、さすがに購入するか悩みましたね。店の人は気付いてないし。

しかし、ずっと欲しかったモデルなので結局購入してしまいました。
すごいスペックですよね、ツイータ 4W+4W、フルレンジ 16W+16W の合計 40W !!

出音は結構いいです。中音域の解像度高めで低音もちゃんと出ます。
音量上げてもひずまないのがいいですね。

ただし、Bluetooth がイマイチ。
再生周波数(再生速度)がうねります。

これ、聞いててとても気持ち悪いです。
おそらくプロトコルスタックかデコードの処理落ちをしているのだと思われますが、
ほかのレシーバでも散見されるので、結構深刻な問題ですね。

日本のオーディオ機器メーカーのモノでは全く見ない症状なので、
その辺しっかり作りこんであるのでしょう。さすが日本。


写真を撮り忘れてしまったのが残念ですが、さっそく分解します。
印象では、スピーカやボックス回りは良くできていますが、
回路面が素人設計なうえ、半田品質も悪いです。

Bluetooth に至っては某アリで買えそうなドーター基板が載ってるだけです。
基板はアンテナをよけてGNDを設計するなんてこともできずに、
高い脚下駄をはかして、基板同士を離しているだけです。
うーん、これは悲しい。


問題のバッテリーは 18650 が3本直列で入ってました。
一応保護基板がついていたので一安心ですが、電圧はすべて 0V でした。

Battery



容量は 2200mAh のモノだったので、2500mAh を買いました。
あと、自分でパックするのでリプも買いました。余計な散財だよね。

本来はバッテリーとリブをスポット溶接で接続するのですが、
そんなもの持ってないので半田付けです。
ステンレス用のフラックス(強酸系)を微量付けて半田付けすればくっつきます。
フラックスが残ると錆びるので、気を付けてくださいね。
絶縁にはおなじみのアセテートテープを使いました。

充放電保護基板には接続順があるので注意が必要です。
B-、B2、B3、B+ の順にバッテリーに接続します。(B1は無接続でした)
外す際は逆順なのですが、今回は 0V だったのであまり関係ないですね。
この保護基板が生きててくれてよかったです。


スピーカ内部はすべてコネクタ化されていました。
使われているコネクターは JST XH でとても好感が持てます。
ただし、接着剤がべたべたについているのでこの点は評価マイナス。

「オーディオやスピーカの接続に半田を使うと音が半田の音になってしまう」
というのは業界の一般常識らしいのですが、私は懐疑派です。
だって基板の回路内は半田じゃん?
それでも半田でついているより、ファストンとかコネクタになってると嬉しいですね。


意を決してバッテリー接続、無事認識しました。
ただし私の個体も POWER/CHARGE ランプがオレンジになりません。
ネット上にもそういう記事があったので、
もしかしたら仕様と設計が矛盾しているのかも知れませんね?
充電できていることを祈ります。


□ 2018.06.30 追記。
こんばんはヌキヲです。
この前メデたくバッテリーの復活した iLoud さんでしたが、
iRig 端子を使ってみたくて試してみました。

iLoud にはギター入力端子がありますが、これは他の記述にもある通り iRig 端子となっており、
単純にギターアンプとして使うことはできません。
iPhone に4極オーディオケーブルを接続して使うことが前提になっています。
残念ながらこの4極オーディオケーブルが付属してなかったため、買い足しました。

もちろんギターアンプとしても使うことは可能です。
ただし、iPhone のアプリからレコーディングモニターの機能を使う必要があるのです。
これ、正直言ってしょっぱい。
気軽にレコーディングできるのは素晴らしいのですが、
切り替えスイッチか、できれば電子的にオートでギターアンプモードと切り替えてほしいですね。
ちょっと頭ひねれば作れそうなんですけどね。
ま、中の基板見る限り、そんな開発能力はないでしょうけど。

では、アプリの方を見てみましょう。
現在の純正アプリのリスト(無償版)です。

iOS
(1) Amplitube CS
(2) iRig Recorder

Android
(3) Amplitube UA
(4) iRig Recorder

という感じになっています。
Amplitube はギターエフェクターや、ギターアンプのシミュレート(エミュレート?)
ができるシリーズで、iRig Recorder は録音のみですね。

で、結論から言うと我が家では Amplitube シリーズは動きませんでした。
というのも (1) の CS は iOS10 以降でないとインストールできず、
(3) の UA は USB タイプの iRig でないと認識しません。
私のあいぽんは iPhone4s なので NG。Android は認識しない。
ということで、(2)(4) iRig Recoder しか使えません。結構悲しいですね。

純正ではなく、その他のメーカのアプリも試してみたところ、BandLab がよさげでした。
BandLab といえば Cakewalk を無償公開して一躍有名になりましたよね。
私もアカウントを持っていたのですぐ試せました。
iRig や TASCAM の iXZ などのオーディオインタフェースもちゃんと認識するようでうれしいです。
私の Android のレイテンシーは 46ms でした。
コメント