研究以外の活動について

こんにちは!学部4年の佃(つくだ)です。

研究室では研究以外にも活動があります。今回紹介するのは「群馬ちびっ子大学」。主に小中学生向けに行っており、体験学習を通して学問の面白さを実感してもら(い、場合によっては自由研究に活用してもら)おうといったイベントです。年によって体験教室を担当する組織は違うようですが、今年は弓仲研が参加しました。

張先生の計画によりテーマはジェットカーに。通常、空気入れで空気を入れて空に打ち上げるペットボトルロケットに対し、化学反応でペットボトル内側の圧力を上げ、その推進力で車を前進させることをしました。ジェットカーの構成、材料の準備、実験、撮影、編集を自分含め3人でほぼ全て行いました。

制作した動画がこちらです。

意外と制作できる期間が短く、
ボール盤の使用など大学ならではの部分と自由研究での作りやすさを天秤にかけた結果こうなった

動画編集はあまり経験がなかったので探り探りではありましたが、何とか形になりました。もっとみんな再生してください。

こんな感じで様々な活動に関われる機会があるので、何かしらの説明会でガクチカとかなんでも略すんじゃねぇ!と思った方、参加してみてはいかがでしょうか。

料理部活動記録(夜の部2)など

今年は夏が終わったと思ったら、秋を通り越してもう冬のようです。
バイクツーリングが趣味の私ですが、寒くて装備の調整に苦戦しています。上半身はまだ重ね着できますが、下半身が寒い!
春と秋がツーリングの旬とはよく言われますが、もはやそんな時期はないようです。

それはさておき、先日の料理では鍋と平行して、角煮も作っていました。圧力鍋に具材を投入して、加熱して待つだけです。優しいゆず塩味の鍋に対して、角煮には濃厚な味がしみ込んでいて、ごはんが進みました。

肝心の研究に関してですが、この研究室にコアタイムはないため、いつ来ていつ帰ってもOKです。基本的に週1で木曜日にプレゼン形式で進捗報告を行いますが、その進捗はいつ作ってもよいわけです。
研究の進め方については、いきなりテーマを決めて研究開始!ではなく、まずはプレゼン形式で発表することに慣れることから始めます。そこではこれまで学んできたようなことを扱うので、心配する必要はありません
それを前期の半分までしてから、各々テーマを決めて研究を始めていきます。4年生に関しては、今年からやり方が変わったようで、上記とは違うかもしれませんが、だいたい同じだとは思います。

研究をどんな風にやっていくのか、最初はみなさん不安だと思いますが、毎日気合を入れて全力で取り組まなくても大丈夫です。自分のペースで自分のやりたいようにやっていけば問題ないです(とはいえ報告ができる程度の進捗は必要ですが…)。少なくとも、料理を作っていられるような心の余裕はあります!!

修士1年 安達

[小ネタ]料理部BOT・GAS

弓仲研究室では料理部への出欠について、自作BOTを利用しています。
技術スタックとしてはGAS + Slack APIを使ってます。
毎週月曜9時に、以下のようなメッセージが自動的に送られてきます。

GASはGoogle系サービスに非常に相性がいいので、自分はGmailをGASで監視させて
ChatGPTにメール本文を分析してもらって、予定をGoogleカレンダーに自動登録させています。
(就活などスケジュール管理が大変なときに使いたかった。)
*興味があれば井口まで。

M2 井口

 

 

 

 

 

 

 

 

以下のコードをGASに貼り付けてSlack APIからトークンを取得すると送れるようになります。

const SLACK_BOT_TOKEN = ‘xoxb-197************’; // 取得したBot Tokenに置き換えてください
const CHANNEL_ID = ‘C***************’; // メッセージを送信したいチャンネルのIDに置き換えてください
function sendSurveyMessages() {
  sendCookClubMessage();
  sendDrinkClubMessage();
}
function sendCookClubMessage() {
  const cookClubPayload = {
    channel: CHANNEL_ID,
    text: ‘料理部アンケート’, // メッセージの代替テキスト
    blocks: [
      {
        “type”: “header”,
        “text”: {
          “type”: “plain_text”,
          “text”: “🍳 今週の料理部参加アンケート”,
          “emoji”: true
        }
      },
      {
        “type”: “divider”
      },
      {
        “type”: “section”,
        “text”: {
          “type”: “mrkdwn”,
          “text”: “*今週の料理部に参加希望の方は火曜昼までにリアクションをお願いします。* (複数可・5つの内、一番多い日で実施)”
        }
      },
      {
        “type”: “section”,
        “fields”: [
          {
            “type”: “mrkdwn”,
            “text”: “1️⃣ 火曜 夜 (17:30~)”
          },
          {
            “type”: “mrkdwn”,
            “text”: “2️⃣ 水曜 昼 (12:00~)”
          },
          {
            “type”: “mrkdwn”,
            “text”: “3️⃣ 水曜 夜 (17:30~)”
          },
          {
            “type”: “mrkdwn”,
            “text”: “4️⃣ 木曜 昼 (12:00~)”
          },
          {
            “type”: “mrkdwn”,
            “text”: “5️⃣ 木曜 夜 (17:30~)”
          }
        ]
      },
      {
        “type”: “context”,
        “elements”: [
          {
            “type”: “mrkdwn”,
            “text”: “参加希望の方は対応するリアクションを付けてください!”
          }
        ]
      }
    ]
  };
  const options = {
    method: ‘post’,
    contentType: ‘application/json’,
    headers: {
      ‘Authorization’: `Bearer ${SLACK_BOT_TOKEN}`
    },
    payload: JSON.stringify(cookClubPayload)
  };
  try {
    const response = UrlFetchApp.fetch(‘https://slack.com/api/chat.postMessage’, options);
    const responseData = JSON.parse(response.getContentText());
    if (!responseData.ok) {
      Logger.log(‘Error posting Cook Club message: ‘ + responseData.error);
      return;
    }
    const ts = responseData.ts; // メッセージのタイムスタンプ
    const channel = responseData.channel; // チャンネルID
    // リアクションを追加(one ~ five)
    const cookEmojis = [‘one’, ‘two’, ‘three’, ‘four’, ‘five’];
    addReactions(channel, ts, cookEmojis);
  } catch (error) {
    Logger.log(‘Error posting Cook Club message: ‘ + error.message);
  }
}
function sendDrinkClubMessage() {
  const drinkClubPayload = {
    channel: CHANNEL_ID,
    text: ‘お酒部アンケート’, // メッセージの代替テキスト
    blocks: [
      {
        “type”: “header”,
        “text”: {
          “type”: “plain_text”,
          “text”: “🍺 今週のお酒部参加アンケート”,
          “emoji”: true
        }
      },
      {
        “type”: “divider”
      },
      {
        “type”: “section”,
        “text”: {
          “type”: “mrkdwn”,
          “text”: “*今週のお酒部にも参加希望の方はリアクションをお願いします。* 料理付き・居酒屋の可能性も有り\n6️⃣ 金曜 夜 (17:30~) \n7️⃣ 金曜以外の夜なら参加希望”
        }
      },
      {
        “type”: “context”,
        “elements”: [
          {
            “type”: “mrkdwn”,
            “text”: “参加希望の方は対応するリアクションを付けてください!”
          }
        ]
      }
    ]
  };
  const options = {
    method: ‘post’,
    contentType: ‘application/json’,
    headers: {
      ‘Authorization’: `Bearer ${SLACK_BOT_TOKEN}`
    },
    payload: JSON.stringify(drinkClubPayload)
  };
  try {
    const response = UrlFetchApp.fetch(‘https://slack.com/api/chat.postMessage’, options);
    const responseData = JSON.parse(response.getContentText());
    if (!responseData.ok) {
      Logger.log(‘Error posting Drink Club message: ‘ + responseData.error);
      return;
    }
    const ts = responseData.ts; // メッセージのタイムスタンプ
    const channel = responseData.channel; // チャンネルID
    // リアクションを追加(six)
    const drinkEmojis = [‘six’, ‘seven’];
    addReactions(channel, ts, drinkEmojis);
  } catch (error) {
    Logger.log(‘Error posting Drink Club message: ‘ + error.message);
  }
}
function addReactions(channel, ts, emojis) {
  emojis.forEach(function(emoji) {
    const reactionPayload = {
      name: emoji,
      channel: channel,
      timestamp: ts
    };
    const options = {
      method: ‘post’,
      contentType: ‘application/json’,
      headers: {
        ‘Authorization’: `Bearer ${SLACK_BOT_TOKEN}`
      },
      payload: JSON.stringify(reactionPayload)
    };
    try {
      const response = UrlFetchApp.fetch(‘https://slack.com/api/reactions.add’, options);
      const responseData = JSON.parse(response.getContentText());
      if (!responseData.ok) {
        Logger.log(`Error adding reaction :${emoji}: – ${responseData.error}`);
      } else {
        Logger.log(`Added reaction :${emoji}:`);
      }
    } catch (error) {
      Logger.log(`Error adding reaction :${emoji}: – ${error.message}`);
    }
    // Slackのレート制限を避けるために少し待つ(0.5秒)
    Utilities.sleep(500);
  });
}

 

 

料理部活動記録(夜の部)

先日、研究室内で鍋パをしました。最近の桐生キャンパス付近はとても寒くなってきまして自分はスーパーで肉まんを買ってレンジでチンするのが日常になっています。

今回の鍋はゆず塩味。冬の足音が聞こえてくるのを食べながら感じました。大量の豆腐や白菜を入れた体にやさしい鍋でした。研究は必要ですがメリハリを大事に、ホワイトで楽しい研究室です。

 

加藤

研究室での娯楽

修士1年の星野です。

弓仲研究室では、たまに集まってボードゲームで遊んだりしています。

 

 

 

 

 

 

 

 

カタン、ラブレター、コードネームなど様々なゲームがあります。

研究も大事ですが、楽しく研究室で活動することができます。

 

研究室選びのご参考になれば幸いです。

 

(弓仲研究室に入ったらぜひ対戦しましょう!!)

私の研究の進め方

修士1年の高です。

私の研究内容は劣化した波形を上図の回路を利用して

正しく補正するための手法を考えています。

正しく補正できると、下図のようにアイが大きく開きます。

私はよりアイが多きく、かつ平坦に開くような手法を見つけるために日々頑張ってます。

平坦なアイの最大のメリットはサンプリングジッダに強いことです。

私の研究テーマは自宅から大学のPCを繋いでできるため、好きな時間と場所で

研究を進められることが、弓仲研究室の最大の利点だと思います。

料理部 11/14

本日の料理部は参加者6名で秋鮭のクリームパスタを作りました。

大変おいしかったです。

材料費は一人300円でお腹いっぱいになりました。

 

 

 

 

 

 

 

長谷川

Meta Quest3S導入

新型HMDのMeta Quest3Sがやってきました。「タピオカ1号」として、B4のVRグループでテストして頂きます。研究に活用しましょう!

OB Akmal氏訪問

平成20年度卒のAkmal氏(現、三菱重工業シンガポール)が研究室に遊びに来てくれました。シンガポールで活躍されております!たくさんの美味しいお土産ありがとうございました。