小林@筑波技大/福祉工学やら支援技術やら

カテゴリー: ソフトウェア (1ページ目 (2ページ中))

PDFのアクセシビリティ

しばらくコロナで開催されていなかった3月のWIT/AAC@筑波技大。久々に参加してきました。論文作成・発表アクセシビリティガイドラインが新しくなったということで特別企画的な講演があって、布川先生・若月先生・宮城先生などの発表を直接聞く機会に恵まれました。(苅田先生はオンラインでした)

しかしついつい気になるのがPDFのアクセシビリティ。代替テキストを実際に皆さん入れているのかどうなのか。アクセシビリティチェックをしているのか。実のところ私も日ごろ作成するPDFはかなり手を抜いてしまっています。スイマセン。予稿集の原稿などには多少気を使っているのですが、最後に代替テキストを入れ忘れて提出してしまうこともあったりします。

というのも、Wordのアクセシビリティ機能で代替テキストを図に入れても、PDFにした時点で文字化けしてしまったり、全部消えたりしてしまうのですね。結局、何か変更があってPDFにする度に「全部の図の代替テキストをAcrobat Proで入れなおす」という作業が発生してしまいます。そしてこれがかなり面倒なのです。このあたり、うまく回避する術をご存知の方に教えて頂きたいです。

プログラミング出前講座など

昨年度に引き続きR5年度もプログラミング出前講座を企画させて頂いています。3学期の実施ご希望が多く、1月末より2月中旬にかけて新潟よつば学園様・和歌山盲学校様・群馬盲学校様へ訪問させて頂きました。

新潟では科学へジャンプイン東京でも実施したバーコードワークショップを、和歌山盲さんと群馬盲さんではVBS体験、群馬盲さんの小学部の皆さんにはCodeJumperを体験して頂いたりしました。

CodeJumperは今回、3組同時に走らせるという形態で実施しました。これまでで多分最大数?だったのではないかと思います。最初Bluetooth接続がうまく行かず焦りましたが、なんとか復旧して楽しんで頂けました。

今更ながらyolo8テスト

グラボ付きノートが届いたので遅ればせながらyolo8。昨年度卒研でyolo5を使ってもらっていましたが、今年度はあまり画像認識やっていなかったのでお試しです。個人的にconda環境よりpython.orgの生python入れる派なのですが、意外とすんなり行きました。

  • python.org/downloadから3.11系を落としてインストール。ユーザーローカル、PATH加える、不要なものは入れず。
  • https://pytorch.org/get-started/locally/にて「Stable, Windows, pip, python, CUDA」選択、出てきたコマンドをコピペ入力。
    pip3 install torch torchvision torchaudio –index-url https://download.pytorch.org/whl/cu118
  • pythonインタラクティブモードにて以下のコードで確認。
import torch
x = torch.rand(5, 3)
print(x)
torch.cuda.is_available()
  • git clone https://github.com/ultralytics/ultralytics
  • pip install ultralytic

Webカメラで実行。これもインタラクティブで動く…とりあえず試すだけ、の敷居が異様に低いですね。嬉しいやら恐ろしいやら。

from ultralytics import YOLO

model = YOLO("yolov8n.pt")
results = model(0 , show=True) 
for i in enumerate(results):
    print(i)

しかしいつものbus.jpg、この方たちはultralytic関係者なんでしょうかね。調べたら出てくるのかもしれませんけど。

Windows11のバッテリーアイコンの違いが見分けにくい

タイトルそのまんまの内容です。Windows11のタスクバー右端、通知領域(って言うんでしたっけ)のバッテリーアイコン、充電時は図の左側のように稲妻マークが添えられます。一方、バッテリーが減ってエコモードのような状態になると右側のように葉っぱマークが添えられます。コレ、ものすごく小さくて老眼の進んだ私にはなんだか見分けがつきにくい。

そしてだいたい葉っぱマークがついた時はバッテリーが減っているので、急いでACアダプタとかつなぐわけです。しかし「ちゃんと給電されているのか」がぱっと見分かりにくい…結局マウスオーバーで「充電中」とか出したりしています。もっとこう、充電中なのが分かりやすいベタなアイコンにして欲しいと思ったりしています。

情報システム学実験2023

情報システム学実験は、オムニバス形式で進められる3年生の科目で、教員1人につき3週間9コマが割り当てられています。私の担当部分ではクラスを3から4チームに分けて、それぞれがArduinoマイコンを使ったシステムを作って発表する、というものを実施しています。昨年まで少し古いESP8266を使っていましたが、今年はBluetoothを使えるESP32にしてみました。条件としては、必ず無線機能を使うこと、としています。WiFiは設定でつまづくことが多いのですがBluetooth シリアルが使えるので、とりあえずシリアル通信で何かしら実現できるのは授業的には助かります。

今年のクラスは人数的に3名もしくは4名の3チームになりました。今日は3週目で最後の時間にデモを含むショートプレゼンをします。チーム名はESP8266を使っていた頃にピンヘッダの色が赤・黄・青・白・黒などがあったことからチームレッド・チームブルー・チームイエローなど色になっています。

ハードウェアの絡むプログラミングは初体験という学生さんもいますし、慣れている学生さんもいますが、今回のシステムは以下のようなものが揃いました。

  • 赤外線LEDを使って家電をコントロールするリモコンシステム。Nature Rimoみたいな感じでしょうか。筐体もしっかり作りこんでくれています。
  • 明るさによってカーテンを開閉するシステム。Cdsの出力によってステッピングモーターを回転させます。さらにBluetoothで手動での開閉にも対応します。授業内容として、王道のコンテンツといった感じですね。
  • インスタント麺にお湯が注がれたらその重さによって適量値を判断し手元のスマホに知らせ、さらに時間計測を始めるシステム。ハードウェアとしてはロードセルからのデータがメインですが、スマホインタフェースや通知の音楽などに凝っています。

完成したチーム・未完成で発表日を迎えてしまったチーム、それぞれですが皆何かを作り上げる喜びは感じてもらえている…はず。と信じています。

DCC優秀賞

すこし前の話題ではありますが、1月23~24日に開催された情報処理学会デジタルコンテンツクリエーション(DCC)研究会で、協力していた多摩美の学生さんの発表がDCC優秀賞を受賞しました。

視覚障害児童向けの楽しいインタラクティブデザイン」というタイトルの発表ですが、研究の目的は視覚障害者の美術教育です。内容は、柔らかい触感で構成されたブロックを組み合わせて形を作り、画像認識によってコンピュータが音楽を流すというインタラクティブシステムについてのものです。

関係する皆様には何度かつくばまで足を運んで頂いて、ディスカッションさせてもらいました。ソフトウェアを専門に学んでいるわけではない美大の院生さんが普通にOpenCVやpython、Yoloなどを使って作品を作り上げていく様子が、実は一番驚きでした。

年末年始のWin11化

2023年、兎年となりました。本年もよろしくお願いいたします。この年末年始、ハードウェア(?)的には次男のDukeのチェーン交換/ソフト的にはメインノートのWin11化(というかWin11マシンのセットアップ)に時間を使っていました。

当然ながら学生さんたちが新しくPCを購入すればWin11なので、彼らへの対応を考えると、こちらもそろそろ慣れておく必要があります。タスクバー上端派としてはなかなかシフトできなかったのですが、諦めて使うことにしました。

そんな中、苦労したのはWANの設定です。SIMは認識しているのですがどうやっても「圏外」になるのです。アクセスポイントの設定も間違っていません。少し調べたところAPNの種類を「インター ネットおよびアタッチ」にしなくてはいけない…ということが分かりました。最初に出てくるコンボボックスが「インターネット」なのでそのまま進んでしまうんですよね。ここ、結構ハマるポイントだと思います。

Win11、暫く使ってみて不便なのはプロキシー設定ON/OFFがWin10と比べて一段深いところにあることでしょうか。何かしらのショートカット/バッチファイル的なものを作る方が良いかもしれません。


ちなみにチェーン交換の方はというと、クリップタイプを発注したつもりがカシメをポチっていたようでクリップを後から発注したり、チェーンカッターがうまくピンを押し出せずに結局グラインダーで火花を散らしながら全カットしたり、クリップの圧着工具を追加購入したりと、休み期間を通して後手後手な作業となりました。なんとか正月中に交換できて良かったです。

Tune ECU

先日かなり久しぶりにStreet Tripleで出かけて帰宅したら、オイル警告灯が点いてスターターが回らなくなってしまいました。出先ではなくて良かった…と思いつつ、少しオイルを補充して回復。しかし数日後、やはりスターターが動きません。リレーかソレノイドか…と考えながら久々にECUケーブルをOSBコネクタにつないでTune ECUを起動。手元のものは6年前に落としてきたVer.2.5.8ですが、ちゃんとWin10で動きました。

Tune ECUのウィンドウ

当時購入したノーブランドのECUケーブルは、デバイスドライバ的には自動認識して仮想COMポートになります。なのでてっきりCOM指定かと思いきや、USB指定で通信が確立しました。結果的には何のエラーも出なかったので、単にバッテリーが弱っていただけと判明。最近乗る機会がめっきり減ってしまったのが良くないのですね。

いずれにせよ久々にTune ECUの動作確認ができて良かったです。特にマップをいじるとかマニアックなことはやりませんが、自分でエラーの種類を特定できるのは便利。6年前はO2センサ異常が分かったので交換できました。

さてそのTuneECUですが、サイトに行ってみると現行バージョンは5.6.37。しかもAndroid用の有料アプリになっていました。時代ですねぇ。先日(25年ぶりに!)買い替えた冷蔵庫も、製氷用の水がなくなったらスマホアプリで分かるらしいし、色々なハードウェア関連の情報に一般ユーザがスマホでアクセスできる世の中のようです。そこから「音声化」もできるのではと夢は膨らみますね。

以前家電協会さんに協力したアンケートでも、学生たちからは「スマホで家電がコントロールできるならば助かる」という声が多かったです。エアコンのリモコンなどに苦労していた様子。プロトコルがオープンならば作れそうですが、赤外線インタフェースのハードウェア入手がネックですね。今はNature remoみたいなスマート化デバイスの役目かもしれません。

BLE Notify

GRANBOARDのBLE Notifyについて調べたデータをメモしておきます。

点数半径方向データ
1ダブル32 2E 36 40
1外側32 3E 35 40
1トリプル32 2E 34 40
1内側32 2E 33 40
18ダブル31 2E 36 40
18外側31 2E 35 40
18トリプル31 2E 34 40
18内側31 2E 32 40
4ダブル30 2E 36 40
4外側30 2E 35 40
4トリプル30 2E 33 40
4内側30 2E 31 40

2E3(0010 1110 0011)と40(0100 0000)は固定、1バイト目下位4ビットが場所を表して、3バイト目下位4ビットの数値が大きくなると円の外側に、というようなルールかと予想していましたが、場所によってたまに異なることもあるようで少し複雑です。位置部分が2バイトのものもあります。

内側から外側にかけて数値をペアにして並べると以下のような感じになりました。7点と16点が近い値なのは良いとしても11点と3点や15点と20点、4点と13点などが近い並びなのがよく分かりません。意味があるのかないのか…

点数データペア(内側,トリプル,外側,ダブル)
1300,02,04,45
610,11,13,14
1020,21,22,43
1530,31,32,42
291,90,92,82
17101,100,102,103
371,70,72,84
1961,60,63,85
7111,112,114,86
16110,113,115,116
862,64,65,66
1173,74,75,76
14103,104,105,106
993,94,95,96
1250,53,55,56
551,52,54,46
2033,34,35,36
123,24,25,26
1812,14,15,16
41,3,5,6
Bull40
Outer Bull80

ルー/ROUX

プログラミング系授業の課題では、学生さんたちが変数名をいろいろ工夫してきてくれますが、色々勉強になります。先週はお料理系のモチーフの課題で「お鍋(Pan)クラス」を使ってブロック付きメソッドを作るようなものでしたが、変数tifalやらハッシュキーporkやら楽しませてもらいました。

新しく認識したのはカレーのルーはrouxとスペリングすることと、フランス語ということですかね。rouxの発音動画、なんてのもあるようです。

« Older posts