LoginSignup
2
0

More than 1 year has passed since last update.

女子美術大学にロボットアームを使ってもらった結果(概要、1班まで)

Last updated at Posted at 2021-12-01

恒例の女子美

がじぇるねGRは2017年から女子美術大学 プロダクトデザイン課の授業を支援して参りました。

今年はその5年目。今回のテーマは、
「ロボットアームを使って人の心を豊かにするプロダクトを提案」

気づきからリサーチ、アイディア展開・プロトタイプモデル・提案までの一連のデザインプロセスを実践!20名の学生が集ってくれました。がじぇるねGRからはGR-ROSE、3軸ロボットアームをご提供します!
joshibi1.png

スケジュール

期間は約2か月です。製作(モデル作成)は約1か月ですので、普段の授業やアルバイト(?)とかも兼ねて学生の皆さんは激務の期間を過ごすことになるのです。
(でもいつもはきはきと元気で、礼儀が正しい印象の美大生です)。
- 9/13   課題説明・講義&ワークショップ
- 9/17   アイディアチェック
- 9/24   ペルソナ&カスタマージャーニーマップ発表
- 10/1   ストーリーチェック
- 10/8   中間報告会 (モデル作成開始)
- 10/15  企画案・プロトタイプモデル中間チェック
           (モデル作成&プレゼン作成)
- 11/5   講評会

1班「えびだっぴ」

joshibi2.png
ペルソナは大学生まほちゃん20歳。コロナで友達にも会えず、小さなストレスが蓄積。誰かに打ち明けずらいこのストレスを発散させるプロダクト。どちらかといえば内向的なまほちゃんだが、内向的な人でも外向的な要素も持ち合わせるもの。ストレスの発散方法は発散系・浄化系、動的・静的の2軸で4つに分類される。今回はえびだっぴを用いて発散系の動的アプローチでストレスを発散するプロダクトを考えた。
えびだっぴは元々はむきえび。自慢のシックスパックをもっている。いつの日かスーパーでエビフライデビュー・・。といったストーリーからこのシュールなプロダクトは生まれた。

プロトタイピング

ロボットアームをRandomに動かすだけですが、電源ON/OFFのたびに動きのパワーが激しくなったり、緩やかになるようにしています。
基本は即興のコードですので、スパゲティなのはご理解ください。

#include <EEPROM.h>
// pin 10: Pressure sensor, GND 330 ohm
#include <ICS.h>

#define KRS_MIN 3500
#define KRS_MAX 11500
#define KRS_ORG 7500
#define KRS_FREE 0
#define SERVO_MIN -135
#define SERVO_MAX 135

IcsController ICS(Serial1);
IcsServo servo[3];

void krs_setfree(IcsServo* servo){
  servo->setPosition(KRS_FREE);
}

int krs_getposition(IcsServo* servo){
  return map(servo->getPosition(), KRS_MIN, KRS_MAX, SERVO_MIN, SERVO_MAX);
}

void krs_setposition(IcsServo* servo, float radian){
  int angle = radian * 180 / PI;
  int pos = map(angle, SERVO_MIN, SERVO_MAX, KRS_MIN, KRS_MAX);
  if(pos > KRS_MIN && pos < KRS_MAX){
    servo->setPosition(pos);
    delay(1);
  }
}

float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)
{
  return (float)(x - in_min) * (out_max - out_min) / (float)(in_max - in_min) + out_min;
}

void setup() {
  Serial.begin(9600);
  ICS.begin();
  int setting;
  if(EEPROM.read(0) == 0){
    setting = 30;
    EEPROM.write(0, 255);
  } else {
    setting = 120;
    EEPROM.write(0, 0);
  }
  for(int i = 0; i < 3; i++){
    servo[i].attach(ICS, i+1); // id1 to id3
    servo[i].setStretch(setting);
    delay(1);
    servo[i].setSpeed(setting);
    delay(1);
    krs_setposition(&servo[i], 0);
    delay(1);
  }
}

void loop() {
  for(int i = 0; i < 3; i++){
    int angle = random(-45, 45);
    float radian = angle * PI / 180;
    krs_setposition(&servo[i], radian);
    delay(100);
  }
}

今回はここまでです。次回2班、3班をお楽しみに!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0