実験室の片付け案
かいたこと
現状が散らかっているのを片付ける
備品管理
メンテナンスシステム
メンテナンス定例MTG
現状が散らかっているのを片付ける
日時・人員・片付け対象を指定して行う
どこをどの順番でやるかは、詳しい人に決めてもらう
片付け方
片付け対象(部屋の全ての備品、特定の棚の備品etc.)を全部外に出す
場所が少ないプレハブ小屋の場合は、晴れた日に外にブルーシートを広げ、その上に並べる
場所に余裕があれば室内でもよさそう
備品を取り出した場所を掃除する
備品を掃除する
粉塵がかぶるのを避けたい備品は、ビニール袋などに入れておく
このあたりの保管方法は詳しくない。もっとちゃんとした方法があるならそれを採用する
備品が正常に動くか点検する
ここまで一気にやるのは厳しいだろう
一旦ラベルを貼り、後日点検する
備品の置き場所を決める
備品の数がわからない状態で決めるのは困難
とりあえず、片付け時点で備品が置いてあった場所を、その備品の置き場所とする
散らかりすぎているのは移動する
備品の全数がわかったら、置き場所を検討して、後日移動する
必要に応じて収納ケースなどを購入する
片付ける前に、実験室の大雑把な見取り図はつくったほうがいいかも
備品の量から、片付けにかかる工数をざっくり把握する
備品あたりにかかる工数がわからない
2025-04-08にも試験的に片付けを始めてみて、どのくらい時間がかかるのかを見積もる
備品管理
URLをどうするかは要検討
使い方や注意点へのdocsへのリンクにしておけば、その場でどう使うか、片付けるときどうするかを閲覧できる
さらに研究室の学生に編集権限を与えれば、追加情報を書き込んだり、わかりにくい記述をその場で書き換えたりできる ツール
使い方をよく知らないので要調査
こんな感じでQRコードを貼り付けておく
https://gyazo.com/e01f7838219ca08bc7882e365440de80
code:main.gs(js)
/**
* @param {(string | undefined)[]} params
*/
function searchAndInsert(...params) {
if (!params.some(param => param)) return;
let url = https://ndlsearch.ndl.go.jp/api/opensearch?cnt=1;
if (title_) url += &title=${title_};
if (author_) url += &creator=${author_};
if (publisher_) url += &publisher=${publisher_};
if (isbn_) url += &isbn=${isbn_};
if (keyword) url += &any=${keyword.replace(/ /g, "%20")};
const res = UrlFetchApp.fetch(url);
const xml = XmlService.parse(res.getContentText());
const item = xml.getRootElement()?.getChild?.("channel")?.getChild?.("item");
if (!item) return false;
const title = item.getChildText("title");
const author = item.getChildText("author")
const link = item.getChildText("link")
const publisher = item.getChildText("publisher", dc);
const date = item.getChildText("date", dc);
const subject = item.getChildText("subject", dc);
const isbn = item.getChildren("identifier", dc).find(child => child.getAttribute("type", xsi)?.getValue?.()?.startsWith?.("dcndl:ISBN"))?.getText?.()?.replace?.(/\-/g, "") ?? ""
const ndc = item.getChildren("subject", dc).find(child => child.getAttribute("type", xsi)?.getValue?.()?.startsWith?.("dcndl:NDC"))?.getText?.() ?? ""
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
const sheet = spreadsheet.getSheetByName("book list");
return true;
}
function onEdit() {
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
const sheet = spreadsheet.getSheetByName("operator");
const checkBox = sheet.getRange("B6");
if (!checkBox.getValue()) return;
const title = sheet.getRange("B1").getValue();
const author = sheet.getRange("B2").getValue();
const publisher = sheet.getRange("B3").getValue();
const isbn = sheet.getRange("B4").getValue();
const keyword = sheet.getRange("B5").getValue();
sheet.getRange("C6").setValue("searching...")
const success = searchAndInsert(title, author, publisher, isbn, keyword);
sheet.getRange("C6").setValue(success ? "inserted." : "no book found.")
Utilities.sleep(1000);
sheet.getRange("B1:B5").clear();
sheet.getRange("C6").clear();
checkBox.uncheck();
}
メンテナンスシステム
ここでは、「掃除や実験装置の点検」などをまとめてメンテナンスと呼んでいる
維持管理と言い換えてもいい
範囲の例
実験室の床
配線状態確認
研究室の床
研究室の机
研究室の本棚(A,B,C)
研究室のシンク
実験室のシンク
実験室の棚(A,B,C)
研究室の冷蔵庫
研究室の道具置き場
B4が20人ほどいるので、分担して回せば一人当たりの労力は少なくなるはず
掃除の仕方や片付けの仕方を言語化できるのもポイント
1人が一つの場所をずっとメンテする場合は言語化するインセンティブがない
複数人が、それも多人数が交代でメンテする場合は、口頭であれ文書であれ、何らかの方法でメンテ方法を共有する必要に迫られる
研究室メンバーには、研究室全体を細部まで知ってもらうという目的もある
研究室の冷蔵庫とかは重要度薄いけど
実験室の棚の確認とかは、どんな実験装置があるかを知れる
道具を知っておくと、何ができるかという想像の幅が広がる
何か困ったことがあったとき、「実験室のあそこの棚にある装置とあっちの装置とを組み合わせればいけるかも」とひらめける
メンテナンスでやること
掃除
異常があれば報告
掃除の仕方などもQRコードにしてそばに貼り付けておくとよい
例えばシンクの洗い方を、シンクの壁にQRコードにして貼り付ける
https://kakeru.app/97210956671683c16e19c7bc8dff0554 https://i.kakeru.app/97210956671683c16e19c7bc8dff0554.svg
実験装置のメンテについては要検討
使っていない実験装置は、上に挙げたローテーションの対象に組み込んでいいと主う
使っている実験装置は、使用中と使用後の片付けの間だけ、使用者に管理を委譲する
あらかじめ(片付けを含めた)使用期間を管理アプリに入力する
期間の延長などもアプリから入力する
使用期間後はローテーションのメンテナンス係が配置される
もし片付けていなければこれで発覚するという仕組み
メンテナンス分担管理
担当者への通知
その日に場所Aをメンテナンスする人に、担当であることを通知する
個別設定でOFFできるようにする
特定の時間帯(夕方など)になってもメンテ完了してなかったら、メンテ報告するよう通知する
これはOFFできないようにする
それ以降もメンテが終わっていなかったら、完了し終わるまで何度も通知する
通知方法
LINE bot
特定のグループにbotを入れる
研究室の学生はグループに入っていさえすればいい
全員に通知が飛んでうるさそう
bot accountを各々が友達として招待する
個別に通知が飛ぶので、うるさくはならない
研究室の学生全員に招待してもらう必要がある
Discord,Slackのbot
通知その他を高度に制御できる
すでにほかのcommunicartion toolを入れている場合は、移行が面倒
学生個々人にやってもらう設定はこれが一番負担が軽そう
takker.iconがやり方をしらないので、要調査
データベース
メンテ報告用シート
メンテする箇所と担当者を書いたシート
これらは全て研究室の人間なら誰でも見れるようにする
管理者(メンテのリーダ?)にメンテ状況のサマリーを一定間隔(週1など)で送り、定例のfeedbackの場やゼミなどでやっていない人などに催促する
ローテーション用のいいレイアウトないかな
途中で別の人に割り振ったりできるようにしたい
予定があってできないとか
手動で作るのめんどい
てかbot作るのだって工数かかるよな……
まあここはメール配信で何とかなりそう
実装に時間かかりそう……
まあいずれにせよ、分担回す前に片付けする必要あるし、そっちが先だな
あと絶対手動で組む場面が出てくるから、それを保守する人間が必要
それを維持するためのメンテナンス定例MTGでもあるが
メンテナンス定例MTG
基本的には非同期
メンテの催促や異常の報告など
定期的に、メンテナンスのリーダーが、前回の定例MTGからの出来事などを報告する
使い勝手を確認し、問題が上がったやり方を修正していく
頻度
最初は高頻度(週1,2回)行う
安定してきたら数か月に1回で十分になるだろう
時間は10分程度
これにはもちろんfeedbackの場が必要
メンテナンス対象に研究室まで含めるかは要検討
塚本研メンバーとの打合せも必要
QRコードではなく、やりかたを印刷して貼り付けてもいいが、以下のデメリットがある
文書の更新が面倒
データを同期できない
出納管理などをしたいときは、クラウド上に保存してあったほうが、どこからでも閲覧できて便利
場所をとる
詳細に手順や注意点を書き込めない
リンクや動画を貼れない
今の時代、どうせみんなスマホを持っているので、QRコードで読ませる前提でも支障ないだろう
「基本的な手順を紙に書きつつ、詳細情報やトラブルシューティングをQRコードに逃がす」方法もある
例えばシンクなら、
シンクの洗い方は印刷して貼っておく
使っている洗剤や道具の情報、補充方法をQRコードに逃がす
分担表のQRコードなども出しておく