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

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

情報システム学実験

3年生対象の学科のオムニバス授業のひとつに「情報システム学実験1・2」があります。5人の教員が3週ずつ担当し、1週あたり3コマという構成です。シラバス検索の科目名欄に「情報システム学実験1」と入れると当該授業の情報が出ます。私の担当は「ESP32とGPSユニットを使ったシステム作成」となっていますが、特にGPSが必須というわけではなく、2~3名のグループに分かれて自由にマイコンシステムを作るという授業になっています。この授業を5月下旬から6月上旬にかけて実施しました。

ブレッドボードにESP32と圧電ブザー、GPSユニット、マグネットセンサーがつながっています。

2018年入学生のカリキュラム改定時にスタートしたこの科目は、2020年が最初の年でした。私の担当会、最初はESP8266を使っていましたが途中からESP32にシフトしました。Bluetoothシリアルが使えるようになって学生が作るものの幅が広がった感じです。各グループに配るESP8266のピンヘッダの色を赤、青、黄、黒にしていたことから、グループ名は「チームレッド」「チームブルー」「チームイエロー」「チームブラック」と命名することにしています。今となっては何の色なのか学生も不思議に思っているかもしれません。

各グループで制作に励んでもらい、最後の時間にプレゼンテーションをして終わり、という授業形態なのですが、条件として「無線機能を使うこと」を指定しています。なにかしらのセンサーから得た値を離れたパソコンやスマホで確認するとか、その後のアクションをアクチュエータやモータで実行するとかそういうシステムを自由に作ってもらうのです。

今年は、以下の4つのシステムが作られました。

  • チームレッド:親指の位置に圧力センサを埋め込んだグローブを使って、マッサージの強さを無線で飛ばし、パソコンのプログラム側で「ちょうど良い強さ」を教えてくれるシステム=「Massage Master」フェルトを縫ってグローブを作ってくれていました。
  • チームブルー:傘が開いているかどうかをマグネットセンサで検知して、GPSのデータと共に「どこで傘が開かれているか」のデータを集めることで実際の雨の様子を集約・確認するシステム。実際には開閉センサの状態と、GPSの位置情報を送信して受信する、というものを実装してもらっています。
  • チームイエロー:Qrio Lockのようなスマホから開錠する電子錠。ESPを親機にして、スマホのブラウザから操作することでステッピングモータを回すようなものです。
  • チームブラック:椅子に設置した赤外線距離センサと、首のあたりにつけた加速度センサから「座っている姿勢の良し悪し」を検出してスマホに通知するシステム。ESPを2台使って相互通信し、1つをWebサーバにしてスマホと接続していました。

最後のプレゼンテーションの時間には、動画や実演などを交えた発表がなされました。ちょうど来学していた外部の研究者5名の方々にも参加して頂けたことで、学生たちにも刺激になったと思います。

上の写真はチームブルーのブレッドボード。マグネットセンサの状況をブザーで教えてくれつつ、GPSの緯度経度情報を発信します。

実はGPSユニットは毎回トライするグループは苦労します。新旧混ざった情報が溢れているうえ、窓際でもできなくはないのですがしっかり電波を補足するには屋外に出なくてはならず、そして屋外に出るとパソコンの画面が見えづらく、弱視学生には厳しい。通信系のソフトウェアはどこがうまく動いていないのか特定しにくいということを体験してもらうのも本実験の主旨のひとつなのですが、GPSを利用すると更にその不確定要素が増えるというわけです。

評価ベース

Windowsの設定を「Win+i」で開き、「評価ベース」で検索すると「アプリとブラウザーコントロール」の下にある「評価ベースの保護」という設定項目が現れます。セキュリティ設定のひとつであるこの「評価ベースの保護」、イマイチ分かりにくい表現だと感じていましたが、そんなに頻繁に開くわけでもないのでスルーしていました。

しかし昨晩子供のマシンの面倒を見ている時に久々に遭遇したので、気になっていた「英語での表現」を調べてみたところ:

Reputation-Based Protection

でした。

MSの自動翻訳サイトだと「評価ベース」と「評判ベース」が混在していますね。「評価」だと主体が何なのか気になりますが「評判」だと何というか「一般社会」「民衆」的なイメージになるような気がします。

というわけで小さなモヤモヤが少しスッキリしました。

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みたいなスマート化デバイスの役目かもしれません。

«過去の 投稿