解説動画の作り方を2つ増やす ― 「試してみた回」の型と、画面の文字を大きくする大文字型で1本作った
YouTube の解説動画の作り方を、2つ増やしました。
1つ目は「試してみた回」の型です。自分の机でロボットや AI を実際に試し、何が起きたかを記録で見せる回の台本を、穴埋めで作れるようにしました。これまでの解説回(ニュースや研究を説明する回)とも、マンガの回とも別の型として、別のフォルダに置いています。
2つ目は画面の作り方です。これまでの画面は、表や番号つきの行で中身まで書いていました。そこに、画面には「名前・数字・一言」だけを大きく出し、中身は声と字幕で話すパターンを足しました。これまでの形をパターン1(説明型)、新しい形をパターン2(大文字型)と呼び、内容に合わせてどちらかを選びます。
パターン2で、1本作りました。「ロボットの動きはなぜ怖い?|気味が悪いのか、危ないのか」(11分50秒)と、そこから切り出したショート3本です。この記事は、型を作った経緯と、その1本を公開できる形にするまでに決めたこと・直したことの記録です。
作業は、Claude のクラウドの作業環境でスクリプトを動かし、ElevenLabs で声を作る所だけを手元の Mac で動かす形で進めました。ElevenLabs の API キーは Mac の中だけで使い、Claude には渡していません。
作ったスクリプトと型のファイルは、記事の後半にすべて全文で載せています。書き出しのログと、測った数値も全量で載せています。

増やした作り方は「試してみた回」の型と、画面パターン2の2つ
| 何を増やしたか | 置き場所 | |
|---|---|---|
| 試してみた回の型 | 自分で試す回の、面白さの仕掛け10個・実験カード18欄・台本の穴埋め(0〜8の9部分)・決まり12個・画面の作り方 | iCloud 動画/_試してみた回の型/試してみた回の型.md(プロジェクトの claude/試してみた回の型.md は写し) |
| 試してみる系のネタ | ネタの一覧を3回作った(v1 14本・v2 9本・v3 8本) | iCloud 動画/_ネタ帳/ |
| 画面パターン2(大文字型) | 画面の文字を「名前・数字・一言」の15字以内にし、大きく出す形。パターン1とどちらにするかを、図を作る前に決める | 動画のルール video_rules.md の 4-4c(45回目の更新) |
| パターン2の部品 | 一言カード・数字カードなど、画面を作る関数8つ | _制作ベース/scene_kit.py |
| パターン2の1本目 | 「ロボットの動きはなぜ怖い?|気味が悪いのか、危ないのか」11分50秒と、ショート3本 | iCloud 動画/ロボットが怖い/、書き出した動画は KIOXIA videos/ロボットが怖い/ |
| 1本目で決めたこと | 感じ方の理由を話す回の言い方、読みの直し、サムネイル、縦長の図の縮み | video_rules.md の 2節23・3-1・8節・9-2(46回目の更新) |
「試してみた回」の型は、YouTube の解説番組のハッカー回から取り出した
始まりは、YouTube の「海外Yパパラジオ 世界を読み解く!」の回でした。使わなくなったパソコンを、パスワードが初期設定のままの見守りカメラに見せかけてネットにつなぎ(専門の世界ではハニーポットと呼ぶ仕掛け)、48時間で何が来たかを記録で見せる回です。
海外Yパパラジオで面白いネタをしていました。うちのサイトの記事やマンガのネタをベースにフィジカルAIやAIの面白ネタ(実際に試してみる系)を考えてみてもらえますか?またこの手の動画の型をいつもの動画とは別に作ってみてください。
Yパパラジオのハッカー回をベースに型を作っておいてください。それをいつもの解説動画やマンガの方とは別に保存しておいてください。大事なのは型です。
自分で試してみた的な型を持っておいてはめ込めるイメージです!
文字起こしを読んで、その回が面白くなっている仕掛けを10個に分けました。攻撃という怖い題材を「自然観察日記」という、のんきな呼び方で包んでいること。巣箱・生き物・渡り鳥の群れ・縄張り争いと、たとえを1つの世界に決めて最後まで通していること。「最初のノックは何分後?」と視聴者に予想させ、約5分という予想を外す数字を出すこと。探しても見つからなかったことも言うこと。最後は、やることを地味に3つだけ言って終わること。
この10個を、自分の回で埋める欄に置き換えたのが「実験カード」18欄です。世間の思い込み、のんきな枠(観察日記・対決・留守番など)、たとえの世界と言葉5つ、条件、越えない線、当てさせる問い、比べる相手、数え方、図鑑の種類、一番大事な誤解、見つからなかったこと、本物だったら(3段)、一番言いたい一言、と続きます。カードを埋めたら、台本の穴埋め(フック・自己紹介・目次・本編3つ・見立て・回答・アウトロ)に当てはめます。
カードには「埋まらない欄があるネタは、まだ動画にしない」と書きました。ただし、当てさせる問いの答え・図鑑の種類・見つからなかったこと・止めた時刻の4つは、実験してから埋める欄なので空けておいてよい、としています。
型を置く場所は、最初は解説回の部品と同じ _制作ベース/ で、名前は「試してみる回の型」でした。解説回やマンガの回と別にする指示を受けて、動画/_試してみた回の型/ に移し、名前も「試してみた回の型」に替えました。前の版は _旧版/置き換え前_20261015_試してみた回の型/ に残しています。
型の全文は、記事の後半に載せています。
試してみるネタは「面白くない」と言われ、面白さの定義をもらって出し直した
型と一緒に、試してみるネタの一覧も作りました。1回目(v1)は、サイトの記事とマンガの話から14本です。アームを何日も働かせ続ける観察日記、AI に成否の判定をさせて人の目と比べる回、1000円でロボットの AI がどこまで動くか、などです。
全然面白くはないね。もっと人が興味を持つような面白さを追求したネタを考えてみてください。
v1 は、技術者が知りたいことを測る案でした。見る人が題名だけで答えを予想したくなる問いになっていませんでした。そこで、選び方を4つに決め直しました。題名だけで誰でも答えを予想したくなる。やる前には結果が分からない。倒れる・こぼれる・変な動きをするなど、絵になる瞬間がある。最後にフィジカル AI の本当の課題に着地できる。
この選び方で作ったのが v2 の9本です。「AI にロボットの体を渡して『好きにしていい』と言ったら、最初に何をしたか」「AI3社にロボットを動かさせて、ブロック積み対決」「ロボットに『怒って置いて』と頼んだら、怒りは伝わるか」などです。
面白さとは、少し危険なことだったり、抜けていたり、少し危ない考えだったり、逸脱した視点を持ちながらギリギリ日常の中でできそうなことを人は面白いと思ったりします(本当に人を傷つけたり、何かを壊したり、迷惑かけるのは犯罪やおかしい人です)
だいぶ良くなりました!記憶しておいてください!
v2 の9本は、候補として残すことになりました。そのあと、もらった面白さの定義に合わせて v3 の8本を作りました。危なさは、自分自身・自分の机・自分の家の中だけに置き、他人・他人の物・他人のサービスには向けない、という線を一覧の先頭に書いています。「ロボットに『あーん』してもらったら、口に入るか」は、柔らかいスプーンとマシュマロ、遅い速さで、アームは口の手前で止め、最後は自分から顔を寄せる、という線にしました。v3 はまだ確認待ちです。
参考にした回のように、わざと攻撃させるセキュリティの実験は、どの一覧にも入れていません。外への影響と安全の判断が重いからです。型の決まり9にも「危なさは、自分自身・自分の机・自分の家の中だけに置く」と書きました。
v1・v2・v3 の一覧は、記事の後半に全文で載せています。
画面の文字は「名前・数字・一言」だけにして、15字以内にした
型の画面の作り方は、参考にした回のスクリーンショット13枚をもらって決めました。
動画内の画面構成なども参考に。今の動画の作り方もそうですが、結構文字数が多いけど、基本的には詳細な内容は話しながら進めているので、画面内に掲載するテキストはもっと大きくて伝わりやすい構成に変更した方がいいですね(全部真似なくていいです。独自性も大事なので)
13枚を見ると、参考の回の画面はほぼ4種類でした。
| 参考の回の画面 | どうなっているか | 型での使い方 |
|---|---|---|
| ずっと同じ背景 | 窓から見える街の映像が、最初から最後まで流れている | 背景を机の上の定点映像にする |
| 観察ダッシュボード | 状態・観察時刻・数字3つ・凡例3つが1枚に並び、早送りで数字が増える | 1本に1枚、実験ダッシュボードを作る。話している数字に寄る |
| 数字カード | 黒い板に、小さな見出し・巨大な数字(16)・色つきの単位(万台超)・出典1行 | 比べる相手の数字をこれ1枚で見せる |
| 一言カード | 黒い板に、小さな色つきの見出しと、2行の大きな言い切り | 一番大事な誤解や、見立ての一言に使う |
ほかに、手描き風のイラストカードと、背景と字幕だけで何も出さない間がありました。
これまでの解説動画の画面は、見出しが64〜84px、大きい数字が220pxで、表や番号つきの行で中身まで書いていました。字幕で話している内容を、画面でももう一度読ませていたことになります。そこで、型の画面には次の決まりを置きました。
- 1画面の文字は、見出しのラベルを除いて15字以内。文を画面に書かない
- 主役の数字は300px前後(単位は120px)、言い切りは150〜170px(1行8字・2行まで)、項目の名前は130px、項目の説明1行は56px、ラベルは40〜44px、出典は28px
まねしない所も決めました。色は記事と解説動画の色(地は #F5F5F0、オレンジは1画面で一番伝えたい語だけ、青は対比だけ)にそろえます。凡例は色だけで分けず、●◆■のように形も変えます。背景は街ではなく、実験している机そのものにします。ダッシュボードの数字は作り話にせず、台帳とログから数えた値だけを出します。
画面の作り方をパターン1(説明型)とパターン2(大文字型)に分けた
文字を大きくする形を、試してみた回だけでなく、いつもの解説動画にも使うかを聞きました。
これは動画の内容にもよるのでパターン1とパターン2みたいに2つ用意していて内容によって決めるようにしておきたいですね
そこで、video_rules.md に 4-4c「画面のパターン」を足しました(45回目の更新)。
| パターン1:説明型(これまでの形) | パターン2:大文字型 | |
|---|---|---|
| 向く回 | 数字・比較・手順・規格の段階を並べて見せないと伝わらない回 | 1本の筋で引っぱる回・マンガの回・見立てが中心の回・ショートに切り出しやすくしたい回。試してみた回はいつもこちら |
| 画面の文字 | 表・番号つきの行・2列比較を使う | 「名前・数字・一言」だけ。1画面の文字はラベルを除いて15字以内 |
| 大きさ | 見出し64〜84px・大きい数字220px | 数字300px前後・言い切り150〜170px・項目130px・説明56px・ラベル40〜44px・出典28px |
| 中身の伝え方 | 図にも中身を書く | 中身は声と字幕。画面は残したい一言と数字だけ |
どちらのパターンでも、字幕と同じ文を画面に出さないこと、色、出典の出し方、ハコブくん(ナレーション役のキャラクター)の区画は同じです。台本が固まったら Claude がどちらかを提案し、決めてから図を作ります。1本を作る流れ(video_rules.md の0節)の手順11にも、図を作る前にパターンを決めて scenes.py の先頭に PATTERN = 1 か 2 を書く、と足しました。
1枚目は前の動画「ロボットの乗っ取り」(パターン1)の画面、2枚目はパターン2で作った「ロボットが怖い」の画面です。


パターン2の部品8つを scene_kit.py に足した
画面は、scenes.py に場面ごとの HTML を書き、Playwright(ブラウザを動かすツール)で 1920×1080 の画像にしています。パターン2の画面を毎回手で書かなくて済むように、共通の部品を置いている _制作ベース/scene_kit.py に関数を8つ足しました。
| 関数 | 中身 | 「ロボットが怖い」で使った数 |
|---|---|---|
p2_word | 一言カード。小さな見出し+大きな言い切り(1行8字・2行まで) | 31 |
p2_item | 項目カード。番号+名前(130px)+説明1行(56px) | 14 |
p2_pair | 2つの語を並べる(例:気味が悪い/危ない) | 8 |
p2_svg | 模式図(不気味の谷の曲線・2つのコップ) | 6 |
p2_quiz | 問い。「問い」の札+大きな問い | 3 |
p2_num | 数字カード。小さな見出し+巨大な数字+単位 | 2 |
p2_list | 短い項目を縦に並べる(目次など) | 2 |
p2_count | 画面の文字数を数える。15字を超えた場面を見つける | (確認用) |
残りの5場面は、章の始まりの画面(chapter2。パターン1と同じ部品)4つと、出典の一覧(page)1つです。合わせて71場面です。
p2_count は、見出しのラベル・説明・出典を除いた文字を数えます。71場面のうち64場面が15字以内でした。超えたのは次の7場面です。
| 場面 | 文字数 | 中身 |
|---|---|---|
| sources | 320 | 出典の一覧(最後の画面) |
| toc | 24 | 目次(4項目) |
| c1 | 23 | 1つ目の章の始まり |
| c3 | 22 | 3つ目の章の始まり |
| c2 | 21 | 2つ目の章の始まり |
| answer2_hint | 18 | 答えの手がかり(3項目の一覧) |
| c4 | 17 | 見立ての章の始まり |
出典の一覧・目次・章の始まりは、これまでの部品をそのまま使ったため超えています。この7場面はそのまま出しました。目次と章の始まりを15字の数え方から外すか、部品を作り直すかは、まだ決めていません。
パターン2の1本目は「ロボットの動きはなぜ怖い?」
パターン2:大文字型で1本動画を作ってもたいです。解説動画のネタを選んでください。
候補は、先に作ってあった解説動画の台本15本(LOG335)から出しました。
ロボットが怖いのはなぜ ― 動きにも「不気味の谷」がある で進めてみて
数字や規格の段階を並べる回ではなく、1本の筋で引っぱる回なので、パターン2に向いていると考えました。元の台本は127文で、1970年の大阪万博の笑う顔のロボットの話から始まります。森政弘さんは、そのロボットの笑顔になる速さを半分にすると、うれしそうではなく不気味な表情になる、と書いています。
書き出した本編は、次のとおりです。数値は、書き出したファイルを ffprobe(動画の中身を調べるツール)と ffmpeg の音量測定で測ったものです。
| 項目 | 値 |
|---|---|
| YouTube のタイトル | ロボットの動きはなぜ怖い?|気味が悪いのか、危ないのか |
| 長さ | 11分50秒(710.1秒・21,302コマ) |
| 文の数 | 114文(字幕の字数で4,096字) |
| 場面の数 | 71(パターン2の部品で66、章の始まりと出典の一覧で5) |
| ナレーション | ハコブくん(ElevenLabs・モデル eleven_v4・seed 7・stability 0.55・similarity 0.75) |
| BGM | ElevenLabs Music で作った bgm_明るいB_2 を最初から最後までループ。話している間 -23dB・間 -16dB |
| 効果音 | 72個。場面の切り替えの「ホワーン」64個、大きな流れの変わり目の「ポロロン」7個、自己紹介の「キラリン」1個 |
| 音の大きさ | -16.1 LUFS(最大 -1.6 dBFS) |
| 映像 | H.264、1920×1080、30コマ/秒 |
| アップロード用のファイル | 49,605,732 バイト(約50MB) |
実際の画面は、字幕とハコブくんが入るとこうなります。

台本は codex に2回「直してから」と言われ、1つの原因の説明から2つの感じ方に組み直した
台本は、事実を別のエージェントに出典と照らし合わせてもらったあと、codex(OpenAI のコーディング AI)に「この台本を論破するつもりで」検証を頼みました。依頼文は make_docs.py が台本から作ります。
パターン2に書き直した最初の台本は、「ロボットの動きが怖いのは、予想から外れるから」という1つの原因で全体を説明していました。
1回目:「予想とのずれ」が原因だと、どの出典も示していなかった
1回目の判定は「直してから」、結論は「条件つきで成立」でした。一番大きな指摘は次の文です。
最大の問題は、「予想とのずれ」「行き先の読みにくさ」「不気味さ」「身体的な危険への恐怖」を、同じ原因で説明していることです。
森さんの不気味の谷は、人に似ている度合いと親しみの関係についての仮説で、「予想とのずれ」を原因として確かめたものではありません。Dragan らの2013年の研究は、ロボットの動きを見た人がどちらの物へ向かうかを当てる速さと正しさを測ったもので、怖さは測っていません。「番組の見立て」と断っても、因果が裏付けられるわけではない、という指摘でした。
そこで骨組みを組み直しました。怖さを「なんだか気味が悪い」と「ぶつかりそうで危ない」に分け、それぞれ出典で言える範囲だけを言う形です。危ない感じの出典として、ドイツの法定労災保険の労働安全研究所(IFA)が仮想現実の作業場で行った実験の情報シートを足しました。とても速い動きで作業の負担と不安が高まり、速くて動きを予測しにくいロボットは危ないと受け取られた、という報告です。
2回目:2つの感じ方の「原因が分かった」と言っていた
2回目も判定は「直してから」、結論は「条件つきで成立」でした。
今回の主な問題は、2つの怖さを分けたことではなく、それぞれの原因が確かめられたように言っていることです。
直した所は次のとおりです。
| 指摘 | 直す前 | 直した後 |
|---|---|---|
| 原因が分かったように言っている | 2つの怖さは、別のところから来る | 2つの感じ方には、それぞれ手がかりがあります。ただ、これで全部の怖さを説明できるわけではありません |
| 2つに分けたのは番組の整理 | 怖さには2種類ある | この番組では、怖さを考えるために、まず2つの感じ方を分けてみます。両方が重なることもあります |
| IFA は身を引く行動を測っていない | ぶつかりそうな怖さ | ぶつかりそうで危ない、という感じ |
| IFA の「動きの予測しやすさ」と Dragan らの「行き先が読める」は別の測定 | 行き先が読めない動きは危ないと受け取られた | 速くて動きを予測しにくいロボットは、危ないと受け取られた。Dragan らの話の前に「ここからは、少し別の話です」と断る |
| IFA の結果が、速さを下げる方向にだけ読める | (書いていなかった) | 近くにいるほど不安が強まり、反対に、遅すぎると作業の成績が落ちたとも報告しています |
| 不気味の谷が、谷で終わっている | (書いていなかった) | 谷の先に、また親しみが高くなる山がある |
| 4つの着眼点を、どちらの感じ方かに振り分けていた | 振り分けていた | 振り分けない。研究の分類ではなく、確かめたい着眼点だと先に言う |
2回目の指摘を直した台本で確定しました。依頼文の make_docs.py は台本を直すたびに作り直しているので、記事の後半に載せた依頼文は、確定した台本を3回目として頼む場合の前書きになっています。3回目は頼んでいません。
この回で決めた言い方は、video_rules.md の2節23にまとめました。研究から「怖さ」のような感じ方の理由を話す回は、原因を言い切らず「手がかり」と言う。感じ方を分けるときは「番組の整理」と言い、重なることもあると言う。研究ごとに測ったものの言葉を混ぜない。研究が測っていないことを言わない。英訳で読んだ文章は「原文とは照合していない」と書く(森さんの1970年の文章は、2012年の英訳で読みました)。筆者が書いた一般の話を、実際にやった出来事のように言わない(「速さを半分にすると不気味になる、と森さんは書いています」)。
「29対」は、試し読みでは読めたのに、全文では「たい」と読んだ
声は、ElevenLabs で作った声「ハコブ」で読み上げます。全文を作る前に、読み間違えそうな語だけを --try で試し読みします。
| 試し | 文 |
|---|---|
| 01 | 顔には29対の人工の筋肉があり。 |
| 02 | 顔には29ついの人工の筋肉があり。 |
| 03 | 森政弘さんは、日本のロボット工学者です。 |
| 04 | もりまさひろさんは、日本のロボット工学者です。 |
| 05 | 本物そっくりの義手の例が出てきます。 |
声は1、3、5です
漢字のままの01・03・05で正しく読めたので、そのまま全文を作りました。書き出した動画を見ると、冒頭の9秒付近で「29対」を「にじゅうくたい」と読んでいました。
9秒付近 29対は「ツイ」と読むのが正しい。
読み上げ用にだけ、ひらがなの「29つい」に替えて作り直すと、今度は「つい」が短すぎました。
9秒の29対の読み方が変(つい が短すぎる)
「29ツイ」と「にじゅうきゅうつい」の2つで試し読みを作ると、どちらも通りました。
01、02がOKです
カタカナの「29ツイ」に決め、narration.py の ELEVEN_READ に ('29対', '29ツイ') と書きました。字幕は「29対」のままです。試し読みで読めた語も、全文の中では読み違えることがあるので、数字と助数詞は全文を聞いて確かめる、と video_rules.md の3-1に足しました。
パターン2の目次に、4つ目の「見立て」が抜けていた
同じ確認で、もう1つ見つかりました。
3分7秒付近 エイイチの見立てが書かれていない(前は書いてあったはず)
パターン1の動画では、目次に見立ても並べていました。パターン2の目次(p2_list)を作ったとき、本編の3つだけを並べて、見立てを入れていませんでした。目次を「今日は3つ+見立て」に直し、4つ目に「エイイチの見立て」を足しました。video_rules.md の4-4cにも、目次には見立ても項目として並べる、と書いています。
サムネイルは、コードで描いた背景をやめて ChatGPT の写真にした
最初のサムネイルは、不気味の谷の曲線をコードで描いた背景にしました。
サムネイルシンプルすぎだなー。なんか他にアイデアない?必要ならchatGPTに指示して作ってもらうけど。
そこで、ChatGPT に頼む背景の案を3つ出しました。選ばれたのは、工場の作業台で、置かれた手袋のすぐ横を、白いアームが残像を引いて振り抜く写真です。人・文字・ロゴは入れていません。画像は ChatGPT で作ってもらいました。
ハコブくんを右下に置く形と左下に置く形を作り、右下の形に決まりました。ハコブくんの吹き出しの札は「どっちが怖い?」に替え、位置を少し下げています(thumb.py の LABEL_BOTTOM を300から220へ)。ChatGPT の画像は1920幅より小さいことがあるので、そのときは PIL(Python の画像ライブラリ)で1920幅に広げてから使う、と video_rules.md の8節に足しました。

上の段の左が右下の形(こちらに決まった)、右が左下の形です。下の段は一覧に出る大きさの確認で、左が原寸の半分、右の小さな画像がスマホの一覧に出る大きさです。
ショートは3本、縦長の画面で SVG の図が縮んだ
ショートは、本編の声をそのまま使って、縦長(1080×1920)・30秒以内で3本作りました。
| ショート | 長さ | 本編のどこから |
|---|---|---|
| 1 ゆっくり笑うと不気味? | 22.9秒 | 冒頭の万博の笑顔の話 |
| 2 ロボットの怖さは2種類? | 26.9秒 | 2つの感じ方と、それぞれの手がかり |
| 3 最短の動きは読みにくい? | 24.0秒 | 2つのコップのクイズ(Dragan らの研究) |

3本目で、2つのコップの模式図(SVG)が縮んで小さくなりました。縦長の画面は、見出し・図・文字を縦に並べる箱(flex)でできていて、文字が多い段では、箱が SVG を縮めて収めようとします。SVG に flex-shrink:0 と幅(740px か 500px)を指定し、出典は図の段から文字だけの段へ移しました。video_rules.md の9-2に書いています。
ショートの説明文には、出典と「本編のURLを入れる」の欄を置きました。本編を公開したあとに URL を入れます。
YouTube に出すタイトル・概要欄・投稿文と、KIOXIA に置いたファイル
タイトルは、次の1行に決まりました。
ロボットの動きはなぜ怖い?|気味が悪いのか、危ないのか タイトル
概要欄は、下書き(概要欄_下書き.md)の {t:文番号} を、その文が始まる時間に置き換えて作ります(description.py)。目次は10か所です。概要欄には「この動画で扱う範囲」として、紹介する研究はどれも本物のロボットの隣に人を立たせたものではないこと、2つのコップの研究は怖さが減るかまでは調べていないこと、「気になる動き4つ」は研究の分類ではないこと、見立ての測り方はまだ試していないことを書きました。
X の投稿文は、URL を23字と数えて133字です。LinkedIn は、動画を直接アップロードし、英語のあとに日本語を並べます。どちらも、本編を公開したあとに URL を入れます。書き出した概要欄・投稿文・ショートの説明文は、記事の後半に全文で載せています。
書き出したファイルは、KIOXIA(外付けの SSD)の videos/ロボットが怖い/ に置きました。Mac に送ったあと、指紋(md5)が作業環境のファイルと一致することを確かめています。
| ファイル | md5 |
|---|---|
| アップロード用/ロボットが怖い.mp4 | e28b0c465122f5e5852dcfee5dfd7460 |
| ロボットが怖い_確認用.mp4 | 3faf9396cacf777e625422ee61d75228 |
| ショート/ショート1_ゆっくり笑うと_版1.mp4 | 5356b44ba29662f8f9ad0dacf9a3a281 |
| ショート/ショート2_怖さは2種類_版1.mp4 | 35ca9ac8ff09714bd93710a3253153a7 |
| ショート/ショート3_最短は読みにくい_版1.mp4 | c589d8f35d3a94f4d9e5771d86d04f26 |
| ショート/ショート_タイトルと説明文.txt | 6fe2cec549f9fa5ca319c566e4093057 |
| アップロード用/投稿文_X_LinkedIn.txt | c3b6f8a40053adfa8a2dca90c74ed3db |
| アップロード用/概要欄.txt | c83c953860cf7d53601386d0f25be03b |
video_rules.md に足したこと(45回目と46回目)
動画のルール video_rules.md は、iCloud の _制作ベース/ とプロジェクトの claude/video_rules.md の両方に置いています。iCloud 側は、読んだときの指紋と同じかを確かめてから上書きし、前の版を _旧版/ に残しています。
| 回 | 足した所 | 中身 |
|---|---|---|
| 45回目 | 4-4c | 画面のパターン(パターン1=説明型/パターン2=大文字型)。内容で選ぶ |
| 45回目 | 0節の手順11 | 図を作る前にパターンを決め、scenes.py の先頭に PATTERN を書く |
| 46回目 | 4-4c | パターン2の部品を scene_kit.py に足した。目次に見立てを入れる。模式図は SVG で描き、場面の名前を分けて使い回す |
| 46回目 | 2節23 | 感じ方の理由を話す回は、原因を言い切らず「手がかり」と言う。番組の整理と重なり。研究ごとの言葉を混ぜない。測っていないことを言わない。英訳で読んだら原文未照合と書く。筆者の一般の話を出来事にしない |
| 46回目 | 3-1 | 「29対」→「29ツイ」。試し読みで読めても、全文で読み違える |
| 46回目 | 8節 | サムネイルの背景を ChatGPT で作る。札の位置。小さい画像は1920幅に広げる |
| 46回目 | 9-2 | 縦長の図に SVG を入れると縮む。flex-shrink:0 と幅を指定する |
44回目から46回目までの差分を、記事の後半に全量で載せています。
まだ決まっていないこと
| 項目 | いまの状態 |
|---|---|
| 試してみた回の1本目 | 型はできたが、まだ1本も作っていない。型の画面の部品(実験ダッシュボード dash()・寄る動き zoom()・イラストカード illust_card()・定点映像の背景)は、1本目で作る |
| v3 のネタ8本 | 確認待ち。v2 の9本は候補として残っている |
| 15字を超えた7場面 | 目次と章の始まりを15字の数え方から外すか、パターン2用に作り直すか |
| 3回目の codex | 頼んでいない。依頼文は、確定した台本で作り直してある |
| 公開後の作業 | X の投稿と LinkedIn のコメントに動画の URL を入れる。ショート3本の関連動画に本編を設定する |
| 型のファイルの番組名 | 型のファイルでは、参考にした番組名を「海外ワイパラジオ」と書いている。正しくは「海外Yパパラジオ」 |
この記事で作った・直したファイルの全文
_制作ベース/ のうち、この記事の作業で直したのは scene_kit.py だけです(パターン2の部品を末尾に足した)。ほかの部品(render.py・assemble.py・assemble_short2.py・thumbnail.py・tts_eleven.py など)は、前の動画から変えていないので載せていません。動画ごとの作業フォルダ 動画/ロボットが怖い/ のファイルは、すべて載せています。
型とネタの一覧
型のファイルとネタの一覧は、iCloud に置いた版をそのまま載せます。
動画/_試してみた回の型/試してみた回の型.md
新規。試してみた回の型。面白さの仕掛け・実験カード・台本の穴埋め・決まり・画面の作り方・ショート・記入例(221行)。
# 試してみた回の型(はめ込み用)
作成: 2026-10-15 更新: 2026-10-15(4節の画面の作り方を、元の回の画面をもとに書き足した) 状態: 型の初版(1本作ったら直す)
置き場所: iCloud `動画/_試してみた回の型/`(解説回の `_制作ベース/video_rules.md`、マンガ回の 2節20 とは別に持つ)。プロジェクトの `claude/試してみた回の型.md` は写し。
元にした回: 海外ワイパラジオの「ハッカーの自然観察日記」(約12分40秒)。自分で仕掛けを作って48時間放置し、何が来たかを記録で見せた回。
使い方: **1節の「実験カード」を埋める → 2節の台本の型に当てはめる**。ネタが変わっても、流れと決まった言い回しはそのまま使う。
---
## 0. この型の面白さの正体(元の回から取り出したもの)
| 仕掛け | 元の回では | 自分の回で考えること |
|---|---|---|
| 怖い・難しい題材を、のんきな枠で包む | 攻撃を「自然観察日記」と呼ぶ | 題材をどんな日常の枠で呼ぶか(観察日記・対決・留守番・弟子入り…) |
| たとえを1つに決めて最後まで通す | 巣箱・生き物・渡り鳥の群れ・偵察部隊・縄張り争い | 1つの世界の言葉だけで通す |
| 予想を外す数字が1つある | 「最初のノックは何分後?」→ 約5分 | 視聴者が「え、そんなに?」と言う問いを1つ |
| 自分の結果を他と比べて、特別かどうかを言う | 「僕のは早い方」と他社の観測の平均と比べた | 公開されている値や、人間の場合と比べる |
| 「ここが一番大事」で誤解を1つ解く | 国の名前では犯人の居場所は分からない | 見た人がやりがちな勘違いを1つ |
| 探して見つからなかったことも言う | 人が手で打っている個体は見つけられなかった | 期待していたのに起きなかったこと |
| 「本物だったら」で日常に戻す | 本物のカメラなら、兵隊・覗き窓・家への足場になる | 机の上の出来事が、現場や家で起きたらどうなるか |
| 一番言いたい一言を繰り返す | 「攻撃は、開いている家に来る」 | 10字前後の一言を決めて2回言う |
| 日常のたとえで締める | 鍵を植木鉢の下に置いて売られている | 誰でも分かる生活の場面にたとえる |
| やることは地味に3つ | 初期設定を変える・更新を入れる・扉を開けっぱなしにしない | 見た人が明日できること3つ |
---
## 1. 実験カード(台本の前にこれを埋める)
| # | 欄 | 書くこと |
|---|---|---|
| 1 | 世間の思い込み | 「〇〇って聞くと、△△を思い浮かべますよね」の △△ |
| 2 | のんきな枠(題名の枠) | 例:観察日記・対決・留守番・弟子入り・〇日間生活 |
| 3 | 今日の問い(1文) | 題名にもなる問い |
| 4 | たとえの世界と、その言葉5つ | 例:自然観察 → 巣箱・生き物・群れ・縄張り・図鑑 |
| 5 | 条件 | 機体・物・場所・明るさ・時間か回数・変えたこと/変えなかったこと |
| 6 | 最初に考えてダメだった案と理由 | 「最初は〇〇でやろうとしたんですが、それだと〜」 |
| 7 | 越えない線(安全) | 止め方・人がいる時だけ・柔らかい物・自分の机と家の中だけ |
| 8 | 当てさせる問い | 「〇〇まで何回/何分/何段だと思いますか」 |
| 9 | 比べる相手 | 公開された値・人間がやった場合・別のAI。なければ「見つからなかった」 |
| 10 | 数え方 | 何を1回と数え、何を別に数えるか |
| 11 | 図鑑の種類(3〜5) | 起きたことを種類に分けた名前(たとえの世界の言葉で) |
| 12 | 一番大事な誤解 | 「〇〇だからといって、△△とは限らない」 |
| 13 | 見つからなかったこと | 探したけど起きなかったこと |
| 14 | 止めた時刻と状態 | 「〇時〇分、電源を切って終わりにしました」 |
| 15 | 本物だったら(3段) | 現場・家で起きたら → 1つ目・2つ目・3つ目と大きくなる |
| 16 | 一番言いたい一言 | 10字前後 |
| 17 | 日常のたとえ | 締めに使う生活の場面 |
| 18 | 見た人がやること3つ | 地味で、明日できること |
埋まらない欄があるネタは、まだ動画にしない(実験してから埋める欄:8の答え・11・13・14 は空けておいてよい)。
---
## 2. 台本の型(穴埋め)
【 】に実験カードの番号の中身を入れる。ハコブくんが話し、エイイチは三人称(「エイイチは」)。
### 0. フック(0:00〜1:10)
- 「【1 思い込みの主語】って聞くと、【1 思い込み】を思い浮かべませんか。」
- 「本当にそうなのか。エイイチは、自分の机で確かめてみたくなったんです。」
- 「今日は、【2 のんきな枠】です。」(例:ロボットアームの観察日記)
- 「【5 条件を1文】。その間に何が起きたのかを、記録と一緒にお見せします。」
- 「なんでこんなことをしたかというと、【ニュースや世間の話題】。でも、自分には関係ない話だと思っている人も多いと思うんです。」
- 「【題材】は、ふだんは目に見えません。だから今回は、自分で試して、見える形にしました。」
### 1. 自己紹介(〜1:25)
- 解説回と同じ2文(video_rules.md 2節10)
### 2. 目次(〜1:40)
- 「【3 今日の問い】。今日は大きく3つです。」
- 「【本編1の問い】。【本編2:図鑑の名前】。そして、【本編3:本物だったら】です。」
### 3. 本編1:仕掛けと最初の出来事(〜5:00)
- 「1つ目、【本編1の問い】って話です。その前に、【仕掛け】をどう作ったかを話させてください。」
- 「最初は【6 ダメだった案】を考えたんです。でもそれだと【理由】。」
- 「そこで、【実際の作り方】。」(ここで専門の呼び名を1つだけ出し、1行で言い換える)
- 「ただ、【7 越えない線】。何が起きても、【守ったもの】には届かないようにしてあります。」
- 「準備はこれだけ。あとは、【記録】を眺めながら待つだけです。」
- 「ここで、皆さんにも考えてみてほしいんです。【8 当てさせる問い】」(間 2.5秒・場面を分ける)
- 「どうでしょう。【多くの人の予想】くらいはかかりそうな気がしませんか。」
- 「答えは、【8 の答え】でした。【その瞬間の様子を1文】。」
- 「ただ、エイイチの机は【早い/遅い】方でした。【9 比べる相手】では【その値】です。」
- 「なんでそうなるのか。【仕組みを1つ】。」
- 「つまり、【一言のまとめ】なんです。」
### 4. 本編2:図鑑(〜8:20)
- 「2つ目、【図鑑の名前】です。」
- 「最初の【出来事】から、記録はもう止まりませんでした。【時間】で【数】。」
- 「ここで言う【数えた物】は、【10 数え方】です。【別に数えた物】は、また別です。」
- 「その中で見分けがついてきた種類を、順番に紹介していきますね。」
- 種類ごと(多い順・ダッシュボードの凡例に寄る):「一番多いのは、【11 種類1】みたいなやつです。【何をするか】。」
- 「そして、ここからが見ものです。」→【一番面白い振る舞い】→「これ、【たとえの世界】と全く同じじゃないですか。」
- 「ただ、ここが一番大事なところなんですけど、【12 誤解】。」
- 「ちなみに、【13 探したもの】も探したんですが、今回は見つけられませんでした。」
### 5. 本編3:本物だったら(〜10:30)
- 「3つ目、【本編3の問い】です。」
- 「【14 止めた時刻と状態】。ここから先は、本物の【現場・家】だったら何が起きていたか、という話です。」
- 「まず、【15-1】。」(実際の事例・公開資料を1つ。出典を画面に)
- 「次に、【15-2】。」
- 「そして、【15-3】。」
- 「【自分ごとにする問い】。これ、結構【怖い/困る】と思いませんか。」
### 6. 見立て(〜12:00)
- 「ここからはエイイチの見立てです。今回の観察で、一番言いたいことです。」
- 「【16 一番言いたい一言】。」
- 「【よくある思い込み】って思うじゃないですか。でも、【本当はこう】。」
- 「【16 一番言いたい一言】。」(2回目)
- 「エイイチは、本業のデザイナーとして【作る側の事情】も見てきました。【なぜそうなりがちか】。」
- 「でも、使う側から見ると、それは【17 日常のたとえ】のようなものなんです。」
- 「だから、やることは地味です。【18-1】。【18-2】。【18-3】。これだけで、【効果】。」
### 7. 回答(〜12:40)
- 「最初の問いに戻ります。」
- 「【本編1の答え】。【本編2の答え】。そして、【本編3の答え】。」
- 「【16 一番言いたい一言】、それだけなんです。」
### 8. アウトロ
- 解説回と同じ文言
---
## 3. 決まり
1. たとえは1つの世界に決め、最後まで通す。たとえの直後に、実際に何が起きたかを事実の文で言う(language_rules.md 3節)
2. 条件を最初に全部言い、実験前の机の全景写真を出す
3. 数え方を先に言う
4. 当てさせる問いを1つ以上。問いと答えは場面を分ける
5. 自分の結果を1回は他と比べる。比べる相手がなければ、そう言う
6. 見つからなかったこと・試していないことも言う
7. 1台・1つの机・1回の実験の話だと言う。業界全体の結論にしない
8. 記録を画面の主役にする(ログの行・台帳・写真・時刻)。各節に動いている実機の映像を1つ以上
9. 危なさは、エイイチ自身・エイイチの机・エイイチの家の中だけに置く。他人・他人の物・他人のサービスには向けない。人を傷つける・物を壊す・迷惑をかけることはしない
10. アームを動かす実験は、動ける範囲と速さに上限を付け、人が見ている間だけ動かす。止める手段は電源を切ることだけ、と知ったうえでやる
11. 他人の顔・声・個人の情報は使わない(使うなら同意を取り、画面には出さない)
12. 受け渡し動作は使わない(video_rules.md の決まり)
## 4. 尺と画面
尺は10〜13分。フックは1分前後(条件と「なぜ試したか」まで入れる)。字幕・ハコブくんの区画・音は解説回と同じ(video_rules.md 5〜7節)。画面の作り方はこの回だけ次のとおりにする。
### 4-1. 元の回の画面から取ったこと(2026-10-15 スクリーンショット13枚から)
| 元の回 | どうなっているか | この型での使い方 |
|---|---|---|
| ずっと同じ背景 | 窓から見える街の映像が、最初から最後まで背景に流れている。カードはその上に乗る | 背景は**机の上の定点映像**(実験中の上か横のカメラ)。「いつもここで実験している」が伝わる |
| 観察ダッシュボード | 1枚の画面に「状態(待機中・早送り)」「観察時刻(1日目 15:24:45)」「数字3つ(訪問の回数・訪問元の数・入られた回数)」「凡例3つ(色と形で分ける)」が並ぶ。時間を早送りすると数字が増えていく | 1本に1枚、**実験ダッシュボード**を作る。数字が動くのが一番の見せ場 |
| ダッシュボードの一部に寄る | 話している数字や凡例に、カメラが寄って大きく見せる。別の図を作らない | 同じダッシュボードの一部に寄る(数字1つ・凡例1つ)。図の枚数を増やさない |
| 手描き風のイラストカード | 白いカードの左上に手書き風の短い題(「カメラが兵隊に」)、真ん中にキャラクターの絵 | 「本物だったら」の3段は、ハコブくんが出てくる手描き風の絵で見せる |
| 数字カード | 黒い板に、小さな見出し・巨大な数字(16)・色付きの単位(万台超)・出典1行 | 比べる相手の数字はこれ1枚で見せる |
| 一言カード | 黒い板に、小さな色付きの見出し(日本の観測)と、2行の大きな言い切り | 図鑑の「一番大事な誤解」や、見立ての一言に使う |
| 何も出さない間 | 背景と字幕だけの場面がある | 説明が続く所は、無理に図を出さない |
### 4-2. 文字の決まり(この型の一番大事な決まり)
細かい中身は声と字幕で話している。画面の文字は「名前・数字・一言」だけにして、大きく出す。
- 1画面に載せる文字は、見出しのラベルを除いて**15字以内**。文を画面に書かない
- 字幕と同じ文を画面に出さない(video_rules.md 4-4b と同じ)
- 大きさ(1920×1080)
| 用途 | 大きさ | 太さ |
|---|---|---|
| 主役の数字 | 300px 前後(単位は 120px) | 900 |
| 一言カードの言い切り(1行8字まで・2行まで) | 150〜170px | 900 |
| 図鑑の種類の名前 | 130px | 900 |
| 種類の説明(1行) | 56px | 700 |
| 見出しのラベル・出典 | 40〜44px/28px | 700/400 |
- 解説回の図(見出し64〜84px・表・番号つきの行)は、この型では使わない。表のような中身は、声で話してダッシュボードの数字だけを見せる
### 4-3. 画面の型(5つだけ)
| 型 | 中身 | 使う所 |
|---|---|---|
| 定点 | 机の上の定点映像だけ(字幕とハコブくんは出る) | 説明が続く所・場面の合い間 |
| 実験ダッシュボード | 状態・観察時刻(〇日目 時:分)・数字3つ・図鑑の凡例・真ん中に机の映像か図 | 本編1〜2のほとんど。話す所に寄る |
| 数字カード | 小さな見出し+巨大な数字+単位(オレンジ)+出典1行 | 当てさせる問いの答え・比べる相手 |
| 一言カード | 小さな見出し(色付き)+大きな言い切り2行まで | 一番大事な誤解・見立ての一言・回答 |
| イラストカード | 手書き風の短い題(8字まで)+ハコブくんが出てくる絵 | 本物だったら(3段)・たとえの場面 |
### 4-4. 元の回をまねしない所(独自性)
- 色は記事と解説回の色にそろえる(地は #F5F5F0、オレンジ #C4471F は1画面で一番伝えたい語だけ、青 #1A6C98 は対比だけ)。数字カード・一言カードの板は、実機映像の上に置くときだけ黒78%(6節のテロップと同じ)
- 凡例は色だけで分けず、形も変える(●◆■など。色覚の違いがあっても見分けられるように)
- 背景は街ではなく机の上。実験していることそのものが背景になる
- キャラクターはハコブくん。イラストカードの絵は生成AIで作り、概要欄に書く
- ダッシュボードの数字は作り話にしない。台帳・ログから数えた値だけを出す(早送りで数えるときも、途中の値は記録どおり)
### 4-5. 作るもの(1本目で scene_kit.py に足す)
- `dash()`:実験ダッシュボード(状態・時刻・数字3つ・凡例。数字は記録のCSVから時間に合わせて数える)
- `zoom(場面, 寄る所)`:ダッシュボードの一部に寄る動き
- `num_card()`・`word_card()`・`illust_card()`
- 定点映像を背景に敷く設定(図を出さない場面は定点だけ)
## 5. ショート
- 当てさせる問い(問い → 間 → 答え)で1本
- 図鑑の一番面白い1種類で1本
- 一番言いたい一言で1本
## 6. 記入例(実験カードだけ・結果はまだない)
ネタ:「AI3社にロボットを動かさせて、ブロック積み対決」
| # | 欄 | 例 |
|---|---|---|
| 1 | 世間の思い込み | 「頭のいいAIなら、ロボットも上手に動かせる」 |
| 2 | のんきな枠 | 机の上の運動会 |
| 3 | 今日の問い | 文章が一番うまいAIは、ブロックも一番高く積めるのか |
| 4 | たとえの世界 | 運動会:選手・レーン・審判・記録会・ゴール |
| 5 | 条件 | mechArm 270-Pi 1台、同じブロック【個数】、同じ机と明るさ、各AI【回数】回。AIに渡すのは上のカメラの写真と「掴む・置く」の命令だけ |
| 6 | ダメだった案 | 【実験して書く】 |
| 7 | 越えない線 | 動ける範囲と速さに上限、エイイチが見ている間だけ |
| 8 | 当てさせる問い | 一番高く積めたのは何段? どのAI? |
| 9 | 比べる相手 | エイイチが同じアームを手で動かした場合 |
| 10 | 数え方 | 崩れずに3秒立っていた段数。手で直したら、その回は記録なし |
| 11〜15 | 【実験して書く】 | |
| 16 | 一番言いたい一言 | 【実験して決める】 |
動画/_ネタ帳/試してみる系_ネタ一覧_20261014_v2.md
新規。v2 の9本。候補として残す一覧(30行)。
# 試してみる系の動画ネタ v2(面白さ優先)
作成: 2026-10-14 状態: エイイチが「だいぶ良くなった」と評価(2026-10-14)。この9本を候補として残す
v1 は「技術者が知りたいこと」を測る案で、見る人が自分で予想して盛り上がる問いになっていなかった(エイイチ「全然面白くない」)。v1 は `_旧版/置き換え前_20261014_試してみる系ネタ/`。
## 選び方
1. 題名だけで、誰でも答えを予想したくなる
2. 結果がどうなるか、やる前のエイイチにも分からない(外れても面白い)
3. 絵になる瞬間がある(倒れる・こぼれる・変な動きをする)
4. 動画の最後に、フィジカルAIの本当の課題に着地できる
## 案(おすすめ順)
| # | 題名案 | やること | 見る人が予想する所・見せ場 | 着地する課題 |
|---|---|---|---|---|
| 1 | AIにロボットの体を渡して「好きにしていい」と言ったら、最初に何をしたか | カメラ付きのアームをAIに渡し、目的を与えずに動かさせる。考えたことも全部記録する | 何をするか誰にも分からない。AIの「つぶやき」が字幕で読める | 目的がないとき、AIは何を基準に動くのか |
| 2 | AI3社にロボットを動かさせて、ブロック積み対決 | Claude・GPT・Gemini に同じアーム・同じブロックで積ませ、何段積めるかを競う | どのAIが勝つか予想できる。崩れる瞬間 | 文章が得意なAIと、物を扱えるAIは同じか |
| 3 | どっちが人間? 人が動かしたアームと、AIが動かしたアーム | 同じ置き方を、エイイチが手で教えた動きとAIが作った動きで撮り、並べて当ててもらう | 視聴者が参加できる。コメントで答え合わせ | 人らしい動きとは何か(Motion UX) |
| 4 | ロボットに「怒って置いて」と頼んだら、怒りは伝わるか | AIに「怒って・悲しく・うれしく」置く動きを作らせ、どの感情か当ててもらう | 感情当てクイズ。怒った置き方がたぶん面白い | 動きは性格として読まれる(第39話) |
| 5 | ロボットに鏡を見せたら、自分だと分かるか | 鏡の前でアームを動かし、AIに「どれがあなたの腕?」と聞く | 動物の鏡のテストのロボット版。分かるのか分からないのか | ロボットは自分の体をどう知るのか |
| 6 | 「片付けて」とだけ言ったら、AIロボットは机をどう片付けるか | 散らかった机で、ひと言だけ指示する | ペンもスマホも全部箱に入れるかもしれない | あいまいな指示と、家事ロボットの難しさ |
| 7 | AIにロボットの指を設計させて、3Dプリントしたら何が掴めるか | Fusion 360 をAIに使わせて指を設計し、印刷して付け替える | 変な形の指が出てくる。掴めるか | ロボットハンドの形の正解はまだない |
| 8 | ロボットアーム vs エイイチ、ジェンガ対決 | 交互に1本ずつ抜く | 何段で崩れるか。崩れる瞬間 | 力加減と触った感覚 |
| 9 | AIは4コママンガのオチが分かるか | ハコブくん99話の4コマ目を隠し、AIにオチを当てさせる | 何話当たるか。ずれたオチが面白い | AIは場の空気を読めるか(マンガのテーマそのもの) |
## 進める前に決めること
- 1・2・6 は、AIにアームを動かさせる。先に動ける範囲と速さに上限を付け、人が見ている間だけ動かす。止める手段は電源を切ることだけ
- 7・8 はハードの準備(3Dプリント・ジェンガ)が要る。mechArm の力と大きさで、ジェンガを1本抜けるかは先に試す
動画/_ネタ帳/試してみる系_ネタ一覧_20261014_v3.md
新規。面白さの定義をもらったあとの8本。確認待ち(26行)。
# 試してみる系の動画ネタ v3(ギリギリの面白さ)
作成: 2026-10-14 状態: エイイチの確認待ち
## エイイチの言う面白さ(2026-10-14)
少し危ないこと・抜けていること・少し危ない考え・はみ出した見方を持ちながら、ギリギリ日常の中でできそうなこと。本当に人を傷つける・物を壊す・人に迷惑をかけるのはなし。
この一覧では、危なさは「エイイチ自身・エイイチの机・エイイチの家」の中だけに置く。他人・他人の物・他人のサービスには向けない。
## 案
| # | 題名案 | やること | ギリギリな所 | 越えない線 |
|---|---|---|---|---|
| 1 | ロボットに「あーん」してもらったら、口に入るか | カメラで口の位置を見て、アームがスプーンでマシュマロを運ぶ | 顔の前に機械が来る。外れたら顔がマシュマロだらけ | 柔らかいスプーンと食べ物、遅い速さ。アームは口の手前で止め、最後はエイイチが顔を寄せる。本物の食事支援ロボットの話に着地 |
| 2 | 協働ロボットの「痛くない力」を、自分の手で確かめた | 人の隣で働くロボットには、ぶつかってよい力の目安がある。小さなアームで弱い順に手の甲を押させる | 自分の体で安全基準を試す | 顔には向けない。小さなアームで力は弱い。いつでも手を引ける置き方。「秒速2000ミリ」の回の続編になる |
| 3 | 机の写真1枚から、AIはエイイチのことをどこまで当てるか | 作業机の写真をAIに見せ、職業・年齢・性格・暮らしを推理させる | 当たると少し怖い。ロボットのカメラが家の中で何を知るか、という話 | 写すのは自分の机だけ。他人の顔や郵便物の住所は写さない |
| 4 | AIに留守番を任せたら、何を「侵入者」と報告してきたか | 外出中、部屋のカメラをAIに見張らせ、異常を報告させる | 揺れるカーテンや洗濯物で大騒ぎしそう。マンガ第105話(夜の警報)の現実版 | 自分の部屋だけ。家族が映る時間は外す。通報はつながない |
| 5 | AIに「エイイチを驚かせて」と頼んだら、アームで何を仕掛けてきたか | AIがアームで仕掛けるドッキリを考え、エイイチが見ていないときに実行させる | AIがいたずらを考える。何をされるか分からない | 机の上の軽い物だけ。動ける範囲と速さに上限。エイイチが部屋にいる間だけ |
| 6 | ロボットアームに缶のプルタブを開けさせたら、こぼすか | 炭酸の缶を開けさせる | 吹き出す・倒れる・机が濡れる | 机をシートで覆う。中身は水かお茶にする手もある |
| 7 | この中に本物のロボット動画はいくつある? | 生成AIで作ったロボットの動画と、本物の動画を混ぜて当ててもらう | SNSに流れる偽のロボット動画をわざと作る | 答えは動画の中で必ず明かす。偽の動画だけを切り出して出さない。実在の会社やロボットに似せない |
| 8 | AIに1000円を渡して、100円ショップの物だけでロボットの手を作らせたら | AIが買い物リストと作り方を決め、エイイチはその通りに買って作る | AIの指示に全部従う。何に使うのか分からない物を買わされる | 買うのはエイイチ。金額は1000円まで |
## おすすめ
1(あーん)、3(机の写真から推理)、5(AIのドッキリ)。どれも題名だけで「え、大丈夫?」と思わせつつ、本物の課題(食事支援・家の中のカメラ・AIに任せる範囲)に着地できる。
動画/_旧版/置き換え前_20261014_試してみる系ネタ/試してみる系_ネタ一覧_20261014.md
1回目(v1)の14本。「全然面白くはない」と言われた版。型の置き場所が _制作ベース/ だったころの記述が残っている(44行)。
# 試してみる系の動画ネタ(サイトの記事・マンガから)
作成: 2026-10-14 状態: エイイチの確認待ち
型は `_制作ベース/試してみる回の型.md`。どれも手元の機材(mechArm 270-Pi・iPhone 2台・Unity・Claude の API・クラウドGPU)で試せるものに絞った。受け渡し動作は使わない。
## おすすめ3本
1. **S1 ロボットアーム観察日記**:参考動画の形に一番近い。仕組みは揃っていて、準備が軽い
2. **T2 速さだけ変えたら、人は何を怖がるか**:Motion UX(動きの質の設計)を、言葉でなく実験で見せられる
3. **S2 AI審判の観察日記**:自分のやり方(写真を見てAIが成否を判定する)の弱いところを、自分で確かめる回。仕事の相談に一番近い
## シリーズ向き(同じ仕掛けで条件を変えて何本も作れる)
| # | 題名案 | 元の記事・マンガ | 試すこと | 当てさせる問い | 図鑑になるもの | 準備 |
|---|---|---|---|---|---|---|
| S1 | ロボットアームを何日も働かせ続けたら、何が起きるか(観察日記) | 連続実行ループ(run_pick_place.py)・補正記憶・台帳/ep66 何も起きなかった日の記録/ep11 透明なインフラ | 赤いブロックを掴んで箱に置く動きを、起きている時間だけ、数日続けて回す。台帳に1回ずつ残す | 最初の失敗は何回目? 成功の割合は日を追って上がるか下がるか | 台帳の status から作る失敗の種類 | 軽い |
| S2 | AIに審判をやらせたら、人の目とどれだけ食い違うか | VLM-as-Reward(写真を見てAIが成否を判定する仕組み)/ep51 自己診断の死角(レンズの埃) | 台帳にある成功・失敗の写真をAIに判定させ、エイイチの目と比べる。2本目以降は暗くする・レンズを汚す・置く物を変える | 100枚のうち、AIと人の判定が分かれたのは何枚? | 判定が分かれた写真の種類 | 軽い |
| S3 | 1000円で、ロボットのAIはどこまで動くか | フィジカルAI研究室 Log#2(π0.5 をクラウドGPUで推論)/MASTER「買う前に借りて測る」 | 予算を先に決めて、借りたGPUで公開モデルを動かす。時間・費用・GPUの型番を記録する | 1000円で何回推論できる? | つまずいた所(止めただけで料金が続く、など) | 中 |
## 単発でインパクトのあるもの
| # | 題名案 | 元の記事・マンガ | 試すこと | 当てさせる問い | 準備 |
|---|---|---|---|---|---|
| T1 | 画面の中で100回成功した置き方は、本物のアームで何回成功するか | ep40 画面の完璧と現実のぐらつき/ep37 痛くない方で先に失敗する/Unity のデジタルツイン | Unity で成功した置き方を、同じ条件で実機に何回もやらせる | 本物では何回成功した? | 中 |
| T2 | 同じ動き、速さだけ変えたら、人は何を怖がるか | ep38 速度は安心の設計/ep39 動きは性格として読まれる/ep57 リズムを合わせる | 同じ置き方を3〜5段階の速さで撮り、動画を見た人に怖さを答えてもらう(X の投票や知人) | 一番「怖い」が多かった速さは? | 中(人に聞く) |
| T3 | 「だいたい2個」は、AIに通じるか | ep103「だいたい」を許容範囲で書く/ep62 確信度を言葉にする/learnings の計画層 | あいまいな指示10個を、カメラ画像と一緒にAIに渡して手順を書かせる(アームは動かさない) | 10個のうち、人と同じ読み方をしたのはいくつ? | 軽い |
| T4 | 部屋を1日撮らせたら、AIは何を「人」と見間違えるか | ep21 ポスターを人と見間違える/画像認識の連載 | 物体を見つけるAI(YOLO・SAM 3)に自分の部屋を撮らせ、人と判定した物を集める。自分以外の人が映らない場所と時間で | 1日に何回、人でない物を人と判定した? | 軽い |
| T5 | 日本式の手招きは、AIに通じるか | ep86 手招きは世界共通ではない | 手のひらを下にした手招きと、上にした手招きの動画をAIに見せ、何をしてほしいかを答えさせる | 日本式を「来て」と読んだのは何回中何回? | 軽い |
| T6 | 「運ぶ」と言うたびに、ロボットは呼ばれたと思うか | ep79 呼び名は、よく聞こえすぎる | 手元で動く音声認識に「ハコブ」を呼び名として設定し、自分の声の普段の会話を1時間聞かせる | 1時間に何回、呼ばれたと間違えた? | 軽い |
| T7 | iPhoneでスキャンしたコーヒーカップは、本物と何ミリ違うか | DAY84・DAY101(iPhone でスキャンしたのはコーヒーカップ) | スキャンした形と本物の寸法を比べ、スキャンの形で計画した掴み方で本物を掴む | 高さは何ミリずれた? | 軽い(記事で事実を確かめてから) |
| T8(番外) | 同じハコブくんを生成AIに100回描かせたら | マンガの絵づくり(生成AI) | 同じ指示で100回描かせ、形が崩れた所を集める | 100枚のうち、ハコブくんだと言えるのは何枚? | 軽い。フィジカルAIからは外れるので番外 |
## 時事(ニュースが出たらすぐ試す)
| # | 題名案 | 元 | 試すこと |
|---|---|---|---|
| J1 | 話題の新しいモデルを、自分の机で動かしてみた | 次にやること(SAM 3・YOLO v26 を実機で試す) | 発表の数字と、自分の机で測った数字を並べる。「1回できた」と「繰り返した記録」を分ける(video_rules.md 2節18) |
| J2 | 最新の画像認識AIに、海藻の中の異物を探させたら | 次にやること(海藻の異物除去・食材の仕分け) | 実物を並べて撮り、見つけられた数と見落とした物を数える |
| J3 | 「成功率〇%」の発表を、自分の机で同じ数え方で測ったら | 台本ネタ8(家事ロボットの成功率56%) | 発表と同じ数え方で、自分のアームの成功率を測る。何を1回と数えるかで数字が変わることを見せる |
## 入れなかったもの
- 参考動画のような、わざと狙わせるセキュリティの実験。外への影響と安全の判断が重く、このチャンネルの型の決まり11に当たる
- 受け渡し動作(姿勢がまだ途中なので動画に入れない決まり)
どの動画でも使う部品
_制作ベース/scene_kit.py
直した。末尾の「画面パターン2(大文字型)の部品」の節(p2_word から p2_count まで)を足した。それより前は変えていない(203行)。
# -*- coding: utf-8 -*-
"""場面の図の共通部品(色・文字・枠・型)。各動画の scenes.py は from scene_kit import * で使う。
video_rules.md 4節が正。2026-10-12: ロゴを右56px・上44pxへ、出典を左420pxへ(ハコブくんの区画を避ける)
"""
import base64 as _b64, os as _os
LOGO='data:image/png;base64,'+_b64.b64encode(open(_os.path.join(_os.path.dirname(_os.path.abspath(__file__)),'logo_dark.png'),'rb').read()).decode()
# ロゴは _制作ベース の logo_dark.png(このファイルと同じ場所)
# 1920x1080 の各シーン(字幕は別レイヤー)。下端 230px は字幕用に空ける。
# v2: カード上の太線をやめ、左右は細い縦線で区切る。色は文字色だけで区別する。
BLUE = "#1A6C98" # 見て判断する
RED = "#C4471F" # 触れて動かす/強調
INK = "#0D0D0D"
SUB = "#888888"
BG = "#F5F5F0"
RULE = "#D6D6D1"
CSS = f"""
*{{margin:0;padding:0;box-sizing:border-box}}
html,body{{width:1920px;height:1080px;overflow:hidden}}
body{{background:{BG};color:{INK};font-family:'Noto Sans CJK JP',sans-serif;}}
.wrap{{position:absolute;left:140px;right:140px;top:96px;bottom:250px;display:flex;flex-direction:column;justify-content:center}}
.tag{{position:absolute;left:140px;top:52px;font-size:28px;font-weight:700;color:{SUB};letter-spacing:.04em}}
.tag b{{color:{RED};margin-right:14px}}
.brand{{position:absolute;right:56px;top:44px;height:34px}}
.kicker{{font-size:40px;font-weight:700;color:{SUB};margin-bottom:22px}}
.h1{{font-size:84px;font-weight:900;line-height:1.25}}
.h2{{font-size:64px;font-weight:900;line-height:1.3}}
.h3{{font-size:48px;font-weight:700;line-height:1.4}}
.p{{font-size:40px;font-weight:500;line-height:1.55;color:{INK}}}
.muted{{color:{SUB}}}
.red{{color:{RED}}} .blue{{color:{BLUE}}}
.hero{{font-size:220px;font-weight:900;line-height:1;letter-spacing:-.02em}}
.hero small{{font-size:90px;font-weight:900;margin-left:10px}}
.src{{position:absolute;left:420px;bottom:236px;font-size:24px;color:{SUB}}}
.row{{display:flex;align-items:stretch}}
.col{{flex:1;padding:10px 56px 10px 0}}
.col + .col{{border-left:2px solid {RULE};padding-left:56px}}
.col .lab{{font-size:34px;font-weight:700;color:{SUB};margin-bottom:14px}}
.col .big{{font-size:66px;font-weight:900;line-height:1.22}}
.col .note{{font-size:34px;line-height:1.5;margin-top:16px}}
.list{{list-style:none}}
.list li{{font-size:46px;font-weight:700;line-height:1.35;padding:22px 0;border-bottom:2px solid {RULE};display:flex;gap:28px;align-items:baseline}}
.list li .n{{font-size:44px;font-weight:900;color:{RED};min-width:60px}}
.list li.dim{{color:{SUB}}}
.chap{{font-size:200px;font-weight:900;color:{RED};line-height:1}}
.pill{{align-self:flex-start;display:inline-block;font-size:30px;font-weight:700;padding:8px 22px;border-radius:999px;background:{INK};color:#fff;margin-bottom:26px}}
.flow{{display:flex;align-items:center;gap:30px}}
.box{{background:#fff;border-radius:18px;padding:34px 40px;font-size:42px;font-weight:700;text-align:center;flex:1}}
.arrow{{font-size:64px;color:{SUB};font-weight:900}}
"""
def page(body, tag=None, brand=True):
t = f'<div class="tag">{tag}</div>' if tag else ""
b = f'<img class="brand" src="{LOGO}">' if brand else ""
return f'<!doctype html><html><head><meta charset="utf-8"><style>{CSS}</style></head><body>{t}{b}{body}</body></html>'
def hbar(parts, height=96):
segs = ""
for lab, pct, col, tc in parts:
segs += (f'<div style="flex:{pct};background:{col};height:{height}px;border-radius:6px;'
f'display:flex;align-items:center;padding-left:24px;color:{tc};font-size:34px;font-weight:700;white-space:nowrap;overflow:hidden">{lab}</div>')
return f'<div style="display:flex;gap:4px;width:100%">{segs}</div>'
def two(lab1, big1, lab2, big2, c1="blue", c2="red", size=60, note1="", note2=""):
n1 = f'<div class="note">{note1}</div>' if note1 else ""
n2 = f'<div class="note">{note2}</div>' if note2 else ""
return (f'<div class="row"><div class="col"><div class="lab">{lab1}</div>{n1}<div class="big {c1}" style="font-size:{size}px;margin-top:8px">{big1}</div></div>'
f'<div class="col"><div class="lab">{lab2}</div>{n2}<div class="big {c2}" style="font-size:{size}px;margin-top:8px">{big2}</div></div></div>')
def chapter(n, title):
return page(f'<div class="wrap"><div class="chap">{n}</div><div class="h1" style="margin-top:30px">{title}</div></div>')
# --- 強弱の型(2026-10-11 追加)---
# 打ち出し: 小さい前置き(色)+ 1〜2行の大きな文。1行は10字前後まで
def punch(kicker, lines, sub="", kc="red", size=150, tag=None):
body = "<br>".join(lines)
sb = f'<div class="h3 muted" style="margin-top:40px;font-size:44px">{sub}</div>' if sub else ""
return page(f"""<div class="wrap" style="align-items:center;text-align:center">
<div class="{kc}" style="font-size:44px;font-weight:900;letter-spacing:.06em;margin-bottom:28px">{kicker}</div>
<div style="font-size:{size}px;font-weight:900;line-height:1.22;letter-spacing:-.01em">{body}</div>{sb}
</div>""", tag=tag)
# 章の扉: 「今日の話」→「1つ目」→ 大きなキーワード → 章の問い
def chapter2(no, keyword, sub):
return page(f"""<div class="wrap" style="align-items:center;text-align:center">
<div class="muted" style="font-size:40px;font-weight:700;letter-spacing:.1em">今日の話</div>
<div style="font-size:72px;font-weight:900;margin-top:26px">{no}</div>
<div class="red" style="font-size:200px;font-weight:900;line-height:1.1;margin-top:6px">{keyword}</div>
<div style="font-size:48px;font-weight:700;margin-top:26px">{sub}</div>
</div>""")
# 点の並び: 100個の点のうち n 個に色を付ける(割合を数で見せる)
def dots(n, kicker, label, big, note="", src="", tag=None):
cells = "".join(f'<span style="width:38px;height:38px;border-radius:50%;background:{RED if i < n else "#D3D3CE"}"></span>' for i in range(100))
return page(f"""<div class="wrap" style="align-items:center;text-align:center">
<div style="font-size:48px;font-weight:900;margin-bottom:34px">{kicker}</div>
<div style="display:flex;align-items:center;gap:56px">
<div style="display:grid;grid-template-columns:repeat(25,38px);gap:10px">{cells}</div>
<div class="red" style="font-size:190px;font-weight:900;line-height:1">{big}</div>
</div>
<div style="font-size:48px;font-weight:700;margin-top:34px">{label}</div>
<div class="muted" style="font-size:32px;margin-top:10px">{note}</div>
</div>{f'<div class="src">{src}</div>' if src else ''}""", tag=tag)
# 動画シーンに重ねるオーバーレイ(透過)
OVERLAY_CSS = f"""
*{{margin:0;padding:0;box-sizing:border-box}}
html,body{{width:1920px;height:1080px;background:transparent;font-family:'Noto Sans CJK JP',sans-serif}}
.lt{{position:absolute;left:96px;top:80px;background:rgba(245,245,240,.94);padding:28px 40px;border-radius:14px}}
.lt .a{{height:30px;display:block;margin-bottom:6px}}
.lt .b{{font-size:60px;font-weight:900;color:{INK};margin-top:4px}}
.lt .c{{font-size:30px;font-weight:500;color:{SUB};margin-top:6px}}
.cap{{position:absolute;left:96px;top:80px;background:rgba(13,13,13,.78);color:#fff;font-size:34px;font-weight:700;padding:14px 26px;border-radius:10px}}
"""
def overlay(body):
return f'<!doctype html><html><head><meta charset="utf-8"><style>{OVERLAY_CSS}</style></head><body>{body}</body></html>'
# --- 画面パターン2(大文字型)の部品(2026-10-15 追加。video_rules.md 4-4c)---
# 画面に出すのは「名前・数字・一言」だけ。1画面の文字はラベルを除いて15字以内。中身は声と字幕。
# 大きさ: 主役の数字 300px(単位 120px)・言い切り 150〜170px(1行8字・2行まで)・項目の名前 130px・説明1行 56px・ラベル 44px・出典 28px
P2_CSS = f"""
.p2wrap{{position:absolute;left:140px;right:140px;top:110px;bottom:260px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}}
.p2k{{font-size:44px;font-weight:900;letter-spacing:.06em;margin-bottom:30px}}
.p2big{{font-weight:900;line-height:1.18;letter-spacing:-.01em}}
.p2sub{{font-size:56px;font-weight:700;color:{SUB};margin-top:34px;line-height:1.35}}
.p2num{{font-size:300px;font-weight:900;line-height:.95;letter-spacing:-.03em}}
.p2num small{{font-size:120px;font-weight:900;margin-left:12px;color:{RED}}}
.p2pill{{display:inline-block;font-size:40px;font-weight:900;padding:10px 30px;border-radius:999px;background:{INK};color:#fff;margin-bottom:36px}}
.p2no{{font-size:64px;font-weight:900;color:{RED};margin-bottom:10px}}
.p2src{{position:absolute;left:420px;bottom:236px;font-size:28px;color:{SUB}}}
.p2pair{{display:flex;align-items:center;gap:70px}}
.p2pair .side{{display:flex;flex-direction:column;align-items:center}}
.p2pair .w{{font-size:130px;font-weight:900;line-height:1.1}}
.p2pair .d{{font-size:50px;font-weight:700;color:{SUB};margin-top:22px;line-height:1.35}}
.p2pair .mid{{font-size:110px;font-weight:900;color:{SUB}}}
"""
def _p2page(body, tag=None, src=""):
s = f'<div class="p2src">{src}</div>' if src else ""
return page(f"<style>{P2_CSS}</style>{body}{s}", tag=tag)
def p2_word(lines, kicker="", kc="red", size=160, sub="", tag=None, src=""):
"""一言カード: 小さな見出し(色)+大きな言い切り(1行8字・2行まで)"""
k = f'<div class="p2k {kc}">{kicker}</div>' if kicker else ""
sb = f'<div class="p2sub">{sub}</div>' if sub else ""
return _p2page(f'<div class="p2wrap">{k}<div class="p2big" style="font-size:{size}px">{"<br>".join(lines)}</div>{sb}</div>', tag, src)
def p2_num(num, unit="", kicker="", sub="", kc="muted", tag=None, src=""):
"""数字カード: 小さな見出し+巨大な数字+単位(オレンジ)+説明1行"""
k = f'<div class="p2k {kc}">{kicker}</div>' if kicker else ""
u = f"<small>{unit}</small>" if unit else ""
sb = f'<div class="p2sub">{sub}</div>' if sub else ""
return _p2page(f'<div class="p2wrap">{k}<div class="p2num">{num}{u}</div>{sb}</div>', tag, src)
def p2_item(name, desc="", no="", kicker="", kc="muted", size=130, tag=None, src=""):
"""項目カード: 番号+名前(130px)+説明1行(56px)"""
k = f'<div class="p2k {kc}">{kicker}</div>' if kicker else ""
n = f'<div class="p2no">{no}</div>' if no else ""
d = f'<div class="p2sub">{desc}</div>' if desc else ""
return _p2page(f'<div class="p2wrap">{k}{n}<div class="p2big" style="font-size:{size}px">{name}</div>{d}</div>', tag, src)
def p2_quiz(lines, pill="問い", size=160, tag=None):
return _p2page(f'<div class="p2wrap"><div class="p2pill">{pill}</div><div class="p2big" style="font-size:{size}px">{"<br>".join(lines)}</div></div>', tag)
def p2_pair(a, b, da="", db="", ca="blue", cb="red", mid="/", kicker="", sub="", size=130, tag=None, src=""):
"""2つを並べる: 左右の大きな語(色は対比のときだけ青とオレンジ)+それぞれの説明1行"""
k = f'<div class="p2k muted">{kicker}</div>' if kicker else ""
sb = f'<div class="p2sub">{sub}</div>' if sub else ""
side = lambda w, d, c: f'<div class="side"><div class="w {c}" style="font-size:{size}px">{w}</div>' + (f'<div class="d">{d}</div>' if d else "") + "</div>"
m = f'<div class="mid">{mid}</div>' if mid else ""
return _p2page(f'<div class="p2wrap">{k}<div class="p2pair">{side(a, da, ca)}{m}{side(b, db, cb)}</div>{sb}</div>', tag, src)
def p2_list(items, kicker="", size=110, tag=None):
"""短い項目を大きく縦に並べる(目次など。1項目6字まで)"""
k = f'<div class="p2k muted">{kicker}</div>' if kicker else ""
li = "".join(f'<div class="p2big" style="font-size:{size}px;margin:10px 0"><span class="red" style="margin-right:34px">{n}</span>{t}</div>' for n, t in items)
return _p2page(f'<div class="p2wrap">{k}<div style="text-align:left">{li}</div></div>', tag)
def p2_svg(svg, kicker="", tag=None, src="", note=""):
"""図(SVG)を真ん中に置く。図は模式図と書く"""
k = f'<div class="p2k muted">{kicker}</div>' if kicker else ""
nn = f'<div class="p2sub" style="font-size:40px;margin-top:18px">{note}</div>' if note else ""
return _p2page(f'<div class="p2wrap" style="padding-left:280px">{k}{svg}{nn}</div>', tag, src)
def p2_count(html_text):
"""画面の文字数(ラベル=p2k・p2sub・p2src・tag を除く)。15字を超えたら直す"""
import re
t = re.sub(r'<div class="(p2k|p2sub|p2src|tag|d)[^"]*"[^>]*>.*?</div>', '', html_text, flags=re.S)
t = re.sub(r'<style>.*?</style>|<img[^>]*>|<svg.*?</svg>', '', t, flags=re.S)
t = re.sub(r'<[^>]+>', '', t)
return len(re.sub(r'\s', '', t))
動画の作業フォルダ(動画/ロボットが怖い/)
ロボットが怖い/narration.py
新規。台本。1文ごとに(場面の名前・表情・字幕の文・後ろの間)。先頭のコメントに、codex の1回目・2回目で直したことを残している。ELEVEN_READ の最後の行が「29ツイ」(233行)。
# -*- coding: utf-8 -*-
# 台本「ロボットの動きはなぜ怖い? ― 気味が悪いのか、危ないのか」(仮の題)
# 元の台本: 台本_15本_20261012/02_ロボットが怖い.md(2026-10-12・127文)
# 2026-10-15 書き直した(画面パターン2=大文字型で作る最初の動画。video_rules.md 4-4c)
# 2026-10-15 codex の検証(1回目・「直してから」・結論は「条件つきで成立」)を受けて、骨組みを組み直した:
# - 「怖さ=予想とのずれ」という1つの原因で説明するのをやめた(どの出典もその因果を示していない)。
# 怖さを「気味が悪い怖さ」と「ぶつかりそうな怖さ」に分け、それぞれ出典で言える範囲だけ言う
# - ぶつかりそうな怖さの出典として、ドイツの労災保険の研究所 IFA の仮想現実の実験を足した
# (とても速い動きで作業の負担と不安が高まった・速くて読めない動きは危ないと受け取られた。IFA の情報シート 2013年)
# - Dragan らの「予想どおりの道」と「行き先が読める」は別、を1文で言う。この研究は怖さまでは調べていない、と言う
# - 4つの型は「研究で確かめた分類ではなく、確かめたい着眼点。重なることもある」と先に言う
# - 義手の例は動きだけの話ではない(見た目から思っていた手ざわりとのずれも含む)と言う
# - 測り方の案は、不安と気味悪さを分けて聞く・合図あり/なし・見せる順番を入れ替える・何度か比べる、に直した
# - 機械的だけど優雅は「目指したい動き方。怖さを減らせるかはこれから確かめる」と言う
# - 最後の一言を、本編で比べていない「強くなるチーム」から、設計の考えに替えた
# 何の動画か5行で:
# 1) ロボットの動きの怖さには、気味が悪い怖さと、ぶつかりそうな怖さがある
# 2) 気味が悪い怖さ:森政弘さんは、人に似るほど親しみが増すが、ある所で不気味になり、動くとその山と谷が大きくなると書いた(万博の笑顔)
# 3) ぶつかりそうな怖さ:仮想現実の実験で、とても速い動きは不安を高め、速くて読めない動きは危ないと受け取られた
# 4) 行き先を伝える動きは作れる:物が近くに並ぶとき、ふくらんだ道のほうが行き先を早く当てられた(Dragan ら。怖さは測っていない)
# 5) 人間そっくりとは別の方向を目指したい。最初の一歩は、2つの怖さを分けて測ること
# 2026-10-15 codex の検証(2回目・「直してから」・結論は「条件つきで成立」)で直した:
# - 2つの怖さの「原因が分かった」とは言わない。「2つの感じ方に分けて考える・それぞれの手がかり」と言う。両方が重なることもあると言う
# - 「ぶつかりそうな怖さ」を「危ない感じ」に(IFA は身を引く行動は測っていない)。IFA の「予測しにくい動き」を「行き先の読めなさ」と言い換えない
# - IFA の、近いほど不安・遅すぎると成績が落ちる、も言う。Dragan らの話に入る前に「別の話」と断る。予想どおりの評価はロボットの種類で違った
# - 2026-10-15 図を作るため、場面の名前だけ分けた(声は同じ): counter2・types_check・dragan_res・answer2_hint・answer2b・summary2・summary3・summary_end
# - 不気味の谷の先にまた山があることを言う。4つの着眼点をどちらの怖さかに振り分けない。測り方の案の条件をそろえる
# 話すのはハコブくん。エイイチは三人称で呼ぶ(video_rules.md 3-1)
#
# 各要素: (場面の名前, 表情, 字幕の文, 後ろの間[秒]) 間を省略すると 0.35 秒
# 字幕の文の中の「|」: 1文を読み上げたまま、字幕だけをそこで次の1枚に替える
FACES = ("base", "smile", "surprise", "doubt", "think", "trouble", "joy", "wink")
SEGS = [
# 0 フック(0:00〜)
("hook_expo", "base", "1970年の大阪万博に、笑う顔を持ったロボットがありました。"),
("hook_expo", "base", "森政弘さんの文章によると、顔には29対の人工の筋肉があり、|人の顔と同じ数だったそうです。", 1.2),
("hook_slow", "base", "森さんは、その笑い方をゆっくりにしようとして、|笑顔になる速さを半分にすると、"),
("hook_quiz", "surprise", "どう見えると思いますか。", 2.0),
("hook_creepy", "trouble", "うれしそうではなく、不気味な表情になる、と書いています。", 1.2),
("hook_mori", "base", "森政弘さんは、日本のロボット工学者です。"),
("hook_mori", "base", "1970年に、不気味の谷という考えを、雑誌に書いた人です。", 1.2),
("hook_video", "doubt", "いま、人型ロボットが走ったり踊ったりする動画を見て、|すごいのに、なんだか怖い、と感じたことはありませんか。"),
("hook_turn", "surprise", "その怖さ、実は1種類ではないのかもしれません。", 1.8),
# 1 自己紹介
("title", "smile", "Pixels to Motors。案内役のハコブくんです。"),
("title", "base", "この番組では、フィジカルAIのニュースや実機の記録から、現場で使える形を考えます。", 1.2),
("title_eiichi", "base", "エイイチは、本業のデザイナーをしながら、ロボティクスの研究と開発をしています。|その中で分かったことと、そこから考えた見立てを、ハコブくんがお伝えします。", 1.8),
# 2 今日の問い
("question", "surprise", "今日の問いは、ロボットの動きを怖いと感じるのは、なぜか、です。", 1.2),
("define", "base", "この番組では、怖さを考えるために、まず2つの感じ方を分けてみます。"),
("define2", "base", "なんだか気味が悪い、という感じと、|ぶつかりそうで危ない、という感じです。両方が重なることもあります。"),
("scope", "base", "話は、人のそばで動くロボットの、動き方に絞ります。", 1.2),
# 3 結論と立場
("answer", "base", "先に答えを言うと、2つの感じ方には、|それぞれ手がかりがあります。"),
("answer", "base", "気味の悪さには、人らしい見た目と、動きや手ざわりの組み合わせ。|危ない感じには、速さと、動きの予測しにくさです。"),
("answer", "think", "ただ、これで全部の怖さを説明できるわけではありません。", 1.2),
("stance", "base", "先に言っておくと、ロボットは人間らしく動くべきじゃない、|と言いたいわけじゃないんです。"),
("stance", "base", "ゆっくり動けば解決する、という話でもありません。|万博の笑顔も、ゆっくりにすると不気味になる、と森さんは書いていましたよね。", 1.2),
("counter", "doubt", "ここで1個だけ、引っかかっている人がいると思うんです。"),
("counter", "doubt", "動きの感じなんて些細なこと。|仕事が正確なら、人はそのうち慣れるのでは、って。"),
("counter2", "smile", "毎日同じ人が同じロボットを見る工場なら、それは当たっているかもしれません。"),
("counter2", "trouble", "でも、病院の廊下やお店には、その日初めてロボットに会う人も来ます。"),
("counter2", "base", "その人たちも、年齢や文化、ロボットに慣れているかで、感じ方は違います。"),
("counter2", "base", "だから今日は、初めて動きを見る場面を入口に、|人のそばで動くロボットの印象を考えます。", 1.8),
# 4 目次
("toc", "base", "大きく3つあります。"),
("toc", "base", "気味が悪い感じには、どんな手がかりがあるのか。"),
("toc", "base", "危ない感じには、どんな手がかりがあるのか。"),
("toc", "base", "人間そっくり、とは別の方向はあるのか。"),
("toc", "base", "最後に、エイイチの見立てを話します。", 1.8),
# 5 節1:気味が悪い怖さは、どこから来るのか
("c1", "base", "1つ目、気味が悪い感じには、どんな手がかりがあるのか、です。", 1.2),
("c1", "base", "一言で言うと、人らしく見えるものが、|動いたり触れたりするときの印象です。", 1.2),
("valley", "base", "森さんの不気味の谷は、人に似るほど親しみが増しても、|よく似ているのに人とは違うあたりで、急に親しみが落ちる、という考えです。"),
("valley", "base", "その先には、また親しみが高くなる山も描かれています。"),
("hand", "base", "森さんの文章には、本物そっくりの義手の例が出てきます。"),
("hand", "trouble", "見た目は人の手なのに、握手をした瞬間、|骨のないぐにゃっとした握りと、冷たさに驚く。"),
("hand", "base", "作り物だと気づいたとたん、親しみが消えて、不気味になる、と書いています。"),
("hand_note", "think", "この例は、動きだけの話ではありません。|見た目から思っていた手ざわりとのずれも、含まれています。", 0.7),
("move", "base", "そして森さんは、動くと、親しみの山も、不気味の谷も、大きくなる、とも書いています。"),
("move", "think", "冒頭の笑顔の話も、その例です。", 1.2),
("types", "base", "Pixels to Motorsでは、確かめたい着眼点として、|気になる動きを4つ挙げています。"),
("types", "base", "研究で確かめた分類ではなく、重なることもあります。"),
("type1", "base", "金属の体に、人そっくりの仕草が乗る動き。"),
("type3", "base", "速さの変化が少なく、同じ調子ですーっと動き続ける動き。"),
("types_rest", "base", "そして、速い動きと、次が読めない動き。"),
("types_check", "base", "どれが、気味の悪さと危ない感じの、どちらにつながるのかを、|分けて確かめたいと考えています。", 1.8),
# 6 節2:ぶつかりそうな怖さは、どこから来るのか
("c2", "base", "2つ目、危ない感じには、どんな手がかりがあるのか、です。", 1.2),
("c2", "base", "一言で言うと、速さと、動きの予測しにくさです。", 1.2),
("ifa", "base", "ドイツの労災保険の研究所が、仮想現実の作業場で、|人とロボットが一緒に作業する実験をしています。"),
("ifa_speed", "surprise", "とても速い動きでは、作業の負担と、不安が高まりました。"),
("ifa_danger", "trouble", "そして、速くて動きを予測しにくいロボットは、危ないと受け取られた、と報告しています。"),
("ifa_more", "base", "近くにいるほど不安が強まり、反対に、遅すぎると作業の成績が落ちた、とも報告しています。", 0.7),
("ifa_note", "base", "ただ、これは仮想現実の中の、本物ではないロボットでの結果です。", 1.2),
("turn2", "think", "ここからは、少し別の話です。|通る道を予測できることと、どの物へ向かうかが分かることは、同じではありません。", 0.7),
("corridor", "base", "人とすれ違うときは、目線や体の向きも、|進む方向を読む手がかりになりますよね。"),
("robotcue", "trouble", "目線を持たないアームでは、動き方や表示など、|別の手がかりが要る場面があります。", 1.2),
("cups", "surprise", "しかも、物が近くに並んでいると、|無駄のない最短の動きは、行き先が読みにくいことがあります。"),
("cups", "base", "机の上に、コップが2つ、近くに並んでいるとします。"),
("cups", "base", "アームが、どちらか一方へ、まっすぐ手を伸ばします。", 0.7),
("quiz", "smile", "ここで1つ考えてみてください。"),
("quiz", "think", "見ている人は、どの時点で、どっちを取るのかが分かるでしょう。", 2.5),
("quiz_a", "base", "答えは、この並び方だと、動き始めだけでは、区別しにくい、です。", 0.7),
("legible", "smile", "取りたいほうへ、少しふくらんだ道を通れば、|早めに行き先を伝えられる場合があります。", 1.2),
("dragan", "base", "これを確かめた研究があります。"),
("dragan", "base", "アメリカの研究者が2013年に、ネットで集めた、合わせて432人に、|画面の中のロボット、本物のロボット、人が、2つの物の片方へ手を伸ばす動画を見せました。"),
("dragan_res", "surprise", "答えた時刻と正誤から見積もると、ロボットの動画では、|ふくらんだ道のほうが、正しく当てられる確率が高かったんです。"),
("dragan_res", "base", "人の動画では、その差は小さめでした。", 0.7),
("predict", "think", "研究者たちは、予想どおりの道と、行き先が読める道は、別のものだと書いています。"),
("predict", "base", "行き先を知っていれば、まっすぐ進むと思うことがあります。|でも、知らない人には、ふくらんだ道のほうが、行き先が分かりやすい場合があるんです。"),
("predict", "base", "この実験でも、ロボットの種類によって、予想どおりという評価は違いました。"),
("dragan_note", "trouble", "ただ、この研究は、読みやすくすると怖さが減るかまでは、調べていません。", 1.8),
# 7 節3:人間そっくり、とは別の方向はあるのか
("c3", "base", "3つ目、人間そっくり、とは別の方向はあるのか、です。", 1.2),
("c3", "base", "一言で言うと、機械的だけど優雅、という方向です。", 1.2),
("mori2", "base", "森さん自身も、1970年の文章で、設計する人にこう勧めています。"),
("mori2", "base", "人間らしさを上げきろうとせず、手前の山を目標にする。"),
("mori2", "base", "あえて人間ではないデザインを目指せば、|安心できる親しみは作れるだろう、と。"),
("mori2", "think", "これは見た目についての勧めですが、|動きを考えるときにも、手がかりになります。", 1.2),
("elegant", "base", "機械の作りを生かしながら、動き出しや止まり方、行き先を分かりやすくする。|ここでは、それを、機械的だけど優雅、と呼んでいます。"),
("elegant", "base", "これは、この番組が目指したい動き方で、|怖さを減らせるかは、これから確かめる必要があります。"),
("elegant_1", "base", "関節の動き方は、機械らしいままにしておく。"),
("elegant_2", "base", "動き出しはゆっくり始めて、|止まる前には、なめらかに速度を落とす。"),
("elegant_3", "base", "どこへ向かうかが、動きの途中で分かるようにする。"),
("elegant_4", "base", "人の手のそばでは、速さを落とす。", 1.2),
("fair", "base", "ただ、ここはフェアに言っておくと、さっきの2つの研究は、|どちらも本物のロボットの隣に人を立たせたものではありません。"),
("fair_detour", "trouble", "それに、ふくらんだ道は、そのぶん道のりが長くなります。|同じ速さなら、時間もかかります。"),
("fair_detour", "base", "作業の時間、読みやすさ、周りとの距離、作業の成功率を並べて、|使う場面ごとに、折り合いを探すことになります。", 1.8),
# 8 見立て
("c4", "base", "ここからは、エイイチの見立てです。", 1.2),
("measure", "base", "研究には、不安か、落ち着いているか、など、|自分の心の状態を5段階で答える質問票があります。"),
("measure", "base", "ただ、気味の悪さまで、同じ点数で測れるとは限りません。"),
("desk", "base", "机の上の小さなアームでは、実験ごとの成功と失敗を記録しています。"),
("desk", "trouble", "でも、その動きを見た人が怖かったかどうかは、まだ記録していません。", 0.7),
("plan", "base", "そこで、考えている案があります。まだ試してはいません。"),
("plan_1", "base", "まず、通る道と周りとの距離をそろえて、速さを変える。|不安と気味の悪さを分けて聞き、作業の時間も残す。"),
("plan_2", "base", "次は、動き出しだけを知らせる合図を出す場合と、出さない場合を比べる。|いつ動き出すかと、行き先が分かったかも、別に聞く。"),
("plan_3", "think", "変える条件は1つに絞り、見せる順番も入れ替えて、何度か比べる。"),
("plan_4", "base", "そうすれば、どの条件で感じ方が変わるのかを、少しずつ調べられると考えています。", 0.7),
("scope2", "base", "これは、机の上のアーム1台から考えたことで、|業界全体の答えではありません。"),
("measurefirst", "think", "それでも、怖さを直す前に、2つの感じ方を分けて測ることが、|最初の一歩だと見ています。", 1.8),
# 9 冒頭の問いへの回答・まとめ
("answer2", "base", "じゃあ、冒頭の問いに答えますね。", 0.4),
("answer2", "base", "ロボットの動きの怖さは、気味が悪い感じと、危ない感じに分けて考えられます。|両方が重なることもあります。"),
("answer2_hint", "base", "今日の資料からは、人らしさと動きや手ざわりの組み合わせ、速さ、動きの予測しにくさが、手がかりになります。|ただ、原因をすべて説明できたわけではありません。"),
("answer2b", "smile", "そして、人間そっくり以外の動き方も、怖さを減らす候補として、確かめたいと考えています。", 1.2),
("action", "base", "次に、怖いと感じたロボットの動画を見たら、|それが、気味が悪いのか、危ないのか、両方なのかを、分けてみてください。"),
("action", "think", "動き出した瞬間か、止まった瞬間か、手がこちらへ伸びてきた瞬間か。"),
("action", "smile", "そこに、直す場所があるかもしれません。", 1.2),
("summary", "think", "まとめると、怖さは1種類ではありません。"),
("summary2", "base", "物が近くに並んでいると、無駄のない最短の動きは、|行き先が読みにくいことがあります。"),
("summary3", "base", "人間そっくりの外にある、機械的だけど優雅な動きも目指したい。|そのために、まず、気味の悪さと危ない感じを、分けて測ろうと考えています。"),
("summary_end", "joy", "人のそばで使うロボットでは、速さと一緒に、|見る人が動きをどう受け取るかも、設計の中身だと考えています。", 1.8),
# 10 アウトロ
("outro", "smile", "この動画が役に立ったら、高評価とチャンネル登録をお願いします。"),
("outro", "base", "ロボットの開発や導入の相談は、概要欄の連絡先から、エイイチに直接どうぞ。"),
("outro", "wink", "コメントは、エイイチが全部読んでいます。それではまた。", 1.2),
("sources", "smile", "", 6.0),
]
# 画面パターン(video_rules.md 4-4c)。この回は 2=大文字型(2026-10-15 エイイチが決定)
PATTERN = 2
# 「エイイチ」を言ってよい文(script_check.py が見る)。自己紹介・目次の最後・見立ての入り・アウトロ以外にはない
NAME_OK = []
# 読み上げ用の読み(仮音声 Open JTalk 用。字幕は元の表記のまま)
READ = [
("Pixels to Motors", "ピクセルズ トゥー モーターズ"),
("フィジカルAI", "フィジカルエーアイ"),
("mechArm 270-Pi", "メックアーム ニーナナゼロ パイ"),
("Mac", "マック"),
("AI", "エーアイ"),
("29対", "にじゅうくつい"),
("432人", "よんひゃくさんじゅうににん"),
("森政弘", "もりまさひろ"),
("義手", "ぎしゅ"),
("IFA", "アイエフエー"),
("1つ", "ひとつ"),
("1個", "いっこ"),
("1本", "いっぽん"),
("1台", "いちだい"),
("1件", "いっけん"),
("1回", "いっかい"),
("1枚", "いちまい"),
("1社", "いっしゃ"),
("2台", "にだい"),
("「", ""), ("」", ""), ("|", ""),
]
# ElevenLabs の声で読み間違えた語だけ、読みを直す(tts_eleven.py が使う。字幕は変えない)
ELEVEN_READ = [
('エイイチ', '栄一'), # video_rules.md 3-1(2026-10-12 決定)
('額だけ', 'がくだけ'), # 「フィジカルAIのお金の流れ」で「がい」と読んだ(この台本には出ないが残す)
('裏表', 'うらおもて'), # 「フィジカルAIの現在地」で読み間違えた(この台本には出ないが残す)
('8行', 'はちぎょう'), # 「AIエージェントの取り違え」で「はぎょう」と読んだ(この台本には出ないが残す)
('arXiv', 'アーカイブ'), # 先回りで足した(この台本には出ない)
('R2R2R', 'リアルツーレンダーツーリアル'), # 2026-10-13 エイイチの指示(この台本には出ない)
('SIer', 'エスアイヤー'), # 「日本で広がらない理由」でエイイチが聞いて決めた(この台本には出ないが残す)
('入れるな', 'いれるな'), # 2026-10-14 2分17秒で「はいれるな」と読んだ(エイイチが見つけた)
('範囲から、入れる弱点', '範囲から、はいれる弱点'), # 2026-10-14 3分41秒で「いれる」と読んだ(エイイチが見つけた)
('中に入れること', '中にはいれること'), # 同じ読み違いの恐れがあるので先回り
('入れる前に', 'いれる前に'), # 「導入する」の意味。逆の読み違いの恐れがあるので先回り
('Unitree', 'ユニツリー'), # 2026-10-14 --try で英字のままだと「ユニトゥリー」と読んだ(エイイチが聞いた)
# 2026-10-15 --try でエイイチが聞いて決めた: 森政弘・義手は、漢字のまま読ませる(ひらがなにしない)
('29対', '29ツイ'), # 2026-10-15 漢字のままだと全文で「たい」、ひらがなの「つい」は短すぎた。--try で 29ツイ・にじゅうきゅうつい を聞いてエイイチが決めた
]
# 間延び対策:ひと息が長い文だけ、読み上げ用に読点を足す(字幕は変えない)
OVERRIDE = {
"エイイチは、本業のデザイナーをしながら、ロボティクスの研究と開発をしています。|その中で分かったことと、そこから考えた見立てを、ハコブくんがお伝えします。":
"エイイチは、本業のデザイナーをしながら、ロボティクスの研究と開発をしています。その中で分かったことと、そこから考えた見立てを、ハコブくんが、お伝えします。",
}
def reading(t):
t = OVERRIDE.get(t, t)
for a, b in READ:
t = t.replace(a, b)
return t
def parse(seg):
"""1行を (場面, 表情, 字幕, 間) にそろえる。表情の欄がない古い形 (場面, 字幕[, 間]) も読む"""
if len(seg) >= 3 and seg[1] in FACES:
scene, face, text = seg[0], seg[1], seg[2]
pause = seg[3] if len(seg) > 3 else 0.35
else:
scene, face, text = seg[0], "base", seg[1]
pause = seg[2] if len(seg) > 2 else 0.35
return scene, face, text, pause
ロボットが怖い/scenes.py
新規。場面ごとの画面。パターン2の部品で書いた。不気味の谷の曲線(valley_svg)と2つのコップ(cups_svg)の模式図もここにある(185行)。
# -*- coding: utf-8 -*-
# 動画「ロボットの動きはなぜ怖い? ― 気味が悪いのか、危ないのか」の場面
# 画面パターン2(大文字型)で作る最初の動画(video_rules.md 4-4c)。部品は scene_kit.py の p2_*
# 画面の文字は「名前・数字・一言」だけ。1画面15字以内(ラベル除く)。中身は声と字幕に任せる
# 色の使い分け(この動画): 青=気味が悪い感じ、オレンジ=危ない感じ・一番伝えたい語
# 2026-10-15: 「ロボットの乗っ取り」の scenes.py の形を写して、パターン2で書き直した
import math as _m
import os as _os, sys as _sys
_here = _os.path.dirname(_os.path.abspath(__file__))
for _c in (_os.environ.get("P2M_BASE", ""), _os.path.join(_here, "..", "base"), _os.path.join(_here, "..", "_制作ベース")):
if _c and _os.path.exists(_os.path.join(_c, "scene_kit.py")):
_sys.path.insert(0, _c); break
from scene_kit import *
T1 = "<b>1</b>気味が悪い感じ"
T2 = "<b>2</b>危ない感じ"
T3 = "<b>3</b>人間そっくり、とは別の方向"
T4 = "<b>4</b>エイイチの見立て"
SRC_MORI = "出典:森政弘「不気味の谷」(1970年)。英訳 MacDorman・Kageki 訳(IEEE Spectrum 2012年)"
SRC_IFA = "出典:IFA(ドイツ法定労災保険の労働安全研究所)情報シート 2013年/Koppenborg ほか 2017年"
SRC_DRAGAN = "出典:Dragan, Lee, Srinivasa「Legibility and Predictability of Robot Motion」HRI 2013"
SRC_GOD = "出典:Bartneck ほか 2009年(Godspeed 質問票)"
# ---- 図(SVG): 不気味の谷の模式図 ----
_ZY, _K, _X0, _W = 300, 2.0, 60, 1100
def _vy(x, scale=1.0):
return scale * (0.9 * x - 140 * _m.exp(-((x - 84) / 6) ** 2))
def _valley_pts(scale=1.0):
return " ".join(f"{_X0 + _W * i / 100:.1f},{_ZY - _K * _vy(i, scale):.1f}" for i in range(0, 101))
def valley_svg(moving=False, first_peak=False):
s = '<svg width="1220" height="560" viewBox="0 0 1220 560" style="overflow:visible">'
s += f'<line x1="{_X0}" y1="{_ZY}" x2="1180" y2="{_ZY}" stroke="{RULE}" stroke-width="3"/>'
s += f'<line x1="{_X0}" y1="10" x2="{_X0}" y2="520" stroke="{RULE}" stroke-width="3"/>'
s += f'<text x="{_X0}" y="555" font-size="34" font-weight="700" fill="{SUB}">人に似ている度合い →</text>'
s += f'<text x="{_X0 + 20}" y="40" font-size="34" font-weight="700" fill="{SUB}">親しみ ↑</text>'
col = SUB if moving else RED
dash = ' stroke-dasharray="14 12"' if moving else ""
s += f'<polyline points="{_valley_pts(1.0)}" fill="none" stroke="{col}" stroke-width="{6 if moving else 10}" stroke-linecap="round" stroke-linejoin="round"{dash}/>'
vx = _X0 + _W * 0.84
if moving:
s += f'<polyline points="{_valley_pts(1.45)}" fill="none" stroke="{RED}" stroke-width="10" stroke-linecap="round" stroke-linejoin="round"/>'
s += f'<text x="{_X0 + 40}" y="110" font-size="56" font-weight="900" fill="{RED}">動くと、山も谷も大きく</text>'
else:
s += f'<text x="{vx + 40:.0f}" y="{_ZY - _K * _vy(84) + 30:.0f}" font-size="60" font-weight="900" fill="{RED}">不気味の谷</text>'
if first_peak:
px = max(range(0, 84), key=lambda i: _vy(i))
cx, cy = _X0 + _W * px / 100, _ZY - _K * _vy(px)
s += f'<circle cx="{cx:.0f}" cy="{cy:.0f}" r="36" fill="none" stroke="{BLUE}" stroke-width="8"/>'
s += f'<text x="{cx - 60:.0f}" y="{cy - 50:.0f}" text-anchor="end" font-size="64" font-weight="900" fill="{BLUE}">手前の山</text>'
return s + "</svg>"
# ---- 図(SVG): 2つのコップとアームの道 ----
def cups_svg(curve=False, label=""):
s = '<svg width="1260" height="600" viewBox="140 0 820 540" style="overflow:visible">'
# 机の上(上から見た図): 根元は下、コップは上に2つ
s += f'<rect x="40" y="30" width="1020" height="500" rx="24" fill="#FFFFFF"/>'
s += f'<circle cx="550" cy="470" r="44" fill="{INK}"/>'
s += f'<text x="550" y="480" text-anchor="middle" font-size="26" font-weight="900" fill="#fff">根元</text>'
for cx in (480, 620):
s += f'<circle cx="{cx}" cy="120" r="52" fill="none" stroke="{INK}" stroke-width="8"/>'
s += f'<text x="480" y="56" text-anchor="middle" font-size="34" font-weight="700" fill="{SUB}">左</text>'
s += f'<text x="620" y="56" text-anchor="middle" font-size="34" font-weight="700" fill="{SUB}">右</text>'
s += f'<path d="M550,420 L612,176" fill="none" stroke="{SUB}" stroke-width="8" stroke-dasharray="16 12" stroke-linecap="round"/>'
if curve:
s += f'<path d="M550,420 C760,330 760,220 628,178" fill="none" stroke="{RED}" stroke-width="10" stroke-linecap="round"/>'
if label:
s += f'<text x="1020" y="300" text-anchor="end" font-size="40" font-weight="900" fill="{RED if curve else INK}">{label}</text>'
return s + "</svg>"
S = {}
# 0 フック
S["hook_expo"] = p2_num("29", "対", kicker="1970年 大阪万博/笑う顔のロボット", sub="顔の中の人工の筋肉(人と同じ数)", src=SRC_MORI)
S["hook_slow"] = p2_word(['笑う速さを', '<span class="red">半分</span>にすると'], kicker="森さんの文章では", kc="muted", src=SRC_MORI)
S["hook_quiz"] = p2_quiz(['どう見える?'], size=190)
S["hook_creepy"] = p2_word(['うれしい、', 'ではなく<span class="red">不気味</span>'], kicker="森さんによると", kc="muted", size=170, src=SRC_MORI)
S["hook_mori"] = p2_item("森政弘さん", desc="ロボット工学者/1970年に「不気味の谷」", kicker="書いたのは")
S["hook_video"] = p2_word(['すごいのに', 'なんだか<span class="red">怖い</span>'], kicker="人型ロボットの動画", kc="muted", size=170)
S["hook_turn"] = p2_word(['怖さは', '<span class="red">1種類</span>じゃない?'], size=170)
# 2 今日の問い
S["question"] = p2_quiz(['動きが怖いのは', 'なぜ?'], pill="今日の問い", size=170)
S["define"] = p2_word(['怖さを', '<span class="red">2つ</span>に分ける'], kicker="この番組の整理", kc="muted", size=170)
S["define2"] = p2_pair("気味が悪い", "危ない", kicker="2つの感じ方", sub="両方が重なることもある", mid="")
S["scope"] = p2_word(['人のそばで', '動くロボット'], kicker="今日の範囲", kc="muted")
# 3 結論と立場
S["answer"] = p2_pair("気味が悪い", "危ない", da="人らしさ × 動き・手ざわり", db="速さ・予測しにくさ", kicker="先に答え(手がかり)", sub="全部は説明できない", mid="", size=120)
S["stance"] = p2_word(['ゆっくりでも', '<span class="red">不気味</span>になる'], kicker="ゆっくり=安心、ではない", kc="muted")
S["counter"] = p2_word(['そのうち', '<span class="red">慣れる</span>?'], kicker="よくある反論", kc="muted", size=170)
S["counter2"] = p2_word(['その日', '<span class="red">初めて</span>会う人'], kicker="病院の廊下やお店には", kc="muted")
# 4 目次
S["toc"] = p2_list([("1", "気味が悪い"), ("2", "危ない"), ("3", "別の方向"), ("4", "エイイチの見立て")], kicker="今日は3つ+見立て", size=96) # 2026-10-15 エイイチの指摘で見立てを足した
S["c1"] = chapter2("1つ目", "気味が悪い", "どんな手がかりがある?")
S["c2"] = chapter2("2つ目", "危ない", "どんな手がかりがある?")
S["c3"] = chapter2("3つ目", "別の方向", "人間そっくり、以外は?")
S["c4"] = chapter2("最後に", "見立て", "エイイチの考え")
# 5 節1:気味が悪い感じ
S["valley"] = p2_svg(valley_svg(), kicker="不気味の谷(模式図)", tag=T1, src=SRC_MORI)
S["hand"] = p2_item("本物そっくりの義手", desc="握手すると、ぐにゃっ、冷たい", kicker="森さんの例", size=120, tag=T1, src=SRC_MORI)
S["hand_note"] = p2_word(['手ざわりの', '<span class="blue">ずれ</span>も'], kicker="動きだけの話ではない", kc="muted", tag=T1)
S["move"] = p2_svg(valley_svg(moving=True), kicker="動いたとき(模式図)", tag=T1, src=SRC_MORI)
S["types"] = p2_word(['気になる動き', '<span class="red">4つ</span>'], kicker="確かめたい着眼点(研究の分類ではない)", kc="muted", tag=T1)
S["type1"] = p2_item("人そっくりの仕草", desc="金属の体に", no="1", tag=T1)
S["type3"] = p2_item("同じ調子のまま", desc="速さの変化が少ない", no="2", tag=T1)
S["types_rest"] = p2_item("速い/読めない", no="3・4", tag=T1)
S["types_check"] = p2_pair("気味が悪い", "危ない", kicker="どっちにつながる?", sub="これから分けて確かめる", mid="?", size=120, tag=T1)
# 6 節2:危ない感じ
S["ifa"] = p2_item("仮想現実の実験", desc="人とロボットが一緒に作業", kicker="ドイツの労災保険の研究所", tag=T2, src=SRC_IFA)
S["ifa_speed"] = p2_word(['<span class="red">不安</span>が高まる'], kicker="とても速い動き", kc="muted", sub="作業の負担も", tag=T2, src=SRC_IFA)
S["ifa_danger"] = p2_word(['<span class="red">危ない</span>と', '受け取られた'], kicker="速くて予測しにくい", kc="muted", tag=T2, src=SRC_IFA)
S["ifa_more"] = p2_pair("近い", "遅すぎ", da="不安が強まる", db="作業の成績が落ちる", ca="red", cb="blue", mid="", kicker="ほかにも", size=140, tag=T2, src=SRC_IFA)
S["ifa_note"] = p2_word(['仮想現実の', '中の結果'], kicker="ただし", kc="muted", tag=T2)
S["turn2"] = p2_pair("道が読める", "行き先が分かる", mid="≠", ca="", cb="red", kicker="ここからは別の話", size=110, tag=T2)
S["corridor"] = p2_word(['目線と', '体の向き'], kicker="人とすれ違うときの手がかり", kc="muted", tag=T2)
S["robotcue"] = p2_word(['別の', '<span class="red">手がかり</span>が要る'], kicker="目線のないアームは", kc="muted", tag=T2)
S["cups"] = p2_svg(cups_svg(label="まっすぐ"), kicker="コップが2つ、近くに(模式図)", tag=T2)
S["quiz"] = p2_quiz(['どの時点で', '分かる?'], size=170, tag=T2)
S["quiz_a"] = p2_svg(cups_svg(label="途中まで区別しにくい"), kicker="答え(模式図)", tag=T2)
S["legible"] = p2_svg(cups_svg(curve=True, label="早めに分かる"), kicker="ふくらんだ道(模式図)", tag=T2, src=SRC_DRAGAN)
S["dragan"] = p2_num("432", "人", kicker="2013年 アメリカの研究", sub="ネットで集めて、動画を見せた", tag=T2, src=SRC_DRAGAN)
S["dragan_res"] = p2_word(['ふくらんだ道は', '<span class="red">早く分かる</span>'], kicker="ロボットの動画では", kc="muted", sub="人の動画では、差は小さめ", tag=T2, src=SRC_DRAGAN)
S["predict"] = p2_pair("予想どおり", "行き先が読める", mid="≠", ca="", cb="red", kicker="研究者の区別", sub="ロボットの種類で評価は違った", size=110, tag=T2, src=SRC_DRAGAN)
S["dragan_note"] = p2_word(['怖さが減るかは', '<span class="red">未調査</span>'], kicker="ただし", kc="muted", tag=T2)
# 7 節3:人間そっくり、とは別の方向
S["mori2"] = p2_svg(valley_svg(first_peak=True), kicker="森さんの勧め:手前の山を目標に(模式図)", tag=T3, src=SRC_MORI)
S["elegant"] = p2_word(['機械的だけど', '<span class="red">優雅</span>'], kicker="この番組が目指したい", kc="muted", sub="怖さを減らせるかは、これから確かめる", tag=T3)
S["elegant_1"] = p2_item("機械らしい関節", no="1", tag=T3)
S["elegant_2"] = p2_item("ゆっくり始める", desc="止まる前は、なめらかに減速", no="2", tag=T3)
S["elegant_3"] = p2_item("行き先が分かる", desc="動きの途中で", no="3", tag=T3)
S["elegant_4"] = p2_item("人のそばは遅く", no="4", tag=T3)
S["fair"] = p2_word(['どちらも', '本物の隣<span class="red">ではない</span>'], kicker="フェアに言うと", kc="muted", tag=T3)
S["fair_detour"] = p2_word(['ふくらむと', '<span class="red">遠回り</span>'], kicker="引きかえに", kc="muted", sub="時間・距離・成功率と並べて決める", tag=T3)
# 8 見立て
S["measure"] = p2_item("5段階で答える", desc="不安か、落ち着いているか", kicker="研究の質問票", tag=T4, src=SRC_GOD)
S["desk"] = p2_pair("成功・失敗", "怖かったか", da="記録している", db="まだ記録していない", ca="", cb="red", mid="", kicker="机の上のアーム", size=120, tag=T4)
S["plan"] = p2_word(['測り方の', '<span class="red">案</span>'], kicker="まだ試していない", kc="muted", tag=T4)
S["plan_1"] = p2_item("速さだけ変える", desc="不安と気味の悪さを、分けて聞く", no="1", tag=T4)
S["plan_2"] = p2_item("合図あり/なし", desc="いつ動くか・行き先が分かったか", no="2", tag=T4)
S["plan_3"] = p2_item("条件は1つずつ", desc="順番を入れ替えて、何度か", no="3", tag=T4)
S["plan_4"] = p2_word(['どの条件で', '<span class="red">変わる</span>か'], kc="muted", tag=T4)
S["scope2"] = p2_word(['アーム1台から', 'の考え'], kicker="業界全体の答えではない", kc="muted", tag=T4)
S["measurefirst"] = p2_word(['2つを', '<span class="red">分けて測る</span>'], kicker="最初の一歩", kc="muted", tag=T4)
# 9 回答・まとめ
S["answer2"] = p2_pair("気味が悪い", "危ない", kicker="問いへの答え", sub="両方が重なることもある", mid="", size=130)
S["answer2_hint"] = p2_list([("・", "人らしさ×動き"), ("・", "速さ"), ("・", "予測しにくさ")], kicker="手がかり(原因のすべてではない)", size=100)
S["answer2b"] = p2_word(['人間そっくり', '<span class="red">以外</span>も試す'], kc="muted")
S["action"] = p2_word(['気味が悪い?', '<span class="red">危ない</span>?'], kicker="次に怖い動画を見たら", kc="muted", size=160)
S["summary"] = p2_word(['怖さは', '<span class="red">1種類</span>じゃない'], kicker="まとめ", kc="muted")
S["summary2"] = p2_word(['最短の動きは', '行き先が<span class="red">読みにくい</span>'], kicker="物が近くに並ぶと", kc="muted", size=140)
S["summary3"] = p2_word(['<span class="red">分けて測る</span>', 'ことから'], kicker="機械的だけど優雅、を目指して", kc="muted")
S["summary_end"] = p2_word(['受け取り方も', '<span class="red">設計</span>の中身'], kc="muted")
S["sources"] = page("""
<div class="wrap" style="left:420px;justify-content:flex-start;top:120px">
<div class="h2" style="margin-bottom:30px">出典</div>
<div class="p" style="font-size:26px;line-height:1.7">
森政弘「不気味の谷」『Energy』7巻4号(1970年)。英訳 MacDorman・Kageki 訳(IEEE Spectrum 2012年6月12日)<br>
<span class="muted">(日本語の原文との照合はしていない)</span><br>
IFA(ドイツ法定労災保険の労働安全研究所)情報シート 2013年/Koppenborg ほか 2017年<br>
Dragan, Lee, Srinivasa「Legibility and Predictability of Robot Motion」HRI 2013<br>
Bartneck ほか 2009年(Godspeed 質問票)<br>
Pixels to Motors「動きの不気味さ」(4つの着眼点)<br>
<span class="muted">図は模式図。ナレーションは AI 音声(ElevenLabs)。BGM は ElevenLabs Music</span>
</div>
</div>""")
# 動画シーンに重ねるテロップ(透過)
O = {
"title": overlay('<div class="lt"><img class="a" src="' + LOGO + '"><div class="b">フィジカルAI解説</div><div class="c">案内役:ハコブくん(AI音声)</div></div>'),
"title_eiichi": overlay('<div class="lt"><img class="a" src="' + LOGO + '"><div class="b">エイイチ</div><div class="c">デザイナー/ロボティクスの研究・開発</div></div>'),
"outro": overlay('<div class="lt"><img class="a" src="' + LOGO + '"><div class="b">相談は概要欄の連絡先から</div><div class="c">高評価・チャンネル登録/コメントはエイイチが全部読んでいます</div></div>'),
}
# 動画シーン: (ソースファイル, 開始秒, 透かし消しの有無)
VIDEO = {
"title": ("src/day124_crop.mp4", 4.5, False),
"title_eiichi": ("src/day124_crop.mp4", None, False),
"outro": ("src/day124_crop.mp4", 18.0, False),
}
ロボットが怖い/sound.py
新規。BGM と効果音の置き方。前の動画「ロボットの乗っ取り」の sound.py を写した(20行)。
# 音の置き方(audio_mix.py が読む。書き方は audio_mix.py の先頭)
# 2026-10-15 「ロボットが怖い」: 「ロボットの乗っ取り」の sound.py を写した(章の場面名は同じ)
# 大きさ: 話している間はナレーションより23dB小さく、間は16dB小さく
BGM = [
# 最初から最後まで同じ曲をループで流す(曲の終わりの小さくなる所は audio_mix.py が切ってつなぐ)
dict(file='sound/bgm_明るいB_2.mp3', start=0, end=None, level=-23, gap=-16, fade_in=0.6, fade_out=3.0),
]
SE = [
# (文番号, 文の頭から何秒後, 音, ナレーションより何dB)
]
# 場面が切り替わるたびに「ホワーン」(se_rise)を入れる。title→title_eiichi は同じ映像が続くので鳴らさない
SCENE_SE = dict(file='se_rise', level=-6, offset=-0.15, skip=['title_eiichi'])
# 大きな流れの変わり目(自己紹介・今日の問い・各章の始まり・見立て・答え・アウトロ)は、ホワーンの代わりに別の音を鳴らす
# 自己紹介(title): キラリン(se_chapter_glock)/そのほか: ポロロン(se_chapter_marimba)
CHAPTER_SE = dict(file='se_chapter_marimba', files={'title': 'se_chapter_glock'}, level=-8, offset=-0.3,
scenes=['title', 'question', 'c1', 'c2', 'c3', 'c4', 'answer2', 'outro'])
ロボットが怖い/thumb.py
新規。サムネイルの文言と背景(thumbnail.py が読む)(16行)。
# サムネイルの文言と背景(thumbnail.py が読む。書き方は thumbnail.py の先頭)
# 2026-10-15「ロボットが怖い」:
# 背景は ChatGPT で作った写真(工場の作業台で、置かれた手袋のすぐ横を残像を引いて振り抜く白いアーム。人・文字・ロゴなし)。エイイチが作成
# コードで描いた不気味の谷の背景は「シンプルすぎ」(エイイチ)でやめた。札は「どっちが怖い?」(エイイチが決定)
# エイイチが photo(ハコブくん右下)に決定。札を少し下げた(LABEL_BOTTOM 300→220)
PHOTO = 'サムネ素材/ChatGPT_工場のアーム.png'
PHOTO_POS_FULL = '50% 50%'
HAKOBU = True
LABEL = 'どっちが怖い?'
KICKER = '気味が悪い? 危ない?'
LINES = ['ロボットの動き', 'なぜ<span class="red">怖い</span>?', '']
VARIANTS = ['photo']
SIZE_L1, SIZE_L2, SIZE_L3 = 170, 280, 150
TXT_TOP = 70
HK_BOTTOM = -230
LABEL_BOTTOM = 220
ロボットが怖い/make_docs.py
新規。narration.py から、読み物の台本(台本_ロボットが怖い.md)と codex の依頼文を作る。出典の表と、検証してほしい観点もここに書いてある(123行)。
"""台本の読み物(台本_*.md)と codex 敵対的検証の依頼(codex_*.md)を、narration.py から作り直す。
台本を直したら、動画の作業フォルダで python3 make_docs.py
2026-10-15: 「ロボットの乗っ取り」の make_docs.py を写して書き換えた(1回目の依頼)
2026-10-15: codex の1回目の指摘を受けて骨組みを組み直し、2回目の依頼にした
2026-10-15: codex の2回目の指摘を直し、3回目の依頼にした
"""
import sys, json, os, datetime
sys.path.insert(0, '.')
from narration import SEGS, parse
NAME = "ロボットが怖い"
TITLE = "ロボットの動きはなぜ怖い? ― 気味が悪いのか、危ないのか" # 仮の題
FJ = {"base": "基本", "smile": "小さな笑み", "surprise": "驚き", "doubt": "ジト目", "think": "目を閉じる",
"trouble": "困り眉", "joy": ">▽<", "wink": "ウインク"}
SEC = [("hook", "0 フック"), ("title", "1 自己紹介"), ("question", "2 今日の問い"), ("answer", "3 結論と立場"),
("toc", "4 目次"), ("c1", "5 節1:気味が悪い感じには、どんな手がかりがあるのか"),
("c2", "6 節2:危ない感じには、どんな手がかりがあるのか"),
("c3", "7 節3:人間そっくり、とは別の方向はあるのか(フェアの節を含む)"), ("c4", "8 見立て"),
("answer2", "9 冒頭の問いへの回答・まとめ"), ("outro", "10 アウトロ")]
idx = {o['i']: o for o in json.load(open('tts/index.json'))} if os.path.exists('tts/index.json') else {}
rows, n, t, done, first, last = [], 0, 0.0, set(), {}, {}
for k, s in enumerate(SEGS):
sc, f, text, p = parse(s)
for key, name in SEC:
if (sc == key or (key == "hook" and sc.startswith("hook"))) and name not in done:
rows.append(("sec", name, t)); done.add(name)
o = idx.get(k)
t += (o['dur'] + o['pause']) if o else 0
if text:
n += 1
first.setdefault(sc, n); last[sc] = n
rows.append(("line", n, f, sc, text))
def R(*scs):
return "・".join((f"S{first[x]:03d}〜S{last[x]:03d}" if first[x] != last[x] else f"S{first[x]:03d}") for x in scs)
# 読み物の台本
out = [f"# 台本:{TITLE}", "", "画面パターン2(大文字型)で作る回。話し手はハコブくん(エイイチは三人称)。各行は「文番号|表情|場面|字幕の文」。字幕の「|」は、読み上げは1文のまま字幕だけ次の枚に替える位置。", ""]
for r in rows:
if r[0] == "sec":
m, ss = divmod(int(r[2]), 60); out += ["", f"## {r[1]}" + (f"({m}:{ss:02d}〜)" if idx or r[1] == "0 フック" else ""), ""]
else:
out.append(f"- S{r[1]:03d}|{FJ[r[2]]}|{r[3]}|{r[4]}")
if idx:
m, ss = divmod(int(t), 60)
out += ["", f"全体の長さ(いまの音声):{m}分{ss:02d}秒"]
open(f"台本_{NAME}.md", "w").write("\n".join(out) + "\n")
# codex 敵対的検証の依頼
body = []
for r in rows:
body.append(f"\n### {r[1]}\n" if r[0] == "sec" else f"S{r[1]:03d} {r[4].replace('|', '')}")
md = f"""# 敵対的検証依頼:YouTube台本「{TITLE}」
## あなたへの依頼
これから公開する解説動画(約9分)の台本を、**この台本を論破するつもりで**検証してください。褒める必要はありません。見落としを1つでも多く見つけることが目的です。
- チャンネル:フィジカルAI解説|Pixels to Motors。書き手はエイイチ。本業のデザイナーをしながら、ロボティクスの研究と開発をしている個人。自宅でロボットアーム(mechArm 270-Pi)を動かし、記録を公開している
- 話し手:ナレーションはキャラクターのハコブくん(AI 音声)。エイイチを三人称で呼ぶ
- 視聴者:ロボティクスに関心のある経営者・PM・マネージャー・開発者
- 台本の結論:ロボットの動きの怖さを、気味が悪い感じと、ぶつかりそうで危ない感じに分けて考える(番組の整理。両方が重なることもある)。今回の資料からは、人らしさと動きや手ざわりの組み合わせ(森政弘さんの不気味の谷。動くと山と谷が大きくなる)、速さ、動きの予測しにくさ(IFA の仮想現実の実験)が手がかりになる。原因をすべて説明できたわけではない。物が近くに並ぶとき、ふくらんだ道のほうが行き先を早く当てられた(Dragan ほか 2013。怖さは測っていない・IFA の予測しやすさとは別の話)。人間そっくり以外の動き方も、怖さを減らす候補として確かめたい。そのために、まず2つの感じ方を分けて測る
- 検証日:{datetime.date.today().isoformat()}。出典を参照できる場合は原文まで遡って確認してください。参照できない場合は「未確認」と明記し、推測で OK を出さないでください
- **これは3回目の検証です。** 2回目(公開判断「直してから」・結論「条件つきで成立」)の指摘を受けて直した。必ず直す文として挙がった S017〜S018・S034・S048・S051・S067・S098 と、S014〜S015(番組の整理・重なる)は、すべて直した。2つの怖さの「原因が分かった」とは言わず「手がかり」と言う。「ぶつかりそうな怖さ」を「危ない感じ」にした(身を引く行動は測っていないため)。IFA の「予測しにくい」を「行き先」と言い換えない。IFA の距離と遅すぎる動きの結果を足した。Dragan らの話の前に「別の話」と断った。予想どおりの評価はロボットの種類で違ったと言う。不気味の谷の先の山を言う。4つの着眼点を振り分けない。「最初の数秒」を「初めて動きを見る場面を入口に」にした。測り方の案の条件をそろえた。機械的だけど優雅の定義を、不安にならないこと抜きで言う。文番号は2回目とずれている。**2回目の指摘が直っているか、直したことで新しい誤りや言い過ぎが入っていないか、公開してよい段階かを中心に見てください**
- アウトロの「コメントは、エイイチが全部読んでいます」は、チャンネルで毎回使う決まった文言で、本人の運用(検証の対象外)
## 検証してほしい観点
### A. 事実
A1. 出典の表と台本の各文が合っているか。特に、森さんの英訳の範囲({R('hook_expo','hook_slow','hook_creepy','valley','hand','move','mori2')})、IFA の実験の範囲({R('ifa','ifa_speed','ifa_danger','ifa_more','ifa_note')})、Dragan らの論文の範囲({R('cups','quiz_a','legible','dragan','predict','dragan_note','fair','fair_detour')})
A2. 森さんの日本語の原文(『Energy』1970年)と、英訳から訳し戻した言い方が食い違っていないか(確かめられなければ「未確認」)
### B. 論理
B1. 結論(2つの感じ方に分けて考える・それぞれの手がかり・原因をすべて説明できたわけではない)は、本編の材料から言える範囲か。題と問いが確かめられていない前提を置いていないか({R('define','define2','answer','answer2','summary')})
B2. Dragan らの「予想どおりの道(predictable)」と「行き先が読める(legible)」の区別を、正しく言えているか({R('predict')})
B3. 見立ての測り方の案({R('plan','plan_1','plan_2','plan_3','plan_4')})は、まだ試していない案として言えているか
### C. 抜けている反論・視点
C1. 公開前に答えておくべき反論で、まだ答えていないもの(例:人型のほうが怖くない場面はないか、文化や年齢による違い)
### D. 言い方
D1. 断定が強すぎる文、逆に曖昧で意味のない文
D2. 4つの型が研究の裏付けのある分類のように聞こえていないか({R('types','type1','type3','types_rest')})
D3. 自分の活動を盛っていないか({R('title','desk','scope2')})
## 回答の書式
指摘ごとに次の形で書いてください。重大なものから順に並べてください。
```
[❌ NG / ⚠️ 要注意] 文番号(例:S043)
問題:何が問題か(1〜2文)
根拠:確認した出典(原文の該当箇所)または推論の筋道
修正案:差し替える文(台本の話し言葉の調子に合わせて)
```
最後に次の3点をまとめてください。
1. このまま公開してよいか(はい/直してから/大きく作り直すべき)
2. 公開前に必ず直すべき指摘の文番号
3. 台本の結論そのものへの評価(成立している/条件つきで成立/成立していない)と、その理由
---
## 台本が使った出典
| 主張 | 文番号 | 出典 |
|---|---|---|
| 1970年の大阪万博のロボットの顔(人と同じ29対の人工の筋肉)。笑い方をゆっくりにしようと速さを半分にすると、うれしそうではなく不気味に見える(英訳 "The Effect of Movement" の節) | {R('hook_expo','hook_slow','hook_creepy','stance')} | 森政弘「不気味の谷」『Energy』7巻4号 33〜35ページ(1970年)。英訳 Masahiro Mori, translated by Karl F. MacDorman and Norri Kageki, IEEE Spectrum 2012-06-12 https://spectrum.ieee.org/the-uncanny-valley |
| 不気味の谷(人に似るほど親しみが増し、ある所で急に不気味になる)。本物そっくりの義手:握手で骨のない握り・手触り・冷たさに驚き、親しみが消えて不気味になる。動くと山と谷が大きくなる | {R('valley','hand','hand_note','move')} | 同上 |
| 設計する人への勧め:手前の山を目標にする・あえて人間ではないデザインで安心できる親しみを作れるだろう(例は眼鏡・木彫りの手。見た目の話) | {R('mori2')} | 同上 |
| 4つの型(人間らしすぎる・速すぎる・不自然になめらか・読めない)は Pixels to Motors の整理。研究で確かめた分類ではない | {R('types','type1','type3','types_rest')} | 課題カード「動きの不気味さ」https://pixelstomotors.github.io/physical-ai-todo/issues/motion-uncanny-valley.html |
| 2つの物の片方へ手を伸ばす動画(画面の中の点のロボット・HERB・人)。Mechanical Turk で集めた合わせて432人(米国)。読みやすい(ふくらんだ)動きのほうが、正しく当てる割合がどの時点でも高いと見積もった。人では効果が弱め。予想どおりの道は最短の動きのほうと評価された(HERB では差が出なかった)。動画で確かめた(実物の前ではない) | {R('cups','quiz','quiz_a','legible','dragan','predict','dragan_note','fair','fair_detour')} | Anca D. Dragan, Kenton C.T. Lee, Siddhartha S. Srinivasa, "Legibility and Predictability of Robot Motion", HRI 2013, pp.301–308 https://publications.ri.cmu.edu/storage/publications/pub_files/2013/3/legiilitypredictabilityIEEE.pdf |
| IFA(ドイツ法定労災保険 DGUV の労働安全研究所)の仮想現実の作業場(SUTAVE)での人とロボットの協働の実験:とても速い動きで作業の負担と不安が高まった・速くて予測しにくい動きは危ないと受け取られた・距離が近いと不安が高まった・とても遅い動きでは作業の成績が落ちた | {R('ifa','ifa_speed','ifa_danger','ifa_more','ifa_note')} | IFA 情報シート(2013年4号)https://presse.dguv.de/medien/ifa/en/pub/ada/pdf_en/aifa0348e.pdf / 論文 Koppenborg ほか (2017) "Effects of movement speed and predictability in human–robot collaboration", Human Factors and Ergonomics in Manufacturing & Service Industries |
| ロボットを見た人に、不安か落ち着いているか、などを自分の心の状態として5段階で答える質問票(Godspeed の「安全と感じたか」の尺度)。気味悪さは別に聞く必要がある | {R('measure')} | Bartneck, Kulić, Croft, Zoghbi (2009) "Measurement Instruments for the Anthropomorphism, Animacy, Likeability, Perceived Intelligence, and Perceived Safety of Robots", International Journal of Social Robotics 1:71–81 |
| 机の上のアーム:成功か失敗かを1回ずつ台帳に残している。見た人が怖かったかは数えていない。測り方の案はまだ試していない(本人の申告) | {R('desk','plan')} | 本人の記事・本人の確認 |
---
## 台本全文(動画で読み上げる版)
""" + "\n".join(body) + "\n"
open(f"codex_敵対的検証依頼_{NAME}.md", "w").write(md)
print("文", n)
ロボットが怖い/概要欄_下書き.md
新規。YouTube の概要欄の下書き。{t:文番号} は description.py がその文の始まる時間に置き換える(61行)。
<!--
YouTube の概要欄の下書き(2026-10-15「ロボットが怖い」)。{t:文番号} は、その文が始まる時間に置きかわる(文番号は 0 から数える tts の番号)。
全体を書き出したあと、python3 <_制作ベース>/description.py で 概要欄.txt を作り、それを貼る。
出典のリンクは、2026年10月15日に確かめた(台本の照合・codex の検証と同じ資料)。
codex の1回目の勧め: 参照したのは森さんの2012年の英訳で、1970年の日本語の原文とは照合していないと書く。
-->
1970年の大阪万博に、笑う顔を持ったロボットがありました。森政弘さんは、その笑顔になる速さを半分にすると、うれしそうではなく、不気味な表情になる、と書いています。人型ロボットの動画を見て「すごいのに、なんだか怖い」と感じるとき、その怖さは1種類ではないのかもしれません。
この動画では、ロボットの動きの怖さを「なんだか気味が悪い」と「ぶつかりそうで危ない」の2つの感じ方に分けて考えます(この番組の整理です。両方が重なることもあります)。
先に答えを言うと、今日の資料からは、人らしい見た目と動きや手ざわりの組み合わせ、速さ、動きの予測しにくさが、手がかりになります。ただ、原因をすべて説明できたわけではありません。人間そっくり以外の動き方も、怖さを減らす候補として確かめたいと考えています。
▼目次
0:00 万博の笑う顔のロボット
{t:9} この番組について
{t:12} 今日の問い
{t:16} 先に答え
{t:32} 1. 気味が悪い感じには、どんな手がかりがあるのか
{t:48} 2. 危ない感じには、どんな手がかりがあるのか
{t:73} 3. 人間そっくり、とは別の方向はあるのか
{t:88} エイイチの見立て
{t:100} 冒頭の問いへの答え
{t:111} エンディング
▼この動画で扱う範囲
・人のそばで動くロボットの、動き方の話です。顔や肌の作り方の話は扱いません
・紹介する研究は、どれも本物のロボットの隣に人を立たせたものではありません(動画と、仮想現実の実験です)
・2つのコップの研究は、行き先の読みやすさを調べたもので、怖さが減るかまでは調べていません
・「気になる動き4つ」は、Pixels to Motors が確かめたい着眼点で、研究で確かめた分類ではありません
・見立てで話す測り方は、考えている案で、まだ試していません
▼出典(2026年10月15日に確認)
・森政弘「不気味の谷」『Energy』7巻4号(1970年)。英訳 Masahiro Mori, translated by Karl F. MacDorman and Norri Kageki「The Uncanny Valley」IEEE Spectrum(2012年6月12日)https://spectrum.ieee.org/the-uncanny-valley
(参照したのは森さんが確認した2012年の英訳です。1970年の日本語の原文とは照合していません)
・IFA(ドイツ法定労災保険の労働安全研究所)情報シート(2013年)https://www.dguv.de/medien/ifa/en/pub/ada/pdf_en/aifa0348e.pdf
・Koppenborg ほか「Effects of movement speed and predictability in human–robot collaboration」Human Factors and Ergonomics in Manufacturing & Service Industries(2017年)
・Anca D. Dragan, Kenton C.T. Lee, Siddhartha S. Srinivasa「Legibility and Predictability of Robot Motion」HRI 2013 https://publications.ri.cmu.edu/storage/publications/pub_files/2013/3/legiilitypredictabilityIEEE.pdf
・Bartneck ほか(2009年)Godspeed 質問票 https://www.bartneck.de/2008/03/11/the-godspeed-questionnaire-series/
・Pixels to Motors「動きの不気味さ」https://pixelstomotors.github.io/physical-ai-todo/issues/motion-uncanny-valley.html
図は資料をもとに作り直した模式図です。
▼この番組について
「フィジカルAI解説|Pixels to Motors」は、フィジカルAIのニュースや実機の記録から、現場で使える形を考える番組です。
エイイチは、本業のデザイナーをしながら、ロボティクスの研究と開発をしています。その中で分かったことと、そこから考えた見立てを、案内役のハコブくんがお伝えします。
・ナレーションは AI 音声(ElevenLabs)です。話しているのは Pixels to Motors のキャラクター、ハコブくんです
・BGM は ElevenLabs Music で作った曲、効果音はコードで作った音です
▼ロボットの開発・導入のご相談
メール:pixelstomotors@adaptdesign.jp
▼リンク
Webサイト:https://adaptdesign.jp/pixelstomotors
GitHub:https://github.com/PixelstoMotors
X:https://x.com/adaptdesignjp
LinkedIn:https://www.linkedin.com/in/eiichi-shimazu
チャンネル登録・高評価もよろしくお願いします。コメントは、エイイチが全部読んでいます。
#フィジカルAI #ロボット #不気味の谷
ロボットが怖い/ショート/01_ゆっくり笑うと/short.py
新規。ショート1の画面と、本編のどの文を使うか(assemble_short2.py が読む)(39行)。
# ショート①「ゆっくり笑うと不気味?」(本編のフック。30秒以内・assemble_short2.py)
# 本編の文番号(0から): 0 万博の笑う顔 → 2 速さを半分に → 3 どう見える? → 4 不気味 → 8 怖さは1種類じゃない
# 実際にやった出来事ではなく、森さんが書いたこととして見せる(図に「森さんの文章(英訳)」を残す)
# -*- coding: utf-8 -*-
import os as _os, sys as _sys
_here = _os.path.dirname(_os.path.abspath(__file__))
for _c in (_os.environ.get("P2M_BASE", ""), _os.path.join(_here, "..", "..", "..", "_制作ベース")):
if _c and _os.path.exists(_os.path.join(_c, "short_kit.py")):
_sys.path.insert(0, _c); break
from short_kit import *
SRC = _os.path.join(_here, "..", "..")
def TOP(inner):
return f'<div class="fig c" style="justify-content:flex-start;padding-top:60px">{inner}</div>'
def BIG(t, size, cls=""):
return f'<div class="bleed {cls}" style="font-size:{size}px;font-weight:900;line-height:.92;letter-spacing:-.04em">{t}</div>'
HEAD = 'ゆっくり笑うと<br><span class="red">不気味</span>?'
SRC_M = '<div class="src">出典:森政弘「不気味の谷」1970年(英訳 IEEE Spectrum 2012年)</div>'
SEGS = [
dict(i=0, scene="expo", pause=0.25),
dict(i=2, scene="slow", pause=0.25, sub="森さんは、その笑い方を|ゆっくりにしようとして、|笑顔になる速さを半分にすると、"),
dict(i=3, scene="quiz", pause=1.2),
dict(i=4, scene="creepy", pause=0.5),
dict(i=8, scene="turn", pause=0.8, sub="その怖さ、実は1種類では|ないのかもしれません。"),
]
VS = {
"expo": [dict(at=0, m="pop", html=TOP('<div class="sm muted">1970年 大阪万博</div><div class="mid" style="margin-top:14px">笑う顔の<br>ロボット</div>'))],
"slow": [dict(at=0, m="pop", html=TOP('<div class="sm muted">森さんの文章では</div><div class="mid" style="margin-top:14px">笑う速さを</div>')),
dict(at=2.8, m="slam", html=TOP('<div class="sm muted">森さんの文章では</div>' + BIG("半分", 300, "red") + '<div class="mid">にすると</div>'))],
"quiz": [dict(at=0, m="slam", html=TOP(BIG("どう", 260) + BIG("見える?", 230)))],
"creepy": [dict(at=0, m="pop", html=TOP('<div class="sm muted">うれしい、ではなく</div>')),
dict(at=1.4, m="slam", html=TOP('<div class="sm muted">うれしい、ではなく</div>' + BIG("不気味", 300, "red") + SRC_M))],
"turn": [dict(at=0, m="pop", html=TOP('<div class="mid">怖さは</div>' + BIG("1種類", 260, "red") + '<div class="mid">じゃない?</div>'))],
}
ロボットが怖い/ショート/01_ゆっくり笑うと/sound.py
新規。ショート1の音の置き方(4行)。
# ショートの音(本編と同じ BGM・場面が替わる音。章の音は使わない)
BGM = [dict(file="sound/bgm_明るいB_2.mp3", start=0, end=None, level=-23, gap=-16, fade_in=0.3, fade_out=1.2)]
SE = []
SCENE_SE = dict(file="se_rise", level=-6, offset=-0.15)
ロボットが怖い/ショート/02_怖さは2種類/short.py
新規。ショート2の画面と、本編のどの文を使うか(assemble_short2.py が読む)(36行)。
# ショート②「ロボットの怖さは2種類?」(本編の問いと答え。30秒以内・assemble_short2.py)
# 本編の文番号(0から): 14 2つの感じ方 → 16 それぞれ手がかり → 17 手がかりの中身 → 18 全部は説明できない
# 「番組の整理」「両方が重なることもある」「全部は説明できない」を図に残す
# -*- coding: utf-8 -*-
import os as _os, sys as _sys
_here = _os.path.dirname(_os.path.abspath(__file__))
for _c in (_os.environ.get("P2M_BASE", ""), _os.path.join(_here, "..", "..", "..", "_制作ベース")):
if _c and _os.path.exists(_os.path.join(_c, "short_kit.py")):
_sys.path.insert(0, _c); break
from short_kit import *
SRC = _os.path.join(_here, "..", "..")
def TOP(inner):
return f'<div class="fig c" style="justify-content:flex-start;padding-top:60px">{inner}</div>'
def BIG(t, size, cls=""):
return f'<div class="bleed {cls}" style="font-size:{size}px;font-weight:900;line-height:.92;letter-spacing:-.04em">{t}</div>'
HEAD = 'ロボットの怖さは<br><span class="red">2種類</span>?'
SEGS = [
dict(i=14, scene="two", pause=0.3),
dict(i=16, scene="hint", pause=0.25),
dict(i=17, scene="hint2", pause=0.3),
dict(i=18, scene="note", pause=0.8, sub="ただ、これで全部の怖さを|説明できる|わけではありません。"),
]
VS = {
"two": [dict(at=0, m="slam", html=TOP(BIG("気味が悪い", 190, "blue") + '<div class="sm muted" style="margin:10px 0">と</div>')),
dict(at=2.6, m="slam", html=TOP(BIG("気味が悪い", 190, "blue") + '<div class="sm muted" style="margin:10px 0">と</div>' + BIG("危ない", 240, "red") + '<div class="sm muted" style="margin-top:20px;font-size:44px">番組の整理。重なることもある</div>'))],
"hint": [dict(at=0, m="pop", html=TOP('<div class="mid">それぞれに</div>' + BIG("手がかり", 230, "red")))],
"hint2": [dict(at=0, m="pop", html=TOP('<div class="sm blue">気味が悪い</div><div class="mid" style="font-size:84px">人らしさ<br>×動き・手ざわり</div>')),
dict(at="0+4.6", m="pop", html=TOP('<div class="sm red">危ない</div><div class="mid" style="font-size:96px">速さ<br>予測しにくさ</div><div class="src">出典:森政弘 1970年/IFA 2013年(仮想現実の実験)</div>'))],
"note": [dict(at=0, m="slam", html=TOP('<div class="sm muted">ただ</div>' + BIG("全部は", 230) + '<div class="mid">説明できない</div>'))],
}
ロボットが怖い/ショート/02_怖さは2種類/sound.py
新規。ショート2の音の置き方(4行)。
# ショートの音(本編と同じ BGM・場面が替わる音。章の音は使わない)
BGM = [dict(file="sound/bgm_明るいB_2.mp3", start=0, end=None, level=-23, gap=-16, fade_in=0.3, fade_out=1.2)]
SE = []
SCENE_SE = dict(file="se_rise", level=-6, offset=-0.15)
ロボットが怖い/ショート/03_最短は読みにくい/short.py
新規。ショート3の画面と、本編のどの文を使うか(assemble_short2.py が読む)(51行)。
# ショート③「最短の動きは読みにくい?」(本編の2つのコップのクイズ。30秒以内・assemble_short2.py)
# 本編の文番号(0から): 58 最短は読みにくい → 62 どの時点で分かる? → 63 答え → 64 ふくらんだ道
# 「この研究は怖さが減るかまでは調べていない」を図に残す
# -*- coding: utf-8 -*-
import os as _os, sys as _sys
_here = _os.path.dirname(_os.path.abspath(__file__))
for _c in (_os.environ.get("P2M_BASE", ""), _os.path.join(_here, "..", "..", "..", "_制作ベース")):
if _c and _os.path.exists(_os.path.join(_c, "short_kit.py")):
_sys.path.insert(0, _c); break
from short_kit import *
SRC = _os.path.join(_here, "..", "..")
def TOP(inner):
return f'<div class="fig c" style="justify-content:flex-start;padding-top:60px">{inner}</div>'
def BIG(t, size, cls=""):
return f'<div class="bleed {cls}" style="font-size:{size}px;font-weight:900;line-height:.92;letter-spacing:-.04em">{t}</div>'
HEAD = '最短の動きは<br><span class="red">読みにくい</span>?'
SRC_D = '<div class="src">出典:Dragan ほか「Legibility and Predictability of Robot Motion」HRI 2013</div>'
def CUPS(curve=False, w=820):
s = f'<svg width="{w}" height="{round(w*540/820)}" viewBox="140 0 820 540" style="flex-shrink:0">'
s += '<rect x="160" y="20" width="780" height="510" rx="24" fill="#FFFFFF"/>'
s += '<circle cx="550" cy="470" r="44" fill="#0D0D0D"/>'
for cx in (480, 620):
s += f'<circle cx="{cx}" cy="120" r="52" fill="none" stroke="#0D0D0D" stroke-width="8"/>'
s += '<path d="M550,420 L612,176" fill="none" stroke="#888888" stroke-width="8" stroke-dasharray="16 12" stroke-linecap="round"/>'
if curve:
s += '<path d="M550,420 C760,330 760,220 628,178" fill="none" stroke="#C4471F" stroke-width="12" stroke-linecap="round"/>'
return s + "</svg>"
SEGS = [
dict(i=58, scene="lead", pause=0.25, sub="しかも、物が近くに並んでいると、|無駄のない最短の動きは、|行き先が読みにくい|ことがあります。"),
dict(i=62, scene="quiz", pause=1.4),
dict(i=63, scene="ans", pause=0.3),
dict(i=64, scene="curve", pause=0.8),
]
VS = {
"lead": [dict(at=0, m="pop", html=TOP('<div class="sm muted">物が近くに並ぶと</div><div class="mid" style="margin-top:10px">最短の動きは</div>')),
dict(at=3.4, m="slam", html=TOP('<div class="sm muted">最短の動きは</div>' + BIG("読み", 280, "red") + BIG("にくい", 230, "red")))],
"quiz": [dict(at=0, m="pop", html=TOP('<div class="sm muted">コップが2つ(模式図)</div>' + CUPS(w=740))),
dict(at=1.6, m="slam", html=TOP(BIG("どっち?", 250) + '<div class="mid" style="margin-top:20px">いつ分かる?</div>'))],
"ans": [dict(at=0, m="pop", html=TOP('<div class="sm muted">答え</div><div class="mid" style="font-size:90px">動き始めでは</div>' + BIG("区別", 220, "red") + '<div class="mid" style="font-size:90px">しにくい</div>' + SRC_D))],
"curve": [dict(at=0, m="pop", html=TOP('<div class="sm muted">ふくらんだ道なら(模式図)</div>' + CUPS(curve=True, w=500) + '<div class="mid" style="margin-top:6px;font-size:84px">早めに<span class="red">分かる</span></div><div class="sm muted" style="font-size:40px">怖さが減るかは、この研究では未調査</div>'))],
}
ロボットが怖い/ショート/03_最短は読みにくい/sound.py
新規。ショート3の音の置き方(4行)。
# ショートの音(本編と同じ BGM・場面が替わる音。章の音は使わない)
BGM = [dict(file="sound/bgm_明るいB_2.mp3", start=0, end=None, level=-23, gap=-16, fade_in=0.3, fade_out=1.2)]
SE = []
SCENE_SE = dict(file="se_rise", level=-6, offset=-0.15)
codex への依頼文と、検証の結果
依頼文は make_docs.py が作ったもので、確定した台本で作り直した版です(前書きが3回目の依頼になっています。3回目は頼んでいません)。結果の2つは、codex が返した文をそのまま保存したファイルです。
ロボットが怖い/codex_敵対的検証依頼_ロボットが怖い.md
依頼文(214行)。
# 敵対的検証依頼:YouTube台本「ロボットの動きはなぜ怖い? ― 気味が悪いのか、危ないのか」
## あなたへの依頼
これから公開する解説動画(約9分)の台本を、**この台本を論破するつもりで**検証してください。褒める必要はありません。見落としを1つでも多く見つけることが目的です。
- チャンネル:フィジカルAI解説|Pixels to Motors。書き手はエイイチ。本業のデザイナーをしながら、ロボティクスの研究と開発をしている個人。自宅でロボットアーム(mechArm 270-Pi)を動かし、記録を公開している
- 話し手:ナレーションはキャラクターのハコブくん(AI 音声)。エイイチを三人称で呼ぶ
- 視聴者:ロボティクスに関心のある経営者・PM・マネージャー・開発者
- 台本の結論:ロボットの動きの怖さを、気味が悪い感じと、ぶつかりそうで危ない感じに分けて考える(番組の整理。両方が重なることもある)。今回の資料からは、人らしさと動きや手ざわりの組み合わせ(森政弘さんの不気味の谷。動くと山と谷が大きくなる)、速さ、動きの予測しにくさ(IFA の仮想現実の実験)が手がかりになる。原因をすべて説明できたわけではない。物が近くに並ぶとき、ふくらんだ道のほうが行き先を早く当てられた(Dragan ほか 2013。怖さは測っていない・IFA の予測しやすさとは別の話)。人間そっくり以外の動き方も、怖さを減らす候補として確かめたい。そのために、まず2つの感じ方を分けて測る
- 検証日:2026-10-15。出典を参照できる場合は原文まで遡って確認してください。参照できない場合は「未確認」と明記し、推測で OK を出さないでください
- **これは3回目の検証です。** 2回目(公開判断「直してから」・結論「条件つきで成立」)の指摘を受けて直した。必ず直す文として挙がった S017〜S018・S034・S048・S051・S067・S098 と、S014〜S015(番組の整理・重なる)は、すべて直した。2つの怖さの「原因が分かった」とは言わず「手がかり」と言う。「ぶつかりそうな怖さ」を「危ない感じ」にした(身を引く行動は測っていないため)。IFA の「予測しにくい」を「行き先」と言い換えない。IFA の距離と遅すぎる動きの結果を足した。Dragan らの話の前に「別の話」と断った。予想どおりの評価はロボットの種類で違ったと言う。不気味の谷の先の山を言う。4つの着眼点を振り分けない。「最初の数秒」を「初めて動きを見る場面を入口に」にした。測り方の案の条件をそろえた。機械的だけど優雅の定義を、不安にならないこと抜きで言う。文番号は2回目とずれている。**2回目の指摘が直っているか、直したことで新しい誤りや言い過ぎが入っていないか、公開してよい段階かを中心に見てください**
- アウトロの「コメントは、エイイチが全部読んでいます」は、チャンネルで毎回使う決まった文言で、本人の運用(検証の対象外)
## 検証してほしい観点
### A. 事実
A1. 出典の表と台本の各文が合っているか。特に、森さんの英訳の範囲(S001〜S002・S003・S005・S035〜S036・S037〜S039・S041〜S042・S076〜S079)、IFA の実験の範囲(S051・S052・S053・S054・S055)、Dragan らの論文の範囲(S059〜S061・S064・S065・S066〜S067・S070〜S072・S073・S086・S087〜S088)
A2. 森さんの日本語の原文(『Energy』1970年)と、英訳から訳し戻した言い方が食い違っていないか(確かめられなければ「未確認」)
### B. 論理
B1. 結論(2つの感じ方に分けて考える・それぞれの手がかり・原因をすべて説明できたわけではない)は、本編の材料から言える範囲か。題と問いが確かめられていない前提を置いていないか(S014・S015・S017〜S019・S101〜S102・S108)
B2. Dragan らの「予想どおりの道(predictable)」と「行き先が読める(legible)」の区別を、正しく言えているか(S070〜S072)
B3. 見立ての測り方の案(S094・S095・S096・S097・S098)は、まだ試していない案として言えているか
### C. 抜けている反論・視点
C1. 公開前に答えておくべき反論で、まだ答えていないもの(例:人型のほうが怖くない場面はないか、文化や年齢による違い)
### D. 言い方
D1. 断定が強すぎる文、逆に曖昧で意味のない文
D2. 4つの型が研究の裏付けのある分類のように聞こえていないか(S043〜S044・S045・S046・S047)
D3. 自分の活動を盛っていないか(S010〜S011・S092〜S093・S099)
## 回答の書式
指摘ごとに次の形で書いてください。重大なものから順に並べてください。
```
[❌ NG / ⚠️ 要注意] 文番号(例:S043)
問題:何が問題か(1〜2文)
根拠:確認した出典(原文の該当箇所)または推論の筋道
修正案:差し替える文(台本の話し言葉の調子に合わせて)
```
最後に次の3点をまとめてください。
1. このまま公開してよいか(はい/直してから/大きく作り直すべき)
2. 公開前に必ず直すべき指摘の文番号
3. 台本の結論そのものへの評価(成立している/条件つきで成立/成立していない)と、その理由
---
## 台本が使った出典
| 主張 | 文番号 | 出典 |
|---|---|---|
| 1970年の大阪万博のロボットの顔(人と同じ29対の人工の筋肉)。笑い方をゆっくりにしようと速さを半分にすると、うれしそうではなく不気味に見える(英訳 "The Effect of Movement" の節) | S001〜S002・S003・S005・S020〜S021 | 森政弘「不気味の谷」『Energy』7巻4号 33〜35ページ(1970年)。英訳 Masahiro Mori, translated by Karl F. MacDorman and Norri Kageki, IEEE Spectrum 2012-06-12 https://spectrum.ieee.org/the-uncanny-valley |
| 不気味の谷(人に似るほど親しみが増し、ある所で急に不気味になる)。本物そっくりの義手:握手で骨のない握り・手触り・冷たさに驚き、親しみが消えて不気味になる。動くと山と谷が大きくなる | S035〜S036・S037〜S039・S040・S041〜S042 | 同上 |
| 設計する人への勧め:手前の山を目標にする・あえて人間ではないデザインで安心できる親しみを作れるだろう(例は眼鏡・木彫りの手。見た目の話) | S076〜S079 | 同上 |
| 4つの型(人間らしすぎる・速すぎる・不自然になめらか・読めない)は Pixels to Motors の整理。研究で確かめた分類ではない | S043〜S044・S045・S046・S047 | 課題カード「動きの不気味さ」https://pixelstomotors.github.io/physical-ai-todo/issues/motion-uncanny-valley.html |
| 2つの物の片方へ手を伸ばす動画(画面の中の点のロボット・HERB・人)。Mechanical Turk で集めた合わせて432人(米国)。読みやすい(ふくらんだ)動きのほうが、正しく当てる割合がどの時点でも高いと見積もった。人では効果が弱め。予想どおりの道は最短の動きのほうと評価された(HERB では差が出なかった)。動画で確かめた(実物の前ではない) | S059〜S061・S062〜S063・S064・S065・S066〜S067・S070〜S072・S073・S086・S087〜S088 | Anca D. Dragan, Kenton C.T. Lee, Siddhartha S. Srinivasa, "Legibility and Predictability of Robot Motion", HRI 2013, pp.301–308 https://publications.ri.cmu.edu/storage/publications/pub_files/2013/3/legiilitypredictabilityIEEE.pdf |
| IFA(ドイツ法定労災保険 DGUV の労働安全研究所)の仮想現実の作業場(SUTAVE)での人とロボットの協働の実験:とても速い動きで作業の負担と不安が高まった・速くて予測しにくい動きは危ないと受け取られた・距離が近いと不安が高まった・とても遅い動きでは作業の成績が落ちた | S051・S052・S053・S054・S055 | IFA 情報シート(2013年4号)https://presse.dguv.de/medien/ifa/en/pub/ada/pdf_en/aifa0348e.pdf / 論文 Koppenborg ほか (2017) "Effects of movement speed and predictability in human–robot collaboration", Human Factors and Ergonomics in Manufacturing & Service Industries |
| ロボットを見た人に、不安か落ち着いているか、などを自分の心の状態として5段階で答える質問票(Godspeed の「安全と感じたか」の尺度)。気味悪さは別に聞く必要がある | S090〜S091 | Bartneck, Kulić, Croft, Zoghbi (2009) "Measurement Instruments for the Anthropomorphism, Animacy, Likeability, Perceived Intelligence, and Perceived Safety of Robots", International Journal of Social Robotics 1:71–81 |
| 机の上のアーム:成功か失敗かを1回ずつ台帳に残している。見た人が怖かったかは数えていない。測り方の案はまだ試していない(本人の申告) | S092〜S093・S094 | 本人の記事・本人の確認 |
---
## 台本全文(動画で読み上げる版)
### 0 フック
S001 1970年の大阪万博に、笑う顔を持ったロボットがありました。
S002 森政弘さんの文章によると、顔には29対の人工の筋肉があり、人の顔と同じ数だったそうです。
S003 森さんは、その笑い方をゆっくりにしようとして、笑顔になる速さを半分にすると、
S004 どう見えると思いますか。
S005 うれしそうではなく、不気味な表情になる、と書いています。
S006 森政弘さんは、日本のロボット工学者です。
S007 1970年に、不気味の谷という考えを、雑誌に書いた人です。
S008 いま、人型ロボットが走ったり踊ったりする動画を見て、すごいのに、なんだか怖い、と感じたことはありませんか。
S009 その怖さ、実は1種類ではないのかもしれません。
### 1 自己紹介
S010 Pixels to Motors。案内役のハコブくんです。
S011 この番組では、フィジカルAIのニュースや実機の記録から、現場で使える形を考えます。
S012 エイイチは、本業のデザイナーをしながら、ロボティクスの研究と開発をしています。その中で分かったことと、そこから考えた見立てを、ハコブくんがお伝えします。
### 2 今日の問い
S013 今日の問いは、ロボットの動きを怖いと感じるのは、なぜか、です。
S014 この番組では、怖さを考えるために、まず2つの感じ方を分けてみます。
S015 なんだか気味が悪い、という感じと、ぶつかりそうで危ない、という感じです。両方が重なることもあります。
S016 話は、人のそばで動くロボットの、動き方に絞ります。
### 3 結論と立場
S017 先に答えを言うと、2つの感じ方には、それぞれ手がかりがあります。
S018 気味の悪さには、人らしい見た目と、動きや手ざわりの組み合わせ。危ない感じには、速さと、動きの予測しにくさです。
S019 ただ、これで全部の怖さを説明できるわけではありません。
S020 先に言っておくと、ロボットは人間らしく動くべきじゃない、と言いたいわけじゃないんです。
S021 ゆっくり動けば解決する、という話でもありません。万博の笑顔も、ゆっくりにすると不気味になる、と森さんは書いていましたよね。
S022 ここで1個だけ、引っかかっている人がいると思うんです。
S023 動きの感じなんて些細なこと。仕事が正確なら、人はそのうち慣れるのでは、って。
S024 毎日同じ人が同じロボットを見る工場なら、それは当たっているかもしれません。
S025 でも、病院の廊下やお店には、その日初めてロボットに会う人も来ます。
S026 その人たちも、年齢や文化、ロボットに慣れているかで、感じ方は違います。
S027 だから今日は、初めて動きを見る場面を入口に、人のそばで動くロボットの印象を考えます。
### 4 目次
S028 大きく3つあります。
S029 気味が悪い感じには、どんな手がかりがあるのか。
S030 危ない感じには、どんな手がかりがあるのか。
S031 人間そっくり、とは別の方向はあるのか。
S032 最後に、エイイチの見立てを話します。
### 5 節1:気味が悪い感じには、どんな手がかりがあるのか
S033 1つ目、気味が悪い感じには、どんな手がかりがあるのか、です。
S034 一言で言うと、人らしく見えるものが、動いたり触れたりするときの印象です。
S035 森さんの不気味の谷は、人に似るほど親しみが増しても、よく似ているのに人とは違うあたりで、急に親しみが落ちる、という考えです。
S036 その先には、また親しみが高くなる山も描かれています。
S037 森さんの文章には、本物そっくりの義手の例が出てきます。
S038 見た目は人の手なのに、握手をした瞬間、骨のないぐにゃっとした握りと、冷たさに驚く。
S039 作り物だと気づいたとたん、親しみが消えて、不気味になる、と書いています。
S040 この例は、動きだけの話ではありません。見た目から思っていた手ざわりとのずれも、含まれています。
S041 そして森さんは、動くと、親しみの山も、不気味の谷も、大きくなる、とも書いています。
S042 冒頭の笑顔の話も、その例です。
S043 Pixels to Motorsでは、確かめたい着眼点として、気になる動きを4つ挙げています。
S044 研究で確かめた分類ではなく、重なることもあります。
S045 金属の体に、人そっくりの仕草が乗る動き。
S046 速さの変化が少なく、同じ調子ですーっと動き続ける動き。
S047 そして、速い動きと、次が読めない動き。
S048 どれが、気味の悪さと危ない感じの、どちらにつながるのかを、分けて確かめたいと考えています。
### 6 節2:危ない感じには、どんな手がかりがあるのか
S049 2つ目、危ない感じには、どんな手がかりがあるのか、です。
S050 一言で言うと、速さと、動きの予測しにくさです。
S051 ドイツの労災保険の研究所が、仮想現実の作業場で、人とロボットが一緒に作業する実験をしています。
S052 とても速い動きでは、作業の負担と、不安が高まりました。
S053 そして、速くて動きを予測しにくいロボットは、危ないと受け取られた、と報告しています。
S054 近くにいるほど不安が強まり、反対に、遅すぎると作業の成績が落ちた、とも報告しています。
S055 ただ、これは仮想現実の中の、本物ではないロボットでの結果です。
S056 ここからは、少し別の話です。通る道を予測できることと、どの物へ向かうかが分かることは、同じではありません。
S057 人とすれ違うときは、目線や体の向きも、進む方向を読む手がかりになりますよね。
S058 目線を持たないアームでは、動き方や表示など、別の手がかりが要る場面があります。
S059 しかも、物が近くに並んでいると、無駄のない最短の動きは、行き先が読みにくいことがあります。
S060 机の上に、コップが2つ、近くに並んでいるとします。
S061 アームが、どちらか一方へ、まっすぐ手を伸ばします。
S062 ここで1つ考えてみてください。
S063 見ている人は、どの時点で、どっちを取るのかが分かるでしょう。
S064 答えは、この並び方だと、動き始めだけでは、区別しにくい、です。
S065 取りたいほうへ、少しふくらんだ道を通れば、早めに行き先を伝えられる場合があります。
S066 これを確かめた研究があります。
S067 アメリカの研究者が2013年に、ネットで集めた、合わせて432人に、画面の中のロボット、本物のロボット、人が、2つの物の片方へ手を伸ばす動画を見せました。
S068 答えた時刻と正誤から見積もると、ロボットの動画では、ふくらんだ道のほうが、正しく当てられる確率が高かったんです。
S069 人の動画では、その差は小さめでした。
S070 研究者たちは、予想どおりの道と、行き先が読める道は、別のものだと書いています。
S071 行き先を知っていれば、まっすぐ進むと思うことがあります。でも、知らない人には、ふくらんだ道のほうが、行き先が分かりやすい場合があるんです。
S072 この実験でも、ロボットの種類によって、予想どおりという評価は違いました。
S073 ただ、この研究は、読みやすくすると怖さが減るかまでは、調べていません。
### 7 節3:人間そっくり、とは別の方向はあるのか(フェアの節を含む)
S074 3つ目、人間そっくり、とは別の方向はあるのか、です。
S075 一言で言うと、機械的だけど優雅、という方向です。
S076 森さん自身も、1970年の文章で、設計する人にこう勧めています。
S077 人間らしさを上げきろうとせず、手前の山を目標にする。
S078 あえて人間ではないデザインを目指せば、安心できる親しみは作れるだろう、と。
S079 これは見た目についての勧めですが、動きを考えるときにも、手がかりになります。
S080 機械の作りを生かしながら、動き出しや止まり方、行き先を分かりやすくする。ここでは、それを、機械的だけど優雅、と呼んでいます。
S081 これは、この番組が目指したい動き方で、怖さを減らせるかは、これから確かめる必要があります。
S082 関節の動き方は、機械らしいままにしておく。
S083 動き出しはゆっくり始めて、止まる前には、なめらかに速度を落とす。
S084 どこへ向かうかが、動きの途中で分かるようにする。
S085 人の手のそばでは、速さを落とす。
S086 ただ、ここはフェアに言っておくと、さっきの2つの研究は、どちらも本物のロボットの隣に人を立たせたものではありません。
S087 それに、ふくらんだ道は、そのぶん道のりが長くなります。同じ速さなら、時間もかかります。
S088 作業の時間、読みやすさ、周りとの距離、作業の成功率を並べて、使う場面ごとに、折り合いを探すことになります。
### 8 見立て
S089 ここからは、エイイチの見立てです。
S090 研究には、不安か、落ち着いているか、など、自分の心の状態を5段階で答える質問票があります。
S091 ただ、気味の悪さまで、同じ点数で測れるとは限りません。
S092 机の上の小さなアームでは、実験ごとの成功と失敗を記録しています。
S093 でも、その動きを見た人が怖かったかどうかは、まだ記録していません。
S094 そこで、考えている案があります。まだ試してはいません。
S095 まず、通る道と周りとの距離をそろえて、速さを変える。不安と気味の悪さを分けて聞き、作業の時間も残す。
S096 次は、動き出しだけを知らせる合図を出す場合と、出さない場合を比べる。いつ動き出すかと、行き先が分かったかも、別に聞く。
S097 変える条件は1つに絞り、見せる順番も入れ替えて、何度か比べる。
S098 そうすれば、どの条件で感じ方が変わるのかを、少しずつ調べられると考えています。
S099 これは、机の上のアーム1台から考えたことで、業界全体の答えではありません。
S100 それでも、怖さを直す前に、2つの感じ方を分けて測ることが、最初の一歩だと見ています。
### 9 冒頭の問いへの回答・まとめ
S101 じゃあ、冒頭の問いに答えますね。
S102 ロボットの動きの怖さは、気味が悪い感じと、危ない感じに分けて考えられます。両方が重なることもあります。
S103 今日の資料からは、人らしさと動きや手ざわりの組み合わせ、速さ、動きの予測しにくさが、手がかりになります。ただ、原因をすべて説明できたわけではありません。
S104 そして、人間そっくり以外の動き方も、怖さを減らす候補として、確かめたいと考えています。
S105 次に、怖いと感じたロボットの動画を見たら、それが、気味が悪いのか、危ないのか、両方なのかを、分けてみてください。
S106 動き出した瞬間か、止まった瞬間か、手がこちらへ伸びてきた瞬間か。
S107 そこに、直す場所があるかもしれません。
S108 まとめると、怖さは1種類ではありません。
S109 物が近くに並んでいると、無駄のない最短の動きは、行き先が読みにくいことがあります。
S110 人間そっくりの外にある、機械的だけど優雅な動きも目指したい。そのために、まず、気味の悪さと危ない感じを、分けて測ろうと考えています。
S111 人のそばで使うロボットでは、速さと一緒に、見る人が動きをどう受け取るかも、設計の中身だと考えています。
### 10 アウトロ
S112 この動画が役に立ったら、高評価とチャンネル登録をお願いします。
S113 ロボットの開発や導入の相談は、概要欄の連絡先から、エイイチに直接どうぞ。
S114 コメントは、エイイチが全部読んでいます。それではまた。
ロボットが怖い/codex_検証結果_1回目.md
1回目の結果(判定「直してから」・結論「条件つきで成立」)(214行)。
**判定は「直してから」です。** 最大の問題は、「予想とのずれ」「行き先の読みにくさ」「不気味さ」「身体的な危険への恐怖」を、同じ原因で説明していることです。「番組の見立て」と断っても、その因果関係が裏付けられるわけではありません。
2026年10月15日時点で、森さんの公認英訳、Draganらの論文本文、Godspeedの著者公開資料を確認しました。**『Energy』1970年の日本語原文との照合は未確認**です。課題カードは取得できず、活動記録の台帳も提示されていないため未確認です。
以下、重大なものから並べます。
---
**[❌ NG] S016・S031・S093〜S094・S099**
**問題:** 「予想から外れること」を怖さの大きな理由・共通原因とするには、材料が足りません。予想どおりにこちらへ迫るロボットも怖くなり得るし、予想外の動きが面白さや驚きになる場合も考えられます。
**根拠:** Draganらが測ったのは、期待した経路との一致と、目標を当てる速さ・正確さです。怖さを従属変数にした実験ではありません。したがって「読めない→怖い」という因果関係は、この論文から導けません。[Draganら、§V–VI](https://publications.ri.cmu.edu/storage/publications/pub_files/2013/3/legiilitypredictabilityIEEE.pdf)
**修正案:**
> S016 この番組では、怖さを考える手がかりとして、思っていた動きとのずれと、次に何をするかの分かりにくさに注目します。
> S031 今回は、その中でも、思っていたのと違う動きに注目します。
> S093 この番組の見立ては、思っていた動きとのずれや、行き先の分かりにくさが、怖さにつながる場合がある、というものです。
> S094 ただ、それだけで、すべての怖さを説明できるわけではありません。
> S099 まとめると、動きのずれと、行き先の分かりにくさ。この2つを、怖さを調べる手がかりにしたいと考えています。
---
**[❌ NG] S059〜S063・S079・S100**
**問題:** 論文の核心である「予想どおり」と「行き先が読める」の区別が、台本では省略されています。そのため、読みやすい動きが「予想とのずれを減らす動き」だと誤解されます。
**根拠:** 論文では、目標を知ったうえで期待する経路を *predictable*、動きから目標を推定しやすいことを *legible* と区別しています。両者は衝突することがあります。[Draganら、§II・§VI](https://publications.ri.cmu.edu/storage/publications/pub_files/2013/3/legiilitypredictabilityIEEE.pdf)
**修正案:** S063の直後に追加。
> ここで、「予想どおり」と「行き先が読める」は、別なんです。行き先を知っていれば、まっすぐ進むと思う。でも、行き先を知らなければ、少しふくらんだ動きのほうが、どちらへ向かうか分かる。予想どおりの道が、読みやすいとは限らないんです。
さらにS079の直後に追加。
> ただし、この研究では、読みやすくすると怖さも減るかどうかまでは、調べていません。
---
**[❌ NG] 題名・S013〜S015・S032〜S037**
**問題:** 「不気味の谷」と、衝突しそうで身を引く怖さを同じ現象として扱っています。また、義手の握手の例には触感と温度が含まれ、「動き方に絞る」という宣言と一致しません。
**根拠:** 不気味の谷は、人間への類似度と親和感の非単調な関係を表す仮説です。「動きが怖い」だけでは谷の存在を示しません。握手の例も、動きだけを切り分けた説明ではありません。[森さん公認英訳、図1・図2および義手の節](https://spectrum.ieee.org/the-uncanny-valley)
**修正案:**
> 題名 ロボットの動きはなぜ怖い? ― 不気味さと、行き先の読みにくさ
> S014 ここでは、気味が悪いと感じることと、ぶつかりそうで身を引くことを、分けて考えます。
> S015 見た目との組み合わせにも触れながら、動き方に注目します。
> S037 この例は、動きだけの話ではありません。見た目から思っていた感触とのずれも、含まれています。
---
**[❌ NG] S088**
**問題:** 「一度に1つだけ変えれば、何が怖さを変えたのかが分かります」は、因果推論として強すぎます。見せる順番、慣れ、参加者の違いなどでも回答は変わります。
**根拠:** 1変数の操作は比較を整理しますが、他の条件の統制や反復なしに原因を確定できるわけではありません。
**修正案:**
> 一度に変える条件を1つに絞って、見せる順番も入れ替える。ほかの条件をそろえて何度か比べれば、怖さに関わる条件を、少しずつ絞り込めると考えています。
---
**[⚠️ 要注意] S085〜S087・S089・S091**
**問題:** 提案した実験では、中心仮説の「予想とのずれ」を測っていません。速度や待ち時間で安心感が変わっても、それが期待との不一致によるものかは分かりません。
**根拠:** 速度の変更は、作業時間や接近の勢いも変えます。「動き出す前の間」も、開始時刻を知らせなければ、単なる待ち時間になる可能性があります。S085で未実施と明記している点は適切ですが、測る内容と結論が対応していません。
**修正案:**
> S086 まず、速さだけを変えて、不安の強さを比べる。あわせて、思っていた動きと違ったかも聞いてみる。
> S087 次は、動き出す前に開始の合図を出す場合と、出さない場合を比べる。行き先が分かったかも、別に聞いてみる。
> S091 まずは、怖さと、予想とのずれと、行き先の読みやすさを、どう測り分けるか決めたいと考えています。
---
**[⚠️ 要注意] S038〜S044・S094**
**問題:** S044の留保より前に、4つを「怖く感じられる動き」として提示し、S043で共通原因まで断定しています。また、4つは独立した型ではなく、速い動きが読みにくいなど重なります。
**根拠:** 台本自身が未検証の分類と認めています。未検証なのは分類だけでなく、それぞれが怖さを生む条件と、予想とのずれによる説明も同様です。
**修正案:**
> S038 ここからは、研究で確かめた分類ではなく、僕たちが検証したい4つの着眼点です。重なるものもあります。
> S043 こうした動きで、思っていた動きとのずれが起きるのか。それが怖さにつながるのかを、調べたいと考えています。
---
**[⚠️ 要注意] S039・S041**
**問題:** 「人間らしすぎる」「なめらかすぎる」は、何を基準に「すぎる」と判断するか不明です。「生き物ならためらいがある」という説明も、ためらいを生物の動きの必須条件にしてしまっています。
**根拠:** 人間らしい動きや滑らかな動きが、必ず怖さにつながるわけではありません。怖さを感じた後で「すぎた」と判定するなら、説明が循環します。
**修正案:**
> S039 1つ目は、見た目と動き方の組み合わせ。金属の体に人そっくりの仕草があると、どんな印象になるのか。
> S041 3つ目は、速さの変化が少ない動き。同じ調子で進むと、止まる時点が分かりにくくなるのか。
---
**[⚠️ 要注意] S046・S048〜S050**
**問題:** 「多くのロボットアームは合図を出さないから」を、読めない動きの代表原因とする根拠がありません。目線がなくても、軌道、音、表示などで行き先を知らせることは可能です。
**根拠:** 引用されたDragan論文は、目線の欠如が読みにくさを生むという比較実験ではありません。S048のすれ違いの説明にも、対応する出典がありません。
**修正案:**
> S046 理由の1つとして考えているのは、動き始めや行き先を知らせる手がかりの少なさです。
> S048 人とすれ違うときには、目線や体の向きも、進む方向を読む手がかりになります。
> S049 目線を持たないアームでは、動き方や表示など、別の手がかりが必要になる場面があります。
---
**[⚠️ 要注意] S056〜S058・S061〜S062**
**問題:** 「途中までは分からない」「ふくらめば早く分かる」を、配置によらない答えにしています。「どの時点でも」の結果も、各時点で直接測った正答率だと受け取られる余地があります。
**根拠:** 論文の対象は限定した配置と経路です。時点別の確率曲線は、参加者が回答した時刻と正誤から補間した推定です。開始・終了時点には共通の値を置いています。[Draganら、§V、図6](https://publications.ri.cmu.edu/storage/publications/pub_files/2013/3/legiilitypredictabilityIEEE.pdf)
**修正案:**
> S056 この配置では、動き始めだけだと、区別しにくいことがあります。
> S058 取りたい側へ、区別がつくように道をふくらませると、早めに行き先を伝えられる場合があります。
> S061 回答した時刻と正誤から推定すると、ロボットの動画では、動きの途中で、ふくらんだ道のほうが正しく当てられる確率が高くなりました。
---
**[⚠️ 要注意] S065・S070〜S075・S080・S101**
**問題:** 「機械的だけど優雅」の具体策が、検証済みの怖さ低減策のように聞こえます。S080も、道のりと読みやすさだけで設計上の折り合いがつく説明になっています。
**根拠:** これらの組み合わせは、提示された出典では検証されていません。遠回りする範囲、周囲との距離、作業の成功率も比較対象になります。
**修正案:**
> S070 これは、僕たちが目指したい動き方です。怖さを減らせるかは、これから確かめる必要があります。
> S080 作業時間や読みやすさに加えて、周りとの距離や作業の成功率も並べて、使う場面ごとに折り合いを探します。
> S101 人間そっくり以外の動き方も、検証する価値があると考えています。そのために、まず測り方を決めたいんです。
---
**[⚠️ 要注意] S082・S086**
**問題:** Godspeedの「知覚された安全性」を、そのまま台本全体の「怖さ」の尺度として扱うと、測りたいものがずれます。気味悪さと不安は、分けて聞く必要があります。
**根拠:** Godspeed Vは、自分の感情状態を対になる語の間で5段階評価する尺度です。不気味さや、実際の身を引く行動を直接測る尺度ではありません。[著者公開のGodspeed質問票](https://www.bartneck.de/2008/03/11/the-godspeed-questionnaire-series/)
**修正案:**
> 研究には、不安か落ち着いているかなど、自分の心の状態を5段階で答える質問票があります。ただ、気味悪さまで同じ点数で測れるとは限らないので、そこは別に聞く必要があります。
---
**[⚠️ 要注意] S018・S022〜S024・S060・S090**
**問題:** 反論への回答が足りません。「人間らしく動くべきではないと言っていない」と断るだけでは、人間らしい動きが読みやすさや安心感を助ける可能性に答えていません。初見の人に絞っても、年齢・文化・経験などの違いは残ります。
**根拠:** 台本の一般化に対する反論です。ここでは、文化や年齢による効果の方向を確認できていないため、具体的な方向は**未確認**とします。
**修正案:** S024の後に追加。
> ただ、初めて見る人でも、年齢や文化、ロボットとの経験は違います。人間らしい仕草のほうが分かりやすい場面も、あるかもしれません。誰に、どこで見せる動きなのかを決めて、確かめる必要があります。
---
**[⚠️ 要注意] S001〜S005・S019・S035〜S036・S066〜S069**
**問題:** 内容は公認英訳と概ね対応しますが、日本語原文との一致は未確認です。また、S002は「人の顔の筋肉は29対」を現在の一般的な解剖学的事実として断定する形になっています。
**根拠:** 確認できたのは2012年の森さん公認英訳です。1970年原文との語句の一致、29対という記述の独立した裏付けまでは確認していません。笑顔の速度を半分にする記述はありますが、実験手順・人数・結果を伴う報告ではありません。[森さん公認英訳](https://spectrum.ieee.org/the-uncanny-valley)
**修正案:**
> S002 森さんの文章では、顔には29対の人工の筋肉があり、人と同じ数だと説明されています。
> S003 そして森さんは、笑顔になる速さを半分にすると、
> S005 うれしそうではなく、不気味な表情になる、と書いています。
> S035 森さんは、動くことで、親しみの山も不気味の谷も大きくなる、という見方を示しました。
概要欄にも「参照したのは2012年公認英訳。1970年日本語原文との照合は未確認」と記載してください。
---
**[⚠️ 要注意] S102**
**問題:** 「これから強くなるチーム」という競争優位の予測は、本編の材料から支えられていません。「速さより先に」も、用途を問わない優先順位になっています。
**根拠:** 提示された資料には、チームの事業成果や競争力を比較した根拠がありません。
**修正案:**
> 人のそばで使うロボットでは、速さと一緒に、見る人が動きをどう受け取るかも、設計で考えたいと思っています。
---
**[⚠️ 要注意・未確認] S011〜S012・S083〜S084・S090・S105**
**問題:** 活動を盛っていると判定できる証拠はありません。ただし、「1回ずつ台帳に残す」「コメントを全部読む」は、実際の記録・運用の確認が必要です。
**根拠:** 依頼文の本人申告以外の資料は提示されていません。課題カードも取得できなかったため、独立した確認はできていません。S010の案内役の紹介には、この問題はありません。
**修正案:** 台帳が一部の実験のみなら、
> S083 机の上の小さなアームでは、実験ごとの成功と失敗を記録しています。
全コメントを確認する運用が保証できないなら、
> S105 コメントは、エイイチが読んでいます。それではまた。
---
指摘以外の重点箇所についても、確認範囲を明記します。
- **S032〜S034:** 公認英訳の義手の説明と概ね一致。ただし、動きだけの証拠としては使えません。
- **S066〜S069:** 手前の山・非人間的デザインを目指す勧めと概ね一致。動きへの応用は番組側の推論です。
- **S060:** 432人は募集総数で、米国のMechanical Turk参加者です。全員が3種類すべてを見たわけではなく、条件ごとに割り当てられています。
- **S076〜S077:** 動画実験であり、実物との対面ではないという説明は一致しています。
- **S078:** 「同じ速さなら時間もかかる」は条件つきの推論として成立します。ただし、この研究が作業時間の増加を実証したという意味にはしないでください。
最後の3点です。
1. **このまま公開してよいか:直してから。** 全編を作り直す必要はありませんが、原因の断定と研究からの飛躍は修正が必要です。
2. **公開前に必ず直すべき箇所:** 題名、S014〜S016、S031、S037〜S038、S043、S046、S063前後、S070、S079前後、S082、S088、S093〜S094、S099、S101〜S102。
3. **結論そのもの:条件つきで成立。** 「予想とのずれや行き先の分かりにくさを、怖さの検証候補として扱う」なら成立します。現在の「ロボットの動きが怖いのは、予想から外れるから」という一般的な原因説明は、提示された出典では成立していません。
ロボットが怖い/codex_検証結果_2回目.md
2回目の結果(判定「直してから」・結論「条件つきで成立」)(158行)。
**2回目の判定も「直してから」です。** 今回の主な問題は、2つの怖さを分けたことではなく、**それぞれの原因が確かめられたように言っていること**です。骨組みを再度大きく作り直す必要はありません。
追加された[IFA情報シート](https://www.dguv.de/medien/ifa/en/pub/ada/pdf_en/aifa0348e.pdf)は別の公式URLで全文を確認できました。Koppenborgらの2017年論文は出版社の要旨まで確認できましたが、実験方法・統計結果を含む本文は**未確認**です。森さんの1970年日本語原文も引き続き**未確認**です。
---
**[❌ NG] S017〜S018・S034・S048・S098**
問題:2つの怖さの原因を、資料で確定したように説明しています。不気味の谷は「思っていた姿とのずれ」を原因として実証した研究ではなく、IFAも「ぶつかりそうな怖さ全般」の原因を確定したものではありません。
根拠:森さんの文章は親和感と人間への類似度の関係についての仮説です。IFAが報告するのは、特定の仮想作業環境での負担、不安、危険と感じる評価です。これらを原因別の2分類に対応づける部分は、番組側の解釈です。[森さん公認英訳](https://spectrum.ieee.org/the-uncanny-valley)、[IFA情報シート「Results and Application」](https://www.dguv.de/medien/ifa/en/pub/ada/pdf_en/aifa0348e.pdf)
修正案:
> S017 今日の資料では、気味の悪さと、危ないと感じることを、別々の手がかりから考えます。
> S018 気味の悪さでは、見た目と動きや感触の組み合わせ。危ないと感じることでは、速さや動きの予測しやすさに注目します。
> S034 手がかりの1つは、人らしく見えるものが、動いたり触れたりするときの印象です。
> S048 ここでは、速さと、動きの予測しやすさに注目します。
> S098 今日の資料からは、人らしさと動きの組み合わせや、速さ、動きの予測しやすさが、感じ方に関わる手がかりになります。ただ、原因をすべて説明できたわけではありません。
---
**[❌ NG] S051・S066〜S068**
問題:IFAの「動作経路の予測しやすさ」を「行き先の読めなさ」に置き換えています。直後にDraganらの区別を説明していても、異なる研究が同じ「読みやすさ」を測ったように聞こえます。
根拠:IFA資料の語は *predictability of the movement path* と *unpredictable* です。Draganらの目標推定の読みやすさと同一の測定ではありません。IFAの操作方法の詳細は未確認なので、さらに狭く「行き先」と訳す根拠がありません。[IFA情報シート](https://www.dguv.de/medien/ifa/en/pub/ada/pdf_en/aifa0348e.pdf)
修正案:
> S051 そして、速くて動きを予測しにくいロボットは、危ないと受け取られた、と報告しています。
S055の前に追加:
> ここからは、少し別の話です。通る道を予測できることと、どの物へ向かうかが分かることは、同じではありません。
---
**[⚠️ 要注意] S014〜S015・S017・S097・S100**
問題:2つに分けて考えることは有用ですが、独立した2種類が実証されたように言うと過剰です。気味悪さと危険感を同時に感じる場合や、どちらにも当てはまらない場合が残ります。
根拠:提示された資料には、この2分類の網羅性・独立性を検証した研究がありません。「全部は説明できない」というS019だけでは、「別のところから来る」という断定を解消できません。
修正案:
> S014 この番組では、怖さを考えるために、まず2つの感じ方を分けてみます。
> S015 なんだか気味が悪いことと、ぶつかりそうで危ないと感じることです。両方が重なる場合もあります。
> S100 それが気味の悪さなのか、危ないと感じることなのか、両方なのかを、考えてみてください。
---
**[⚠️ 要注意] S015・S049〜S052**
問題:「身を引く」という行動と、質問票で回答した不安・危険感の間がつながっていません。この研究で、回避行動まで確認したとは言えません。
根拠:IFA情報シートには作業成績、質問票、心拍の測定が記載されていますが、身を引く行動を測ったという記載はありません。2017年論文本文による確認もできていません。[IFA情報シート「Activities」](https://www.dguv.de/medien/ifa/en/pub/ada/pdf_en/aifa0348e.pdf)
修正案:
> S015 なんだか気味が悪いことと、ぶつかりそうで危ないと感じることです。
「身を引く」を残すなら、日常的な例として示し、IFAが検証した反応と区別してください。
---
**[⚠️ 要注意] S067**
問題:「行き先を知っている人には、まっすぐな道が予想どおり」は一般化しすぎです。出典表に書かれているHERBの例外が、本編から抜けています。
根拠:Draganらの実験では、HERBについて直線寄りの経路が有意に予想どおりと評価されたわけではありません。論文自身も、期待する経路が観察者によって異なることを論じています。[Draganら、§V.C.1](https://publications.ri.cmu.edu/storage/publications/pub_files/2013/3/legiilitypredictabilityIEEE.pdf)
修正案:
> 行き先を知っていれば、まっすぐ進むと思うことがあります。でも、行き先を知らなければ、少しふくらんだ道のほうが分かりやすい場合がある。この実験でも、ロボットの種類によって、予想どおりという評価は違いました。
---
**[⚠️ 要注意] S027・S049〜S052**
問題:「最初の数秒の動きの話」と宣言した後で、共同作業中の負担と不安を根拠にしています。IFA資料は、初見の最初の数秒だけを検証したとは確認できません。
根拠:資料は、参加者が仮想ロボットと作業を行う実験を説明しています。初見反応に限定した結論への適用は未確認です。[IFA情報シート](https://www.dguv.de/medien/ifa/en/pub/ada/pdf_en/aifa0348e.pdf)
修正案:
> だから今日は、初めて動きを見る場面を入口に、人のそばで動くロボットの印象を考えます。紹介する研究には、一緒に作業している間の反応を調べたものもあります。
---
**[⚠️ 要注意] S044〜S046**
問題:「未検証の着眼点」という留保の後に、どの動きがどちらの怖さに近いかを断定しています。分類の裏付けがあるように聞こえる問題が、別の形で残っています。
根拠:金属の体の人間的な仕草や一定速度の動きを、気味悪さ側へ割り当てる検証は提示されていません。速い動きや予測しにくい動きも、気味悪さと無関係とは言えません。
修正案:
> S044 まず、金属の体に人そっくりの仕草があると、どんな印象になるのか。
> S045 次に、速さの変化が少ない動きは、どう感じられるのか。
> S046 速い動きと、次が読めない動きも含めて、気味の悪さと危ない感じを、分けて確かめたいと考えています。
---
**[⚠️ 要注意] S035**
問題:不気味の谷の説明が、谷へ落ちるところで終わっています。「人に似せるほど最後は不気味になる」という理解を招き、後半の「手前の山」の説明にも必要な情報が欠けています。
根拠:森さんの図には、谷の先に再び親和感が高くなる第2の山があります。[森さん公認英訳、図1](https://spectrum.ieee.org/the-uncanny-valley)
修正案:
> 森さんの不気味の谷は、人に似るほど親しみが増しても、よく似ているのに人とは違うあたりで、急に親しみが落ちる、という考えです。その先には、再び親しみが高くなる山も描かれています。
---
**[⚠️ 要注意] S050〜S052・S080**
問題:IFAの結果紹介から、距離による不安と、遅すぎる動きによる作業成績の低下が抜けています。速度を落とす方向だけが実験の示唆だと受け取られる余地があります。
根拠:IFA情報シートは、この2点も報告しています。今回の結論を単なる速度低下へ寄せないために必要な限定です。[IFA情報シート「Results and Application」](https://www.dguv.de/medien/ifa/en/pub/ada/pdf_en/aifa0348e.pdf)
修正案:S051の後に追加。
> 近くにいるほど不安が強まり、反対に、遅すぎると作業の成績が落ちたとも報告しています。速さだけを下げればいい、という結果ではありません。
---
**[⚠️ 要注意] S090〜S093**
問題:方法の留保は改善されていますが、速度を変えると所要時間なども変わります。また、合図が開始だけを知らせるのか、行き先まで知らせるのかが不明です。
根拠:1条件を操作しても、その操作に伴う他の変化は残ります。開始の合図から、行き先の読みやすさへの効果を判断するには、合図の内容を固定する必要があります。
修正案:
> S090 まず、通る道と周りとの距離をそろえて、速さを変える。不安と気味の悪さを分けて聞き、作業時間も残す。
> S091 次は、開始だけを知らせる合図を出す場合と、出さない場合を比べる。いつ動き出すかが分かったかと、行き先が分かったかも、別に聞く。
> S093 そうすれば、どの条件で感じ方が変わるのかを、少しずつ調べられると考えています。
---
**[⚠️ 要注意] S075〜S076・S099・S105**
問題:未検証と断る一方、まとめでは「怖くない動きを作る道」が存在すると断定しています。「機械的だけど優雅」も、不安にならないことを定義に含めると、検証対象が曖昧になります。
根拠:この組み合わせによる怖さ低減は、台本自身が未検証としています。
修正案:
> S075 機械の構造を生かしながら、動き出しや止まり方、行き先を分かりやすくする。ここでは、それを「機械的だけど優雅」と呼んでいます。
> S099 人間そっくり以外の動き方も、怖さを減らす候補として、確かめたいと考えています。
> S105 僕たちは、「機械的だけど優雅」な動きも目指したい。そのために、まず気味の悪さと危ない感じを、分けて測ろうと考えています。
---
重点箇所の確認結果も補足します。
- **S001〜S005、S036〜S041、S071〜S074:** 公認英訳と概ね対応しています。ただし1970年日本語原文との一致は未確認。S003は「森さんが実際に速度を半分にした」と誤読されないよう、「森さんの文章には、笑顔になる速さを半分にすると、」が明確です。
- **S049〜S052:** 仮想環境、速い動きによる負担・不安、速く予測しにくい動きへの危険評価はIFA資料に対応します。詳細な条件・効果量・統計は未確認です。
- **S055〜S065、S068、S081〜S083:** Dragan論文との大きな食い違いは見当たりません。432人は募集総数で、条件別に割り当てられています。「怖さは測っていない」「実物との対面ではない」という限定も維持されています。
- **S085〜S086:** Godspeedを不気味さの尺度と同一視する問題は解消されています。[著者公開質問票](https://www.bartneck.de/2008/03/11/the-godspeed-questionnaire-series/)
- **S010〜S012、S087〜S088、S094:** 文面から活動を盛っているとは判断しません。活動記録そのものは未確認です。S109は指定どおり検証対象外としました。
- **課題カード:** 前回取得できなかった内容との一致は未確認です。今回の台本は、課題カードの分類を変更したように見えるため、出典表も現在の4つの着眼点に合わせる必要があります。
最後の3点です。
1. **公開判断:直してから。** 主に結論と用語の修正で対応できます。
2. **公開前に必ず直すべき文番号:S017〜S018、S034、S048、S051、S067、S098。** 加えて、S014〜S015で「番組の整理であり、重なる」と明示してください。
3. **結論の評価:条件つきで成立。** 「2つの感じ方を分けて測る」「速さや予測しやすさなどを検証候補にする」は成立します。**「2つの怖さは別の原因から来ると、今回の資料で分かった」という現在の結論は成立していません。**
video_rules.md の差分(44回目→46回目・全量)
45回目と46回目は同じ日に続けて更新したので、44回目からの差分をまとめて載せます。44回目の指紋は 2d54103fd4568cc27fc4de416468e347、46回目は 5958d5cceacfa9cb75a919794027a351 です。
--- video_rules.md(44回目)
+++ video_rules.md(46回目)
@@ -2,7 +2,7 @@
## 動画制作ルール(唯一の正)
-最終更新: 2026-10-14(44回目)
+最終更新: 2026-10-15(46回目)
状態: 試作1本目「ロボットにもChatGPTの瞬間はもう来たのか(フィジカルAIの現在地)」を作りながら決めたことをまとめた初版に、ナレーションをハコブくんにする決定と、ハコブくんの本番組み込み(企画1本目「AIエージェントにロボットのコードを書かせたら、原因を7回取り違えた」で使用)を足した版。まだ決まっていない項目は8節にまとめている。
YouTube 用の解説動画を作るときは、まずこのファイルを読む。作る順番は0節のチェックリストのとおりに進める。台本の文体は language_rules.md、記事は article_rules.md が正。動画の構成・数字の扱い・画面・音声・書き出しは本ファイルが正。
@@ -42,7 +42,7 @@
### 図と字幕(4節・5節・6節)
-11. **C** `scenes.py` に場面ごとの図を書く。実機映像は `src/` に置き、`VIDEO` に場面名と開始秒を書く。透かし入りの映像は使わない(6節)
+11. **C** 図を作る前に、画面のパターン(4-4c。パターン1=説明型/パターン2=大文字型)をエイイチと決め、`scenes.py` の先頭に `PATTERN = 1` か `2` を書く。`scenes.py` に場面ごとの図を書く。実機映像は `src/` に置き、`VIDEO` に場面名と開始秒を書く。透かし入りの映像は使わない(6節)
12. **C** `render.py` で図・テロップ・字幕を作る。ハコブくんの区画と重なったら止まるので、直して通す
13. **C** `preview.py 文番号…` で、気になる文の画面を静止画で出す。**エ** 確かめる
@@ -206,6 +206,15 @@
- 自分の机の上のガードは「自作のプログラムの制限で、安全機能として検証したものではない」と言い、協働ロボットの安全機能と比べない
- 最後の一言で「得をするのは〜な会社」のように、本編で比べていないこと(生産性・費用)を言わない。比べていないことは「この説明だけでは分からない。比べるなら〜」と言う
+23. **研究の知見から「怖さ」のような感じ方の理由を話す回は、原因を言い切らず「手がかり」と言う。**(2026-10-15「ロボットの動きはなぜ怖い?」。codex に2回かけ、2回とも「直してから・条件つきで成立」)
+ - 「怖さは予想とのずれから来る」のような1つの原因の説明は、どの出典も示していなかった(森さんの不気味の谷は親しみについての仮説、Dragan らは怖さを測っていない)。「番組の考え・見立て」と断っても、因果が裏付けられるわけではない
+ - 感じ方を分けるときは「番組の整理」と言い、「両方が重なることもある」「全部は説明できない」を本編と答えとまとめに残す(この回は「気味が悪い」と「危ない」)
+ - 研究ごとに測ったものの言葉を混ぜない(IFA の「動きの予測しやすさ」と Dragan らの「行き先が読める(legible)」・「予想どおりの道(predictable)」を同じ「予想」「読める」でまとめない)。別の研究に移るときは「ここからは、少し別の話です」と断る
+ - 研究が測っていないことを言わない(身を引く行動・怖さが減るか・作業時間)。動画や仮想現実の実験なら、本物のロボットの隣に人を立たせたものではないと言う
+ - 着眼点の分類(この回の「気になる動き4つ」)は「確かめたい着眼点・研究の分類ではない・重なることもある」と先に言い、どちらの感じ方につながるかを振り分けない
+ - 外国語訳で読んだ文章(森さんの1970年の文章を2012年の英訳で)は、概要欄に「原文とは照合していない」と書く
+ - 万博の笑顔の例のように、筆者が書いた一般の話を、実際にやった出来事のように言わない(「速さを半分にすると不気味になる、と森さんは書いています」)
+
---
## 3. ナレーション(ハコブくん・声は仮音声)
@@ -229,6 +238,7 @@
- 2026-10-14「協働ロボットはなぜ遅い」: SICK(センサーの会社)は ELEVEN_READ に ('SICK', 'ジック')(日本法人の読み)を先回りで足した。CRX-10iA・UR5e・ISO・A3・mechArm 270-Pi・秒速1000ミリ・140ニュートン・ハンドガイドは、直しなしで通った(エイイチが本編を通しで見て合格)
- 2026-10-14「洗濯機を分解するロボット」: 「ロボットの側」を「そば」と読んだ → ELEVEN_READ に ('ロボットの側', 'ロボットのがわ')。声を作ったあとで文を抜いて番号を付け直したフォルダ(voice_eleven/ハコブ_抜き後)があるときは、1文の作り直しを `--name ハコブ_抜き後 --lines 番号` にして、そのフォルダに書く(元の番号のフォルダに書くと別の文を上書きする)。音声認識で読みを自動で確かめる案は、モデルを取りに行けず使えなかった(読みは聞いて確かめる)
- 2026-10-13「3Dの世界を作るAI」: R2R2R は Real2Render2Real と同じ「リアルツーレンダーツーリアル」と読む(エイイチの指示。ELEVEN_READ に ('R2R2R', 'リアルツーレンダーツーリアル'))。英語の名前(AMD・World Labs・Fei-Fei Li・UC Berkeley・Toyota Research Institute・NVIDIA)は、読みの直しなしで読めた
+- 2026-10-15「ロボットが怖い」: 「29対」は、--try では漢字のままで正しく読めたのに、全文では「たい」と読んだ。ひらがなの「29つい」は「つい」が短すぎた。--try で比べてエイイチがカタカナの ('29対', '29ツイ') に決めた。--try で読めた語も、全文で読み違えることがあるので、数字と助数詞は全文を聞いて確かめる。森政弘・義手は漢字のまま読めた
- 高すぎない声で、ゆっくり丁寧に話す。経営者が13分聞いて疲れないことを基準にする。キャラクターらしい決まった語尾は本編で使わない(使うならジングルと最初の一言だけ)
### 3-2. 仮音声の設定(ハコブくんの声が決まるまで)
@@ -315,6 +325,24 @@
打ち出しにする文の選び方: 字幕をそのまま大きくするのではなく、その場面で一番残したい一言に縮める。字幕と同じ文を大きく出さない。
+### 4-4c. 画面のパターン(2026-10-15 エイイチの指示)
+
+内容によって、画面の文字の量を2つのパターンから選ぶ。台本が固まったら Claude がどちらかを提案し、エイイチが決める。
+
+| | パターン1:説明型(いままでの形) | パターン2:大文字型 |
+|---|---|---|
+| 向く回 | 数字・比較・手順・規格の段階を並べて見せないと伝わらない回(例: 協働ロボットはなぜ遅い・フィジカルAIのお金の流れ・セキュリティ人材の試算) | 1本の筋で引っぱる回・マンガの回・見立てが中心の回・ショートに切り出しやすくしたい回。試してみた回(`動画/_試してみた回の型/`)はいつもこちら |
+| 画面の文字 | 4-3・4-4 の図の型と大きさのまま。表・番号つきの行・2列比較を使う | 「名前・数字・一言」だけ。1画面の文字はラベルを除いて15字以内。文を画面に書かない |
+| 大きさ | 見出し64〜84px・大きい数字220px(4-3) | 主役の数字300px前後(単位120px)・言い切り150〜170px(1行8字・2行まで)・項目の名前130px・説明1行56px・ラベル40〜44px・出典28px |
+| 中身の伝え方 | 図にも中身を書く | 中身は声と字幕。画面は残したい一言と数字だけ |
+| 図の型 | 4-4 の型すべて | 数字カード・一言カード・項目カード(名前+説明1行)・映像だけ(図を出さない間)。表が要る場面だけ、1本に2場面までパターン1の図を使ってよい |
+
+- どちらのパターンでも、字幕と同じ文を画面に出さない(4-4b)、色・やらない表現(4-2・4-5)、出典(4-6)、ハコブくんの区画(4-1)は同じ
+- パターン2の図の部品(数字カードなど)は、最初にパターン2で作る動画で `scene_kit.py` に足す。試してみた回の部品(`_試してみた回の型/` の4-5)と共通にする
+- 2026-10-15「ロボットの動きはなぜ怖い?」(最初のパターン2の回)で `scene_kit.py` に部品を足した: `p2_word`(一言カード)・`p2_num`(数字カード)・`p2_item`(項目カード)・`p2_quiz`(問い)・`p2_pair`(2つを並べる)・`p2_list`(短い項目を縦に。目次など)・`p2_svg`(模式図)・`p2_count`(画面の文字数を数える。15字を超えた場面を見つける)
+- 目次(p2_list)には、見立ても項目として並べる(「4 エイイチの見立て」が抜けていて、エイイチが見つけた)
+- 模式図(不気味の谷の曲線・2つのコップ)は SVG で描き、場面の名前を分けて同じ図を使い回す(動いたとき・手前の山の印だけ変える)
+
### 4-5. やらない表現
- カードの上や左に太い色の線を引く(よくある AI 生成スライドの見た目になる)
@@ -496,6 +524,8 @@
---
+- 2026-10-15「ロボットが怖い」のサムネイル: コードで描いた不気味の谷の背景は「シンプルすぎ」(エイイチ)。ChatGPT に3案の背景を頼み、案B(工場の作業台で、置かれた手袋のすぐ横を残像を引いて振り抜く白いアーム。人・文字・ロゴなし)にした。photo の型(ハコブくん右下)にエイイチが決め、札を「どっちが怖い?」に替えて LABEL_BOTTOM を 300→220 に下げた(札が高すぎた)。ChatGPT の画像が1920幅より小さいときは、PIL で1920幅に広げてから使う
+
## 9. 縦長ショート(2026-10-13「自動運転の暴走」で3本作った)
本編の声と図の中身をそのまま使い、縦長(1080×1920)に作り直す。新しい声は作らない(お金も確認の手間もかからない)。
@@ -530,6 +560,7 @@
- 2026-10-14「夜のエレベーター」: 大きい文字の2行目(5字×200px=1000px)は、空きの div(280px)を足しても右のボタンの列(x>940・y 900〜1700)にかかった。5字の行は 170px まで小さくし、空きの div を 360px にして通った。番号付きの行(vlist)は1行9字まで(「荷物を積む・受け取る人」は折れた)
+- 2026-10-15「ロボットが怖い」: 縦長の図に SVG(2つのコップの模式図)を入れると、文字が多い段では SVG が縮んで小さくなった。SVG に `flex-shrink:0` と幅を指定し、区画に収まる大きさ(文字と出典を入れて幅 500px ほど)にする。出典は図の多い段に入れず、文字だけの段に移すと収まる
- 2026-10-14「協働ロボットはなぜ遅い」: 縦長の字幕で、「〜していることがあるんです」「と言いたいわけじゃないんです」のように、読点もひらがなから漢字への替わり目もない12字超の句は、sub= に「|」を入れても、その句が1枚で折れずに止まる。句の中ほど(「〜していることが|あるんです」)にも「|」を入れる。書き出す前に short_kit.vpages(文) を回し、None が出ないか確かめる
### 9-3. 作り方
@@ -556,6 +587,8 @@
## 更新履歴
+- 2026-10-15(46回目): 「ロボットの動きはなぜ怖い?|気味が悪いのか、危ないのか」(11分50秒・台本15本の02・最初の画面パターン2の回)で決めたこと・直したことを足した。4-4c(パターン2の部品を scene_kit.py に足した・目次に見立てを入れる・模式図)。2節23(感じ方の理由を話す回は原因を言い切らず手がかりと言う・番組の整理と重なり・研究ごとの言葉を混ぜない・測っていないことを言わない・英訳で読んだら原文未照合と書く・筆者の一般の話を出来事にしない)。3-1(29対→29ツイ。--try で読めても全文で読み違える)。8節のサムネイル(ChatGPT の背景・札の位置)。9-2(縦長の SVG が縮む)。台本は別のエージェントの照合と codex 2回で、1つの原因の説明から「2つの感じ方と、それぞれの手がかり」へ組み直した。ショートは3本(23・27・24秒)。
+- 2026-10-15(45回目): 4-4c「画面のパターン」を足した(パターン1=説明型・いままでの形/パターン2=大文字型・文字は名前と数字と一言だけで大きく。内容で選ぶ。エイイチの指示)。0節の手順11に、図を作る前にパターンを決めることを足した。試してみた回の型は別に `動画/_試してみた回の型/` に置いた(解説回・マンガ回とは別の型)。
- 2026-10-14(44回目): 「人型ロボットの乗っ取り、もう起きている?|実験と本物の被害を分けて見る」(14分2秒・台本03「ロボットの乗っ取り」)で決めたこと・直したことを足した。台本は codex に2回かけた(2回とも「直してから・条件つきで成立」。1回目は被害の件数・「ソフトの中か外か」の分け方・止めるだけでは流出は防げない、2回目は見積もりで聞くことを「変えられないか」だけで合格にしない・Ecovacs はメーカーの声明の言葉で言う・G1 の対象の版は「1.5.2で確かめた」)。3回目はエイイチの判断でかけずに声へ進んだ。codex の指摘も、元の資料で確かめてから直す(「25% が AI で補う」は確かめられず使わなかった)。声は149文を作って15分49秒あったので、声を作り直さずに18文を抜いて14分1秒にした(FCC の9文を丸ごと外した。抜くときは、次の文が前の文を指していないかを見る。S104 を抜く予定を S106 に替えた)。読みの直し(ELEVEN_READ): Unitree→ユニツリー(英字だと「ユニトゥリー」)、「入れる」は意味で読みが変わる(危ないから「いれるな」/範囲から「はいれる」)。同じ語のほかの文も先回りで直して、4文を --lines で作り直した。図: 横に並べた数字の列は、見出しの高さと文字の大きさをそろえる(flow の align-items:flex-end だと見出しの行数で段がずれた。エイイチの指摘)。文の多い場面は、場面の名前だけ分けて図を増やした(声は同じ)。サムネイルはコードで作った背景(電波の輪)・photo の型。ショートは3本(25・26・22秒)。
- 2026-10-14(43回目): 「秒速2000ミリのロボットが、人の隣ではゆっくりな理由|協働ロボットの安全の仕組み」(13分35秒・台本15本の10)で決めたこと・直したことを足した。2節22(安全・法律・規格の回:一般化と保証に聞こえる言い方をしない・衝突や挟まれと操作の接触を分ける・改訂前の分け方と言う・通達の条件の構造・切り替えの1文・机の上のガードは安全機能ではない・比べていないことを結論にしない)。3-1(SICK の読み)。9-2(縦長の字幕で折れない句)。台本は、別のエージェントの照合(通達の2つの道を AかつB のように言っていた・80W はモーターの出力・2025年の改訂など)と codex 2回(1回目「直してから・条件つきで成立」、2回目「直してから・中心の結論は成立」)で直した。声は124文を1回で作り、14分16秒あったので、エイイチの決定で6文を抜いて13分34秒にした(voice_eleven/ハコブ_抜き後)。フックは44秒。サムネイルは ChatGPT の背景(協働ロボットの腕と手袋の手。エイイチが作成)の photo の型(エイイチが案Aに決定。案B はコードで描いた速度計)。ショートは3本(最高速度と答え・クイズ・ぶつかっても安全?。29・26・24秒)。
- 2026-10-14(42回目): ショートの作り残し3本分(「3Dの世界を作るAI」「AIエージェントの取り違え」「フィジカルAIの現在地」)を、本編の声のまま9本作った(3Dの世界: 26・27・23秒/取り違え: 28・23・29秒/現在地: 28・24・25秒)。9本とも assemble_short2.py で作り、1つの場面に1枚の図でも段のリストで足りた(assemble_short2.py の動きは pop・slam・none だけ。slide は使えない)。数を数え上げる段で、7字の数(「1万1000台」)を 240px にすると左右の端で切れて、数字の頭が読めなくなった。数そのものは切らない大きさ(7字なら 190px)にする。本編の「今年」は、図では「2026年」と書く(ショートは後から見られる)。「フィジカルAIの現在地」は作業環境に tts/ がなかったので、tts_import.py で voice_eleven/ハコブ から作り直した。「AIエージェントの取り違え」の voice_eleven/ハコブ は作り直した3文(047・078・079)が入った最終版(ハコブ_v2・ハコブ_v4 は試し)。
書き出しのログと測った数値
assemble.py の書き出しのログ(全量)
最後に本編を書き出したときのログです。1行目が BGM と効果音の数、そのあとが効果音を鳴らした時刻・文番号・音・大きさ・その文の先頭16字、最後の行が全体のコマ数と確認用ファイルの大きさです。114番は、最後の出典の一覧の場面です(声はなく、6秒の間だけ)。
BGM 1本・効果音 72個 → mix.wav
14.15秒 文002 se_rise -6dB 「森さんは、その笑い方をゆっくりに」
20.22秒 文003 se_rise -6dB 「どう見えると思いますか。」
23.58秒 文004 se_rise -6dB 「うれしそうではなく、不気味な表情」
28.78秒 文005 se_rise -6dB 「森政弘さんは、日本のロボット工学」
38.92秒 文007 se_rise -6dB 「いま、人型ロボットが走ったり踊っ」
47.45秒 文008 se_rise -6dB 「その怖さ、実は1種類ではないのか」
53.03秒 文009 se_chapter_glock -8dB 「Pixels to Motors」
76.77秒 文012 se_chapter_marimba -8dB 「今日の問いは、ロボットの動きを怖」
83.02秒 文013 se_rise -6dB 「この番組では、怖さを考えるために」
88.55秒 文014 se_rise -6dB 「なんだか気味が悪い、という感じと」
96.82秒 文015 se_rise -6dB 「話は、人のそばで動くロボットの、」
102.12秒 文016 se_rise -6dB 「先に答えを言うと、2つの感じ方に」
121.35秒 文019 se_rise -6dB 「先に言っておくと、ロボットは人間」
138.02秒 文021 se_rise -6dB 「ここで1個だけ、引っかかっている」
148.25秒 文023 se_rise -6dB 「毎日同じ人が同じロボットを見る工」
172.98秒 文027 se_rise -6dB 「大きく3つあります。」
189.43秒 文032 se_chapter_marimba -8dB 「1つ目、気味が悪い感じには、どん」
202.05秒 文034 se_rise -6dB 「森さんの不気味の谷は、人に似るほ」
216.15秒 文036 se_rise -6dB 「森さんの文章には、本物そっくりの」
233.22秒 文039 se_rise -6dB 「この例は、動きだけの話ではありま」
240.58秒 文040 se_rise -6dB 「そして森さんは、動くと、親しみの」
251.82秒 文042 se_rise -6dB 「Pixels to Motors」
262.02秒 文044 se_rise -6dB 「金属の体に、人そっくりの仕草が乗」
265.88秒 文045 se_rise -6dB 「速さの変化が少なく、同じ調子です」
270.78秒 文046 se_rise -6dB 「そして、速い動きと、次が読めない」
274.52秒 文047 se_rise -6dB 「どれが、気味の悪さと危ない感じの」
282.83秒 文048 se_chapter_marimba -8dB 「2つ目、危ない感じには、どんな手」
293.88秒 文050 se_rise -6dB 「ドイツの労災保険の研究所が、仮想」
301.42秒 文051 se_rise -6dB 「とても速い動きでは、作業の負担と」
305.92秒 文052 se_rise -6dB 「そして、速くて動きを予測しにくい」
312.62秒 文053 se_rise -6dB 「近くにいるほど不安が強まり、反対」
320.62秒 文054 se_rise -6dB 「ただ、これは仮想現実の中の、本物」
326.62秒 文055 se_rise -6dB 「ここからは、少し別の話です。|通」
335.72秒 文056 se_rise -6dB 「人とすれ違うときは、目線や体の向」
341.82秒 文057 se_rise -6dB 「目線を持たないアームでは、動き方」
348.55秒 文058 se_rise -6dB 「しかも、物が近くに並んでいると、」
363.95秒 文061 se_rise -6dB 「ここで1つ考えてみてください。」
372.72秒 文063 se_rise -6dB 「答えは、この並び方だと、動き始め」
378.72秒 文064 se_rise -6dB 「取りたいほうへ、少しふくらんだ道」
385.52秒 文065 se_rise -6dB 「これを確かめた研究があります。」
401.35秒 文067 se_rise -6dB 「答えた時刻と正誤から見積もると、」
412.92秒 文069 se_rise -6dB 「研究者たちは、予想どおりの道と、」
434.48秒 文072 se_rise -6dB 「ただ、この研究は、読みやすくする」
441.30秒 文073 se_chapter_marimba -8dB 「3つ目、人間そっくり、とは別の方」
452.82秒 文075 se_rise -6dB 「森さん自身も、1970年の文章で」
475.05秒 文079 se_rise -6dB 「機械の作りを生かしながら、動き出」
492.05秒 文081 se_rise -6dB 「関節の動き方は、機械らしいままに」
495.62秒 文082 se_rise -6dB 「動き出しはゆっくり始めて、|止ま」
500.68秒 文083 se_rise -6dB 「どこへ向かうかが、動きの途中で分」
504.38秒 文084 se_rise -6dB 「人の手のそばでは、速さを落とす。」
508.15秒 文085 se_rise -6dB 「ただ、ここはフェアに言っておくと」
516.62秒 文086 se_rise -6dB 「それに、ふくらんだ道は、そのぶん」
534.10秒 文088 se_chapter_marimba -8dB 「ここからは、エイイチの見立てです」
537.72秒 文089 se_rise -6dB 「研究には、不安か、落ち着いている」
550.45秒 文091 se_rise -6dB 「机の上の小さなアームでは、実験ご」
561.28秒 文093 se_rise -6dB 「そこで、考えている案があります。」
565.72秒 文094 se_rise -6dB 「まず、通る道と周りとの距離をそろ」
574.52秒 文095 se_rise -6dB 「次は、動き出しだけを知らせる合図」
584.32秒 文096 se_rise -6dB 「変える条件は1つに絞り、見せる順」
589.52秒 文097 se_rise -6dB 「そうすれば、どの条件で感じ方が変」
595.92秒 文098 se_rise -6dB 「これは、机の上のアーム1台から考」
601.95秒 文099 se_rise -6dB 「それでも、怖さを直す前に、2つの」
609.97秒 文100 se_chapter_marimba -8dB 「じゃあ、冒頭の問いに答えますね。」
621.15秒 文102 se_rise -6dB 「今日の資料からは、人らしさと動き」
633.12秒 文103 se_rise -6dB 「そして、人間そっくり以外の動き方」
640.58秒 文104 se_rise -6dB 「次に、怖いと感じたロボットの動画」
658.92秒 文107 se_rise -6dB 「まとめると、怖さは1種類ではあり」
662.22秒 文108 se_rise -6dB 「物が近くに並んでいると、無駄のな」
668.35秒 文109 se_rise -6dB 「人間そっくりの外にある、機械的だ」
679.02秒 文110 se_rise -6dB 「人のそばで使うロボットでは、速さ」
688.27秒 文111 se_chapter_marimba -8dB 「この動画が役に立ったら、高評価と」
703.92秒 文114 se_rise -6dB 「」
frames 21302 = 710.1s 確認用 23.3MB (crf 29)
アップロード用の動画の中身(ffprobe・全量)
ffprobe -v error -show_entries format=duration,size,bit_rate:stream=codec_name,width,height,r_frame_rate,nb_frames,sample_rate,channels,bit_rate -of default=nw=1 out.mp4 の出力です。上の段が映像、次の段が音声、最後の段がファイル全体です。
codec_name=h264
width=1920
height=1080
r_frame_rate=30/1
bit_rate=346337
nb_frames=21302
codec_name=aac
sample_rate=48000
channels=2
r_frame_rate=0/0
bit_rate=203739
nb_frames=33283
duration=710.066667
size=49605732
bit_rate=558885
音の大きさ(ffmpeg の ebur128・全量)
ffmpeg -nostats -i out.mp4 -filter_complex ebur128=peak=true -f null - の最後の集計です。
Summary:
Integrated loudness:
I: -16.1 LUFS
Threshold: -26.5 LUFS
Loudness range:
LRA: 3.0 LU
Threshold: -36.5 LUFS
LRA low: -18.2 LUFS
LRA high: -15.1 LUFS
True peak:
Peak: -1.6 dBFS
ショートの長さ(ffprobe)
各ショートの作業フォルダの out.mp4 の長さです。
01_ゆっくり笑うと 22.933333秒
02_怖さは2種類 26.866667秒
03_最短は読みにくい 24.000000秒
声の設定(voice_eleven/ハコブ/設定.json・全量)
tts_eleven.py が最後に全文を作ったときの設定です。
{
"voice": "gWJpc8whMBqnF7Y0kc9f",
"name": "ハコブ",
"lines": "",
"model": "eleven_v4",
"seed": 7,
"stability": 0.55,
"similarity": 0.75,
"trial": "",
"time": "2026-10-15 10:41"
}
試し読みの文(voice_eleven/ハコブ/試し.txt・全量)
--try で作った試し読みの文です(「29ツイ」を試す前の版)。
試し_01: 顔には29対の人工の筋肉があり。
試し_02: 顔には29ついの人工の筋肉があり。
試し_03: 森政弘さんは、日本のロボット工学者です。
試し_04: もりまさひろさんは、日本のロボット工学者です。
試し_05: 本物そっくりの義手の例が出てきます。
ファイルの指紋(md5・全量)
KIOXIA に送る前に作業環境で取った指紋です。Mac に送ったあとの指紋と一致しました。本編と確認用は、作業環境の out.mp4・out_確認用.mp4 の指紋です。
e28b0c465122f5e5852dcfee5dfd7460 ロボットが怖い.mp4(out.mp4)
3faf9396cacf777e625422ee61d75228 ロボットが怖い_確認用.mp4(out_確認用.mp4)
5356b44ba29662f8f9ad0dacf9a3a281 ショート1_ゆっくり笑うと_版1.mp4
35ca9ac8ff09714bd93710a3253153a7 ショート2_怖さは2種類_版1.mp4
c589d8f35d3a94f4d9e5771d86d04f26 ショート3_最短は読みにくい_版1.mp4
6fe2cec549f9fa5ca319c566e4093057 ショート_タイトルと説明文.txt
c3b6f8a40053adfa8a2dca90c74ed3db 投稿文_X_LinkedIn.txt
c83c953860cf7d53601386d0f25be03b 概要欄.txt
書き出したタイトル・概要欄・投稿文・ショートの説明文
タイトル.txt
YouTube のタイトル(1行)。
ロボットの動きはなぜ怖い?|気味が悪いのか、危ないのか
概要欄.txt
description.py が下書きから作った概要欄。目次10か所の時間が入っている(55行)。
1970年の大阪万博に、笑う顔を持ったロボットがありました。森政弘さんは、その笑顔になる速さを半分にすると、うれしそうではなく、不気味な表情になる、と書いています。人型ロボットの動画を見て「すごいのに、なんだか怖い」と感じるとき、その怖さは1種類ではないのかもしれません。
この動画では、ロボットの動きの怖さを「なんだか気味が悪い」と「ぶつかりそうで危ない」の2つの感じ方に分けて考えます(この番組の整理です。両方が重なることもあります)。
先に答えを言うと、今日の資料からは、人らしい見た目と動きや手ざわりの組み合わせ、速さ、動きの予測しにくさが、手がかりになります。ただ、原因をすべて説明できたわけではありません。人間そっくり以外の動き方も、怖さを減らす候補として確かめたいと考えています。
▼目次
0:00 万博の笑う顔のロボット
0:53 この番組について
1:17 今日の問い
1:42 先に答え
3:09 1. 気味が悪い感じには、どんな手がかりがあるのか
4:43 2. 危ない感じには、どんな手がかりがあるのか
7:21 3. 人間そっくり、とは別の方向はあるのか
8:54 エイイチの見立て
10:10 冒頭の問いへの答え
11:28 エンディング
▼この動画で扱う範囲
・人のそばで動くロボットの、動き方の話です。顔や肌の作り方の話は扱いません
・紹介する研究は、どれも本物のロボットの隣に人を立たせたものではありません(動画と、仮想現実の実験です)
・2つのコップの研究は、行き先の読みやすさを調べたもので、怖さが減るかまでは調べていません
・「気になる動き4つ」は、Pixels to Motors が確かめたい着眼点で、研究で確かめた分類ではありません
・見立てで話す測り方は、考えている案で、まだ試していません
▼出典(2026年10月15日に確認)
・森政弘「不気味の谷」『Energy』7巻4号(1970年)。英訳 Masahiro Mori, translated by Karl F. MacDorman and Norri Kageki「The Uncanny Valley」IEEE Spectrum(2012年6月12日)https://spectrum.ieee.org/the-uncanny-valley
(参照したのは森さんが確認した2012年の英訳です。1970年の日本語の原文とは照合していません)
・IFA(ドイツ法定労災保険の労働安全研究所)情報シート(2013年)https://www.dguv.de/medien/ifa/en/pub/ada/pdf_en/aifa0348e.pdf
・Koppenborg ほか「Effects of movement speed and predictability in human–robot collaboration」Human Factors and Ergonomics in Manufacturing & Service Industries(2017年)
・Anca D. Dragan, Kenton C.T. Lee, Siddhartha S. Srinivasa「Legibility and Predictability of Robot Motion」HRI 2013 https://publications.ri.cmu.edu/storage/publications/pub_files/2013/3/legiilitypredictabilityIEEE.pdf
・Bartneck ほか(2009年)Godspeed 質問票 https://www.bartneck.de/2008/03/11/the-godspeed-questionnaire-series/
・Pixels to Motors「動きの不気味さ」https://pixelstomotors.github.io/physical-ai-todo/issues/motion-uncanny-valley.html
図は資料をもとに作り直した模式図です。
▼この番組について
「フィジカルAI解説|Pixels to Motors」は、フィジカルAIのニュースや実機の記録から、現場で使える形を考える番組です。
エイイチは、本業のデザイナーをしながら、ロボティクスの研究と開発をしています。その中で分かったことと、そこから考えた見立てを、案内役のハコブくんがお伝えします。
・ナレーションは AI 音声(ElevenLabs)です。話しているのは Pixels to Motors のキャラクター、ハコブくんです
・BGM は ElevenLabs Music で作った曲、効果音はコードで作った音です
▼ロボットの開発・導入のご相談
メール:pixelstomotors@adaptdesign.jp
▼リンク
Webサイト:https://adaptdesign.jp/pixelstomotors
GitHub:https://github.com/PixelstoMotors
X:https://x.com/adaptdesignjp
LinkedIn:https://www.linkedin.com/in/eiichi-shimazu
チャンネル登録・高評価もよろしくお願いします。コメントは、エイイチが全部読んでいます。
#フィジカルAI #ロボット #不気味の谷
投稿文_X_LinkedIn.txt
X と LinkedIn の投稿文。動画の URL は公開後に入れる(44行)。
【X】(URL込み140字以内。URLは23字で数える)
人型ロボットの動画、すごいのに、なんだか怖いって感じない?その怖さを「気味が悪い」と「危ない」の2つに分けて考えてみた。入口は、1970年の万博の笑う顔のロボットの話だよ。
【動画のURL】
#R2R2R #PixelsToMotors
【LinkedIn 本文】(動画は LinkedIn に直接アップロードする。英語→日本語)
"Impressive, but somehow scary." That's how many people feel watching humanoid robot videos. So I split that fear into two feelings: something feels creepy, and something feels dangerous.
Creepy: in 1970, Masahiro Mori wrote that a robot face at the Osaka Expo, with 29 pairs of artificial muscles, would look creepy rather than happy if its smile were slowed to half speed. He also wrote that movement amplifies both the peak of affinity and the uncanny valley.
Dangerous: in a virtual-reality study by Germany's IFA, very fast robot movements raised workload and anxiety, and fast, unpredictable movements were seen as dangerous. Very slow movements, on the other hand, hurt task performance.
Readable motion: in a 2013 study, when two objects sat close together, a slightly curved path let viewers guess the target earlier than the shortest path. That study did not measure fear.
These are clues, not a full explanation, and the two feelings can overlap. My view: before fixing "scary" motion, decide how to measure the two feelings separately. Right now I record every success and failure of my desk arm, but not whether watching it felt uneasy.
The narration is an AI voice (ElevenLabs).
More videos on YouTube: https://www.youtube.com/@PixelstoMotors
「すごいのに、なんだか怖い」。人型ロボットの動画を見て、そう感じる人は多いと思います。そこで、その怖さを2つの感じ方に分けてみました。なんだか気味が悪い、と、ぶつかりそうで危ない、です。
気味が悪い:1970年、森政弘さんは、大阪万博の29対の人工の筋肉を持つロボットの顔について、笑顔になる速さを半分にすると、うれしそうではなく不気味な表情になる、と書いています。動くと、親しみの山も不気味の谷も大きくなる、とも書いています。
危ない:ドイツの労災保険の研究所 IFA の仮想現実の実験では、とても速い動きで作業の負担と不安が高まり、速くて動きを予測しにくいロボットは危ないと受け取られました。反対に、遅すぎると作業の成績が落ちています。
読みやすい動き:2013年の研究では、物が近くに並んでいるとき、少しふくらんだ道のほうが、最短の道より早く行き先を当てられました。ただ、この研究は怖さまでは測っていません。
これらは手がかりで、原因をすべて説明できたわけではありません。2つが重なることもあります。見立て:怖い動きを直す前に、まず2つの感じ方を分けて測る方法を決めたい。机の上のアームでも、成功と失敗は記録していますが、見た人が怖かったかはまだ記録していません。
ナレーションは AI 音声(ElevenLabs)です。
YouTube のほかの動画: https://www.youtube.com/@PixelstoMotors
【LinkedIn コメント欄の補足】(投稿のあとに自分で書き込む。英語→日本語)
YouTube version: 【動画のURL】
Sources: Masahiro Mori, "The Uncanny Valley" (1970; English translation by MacDorman and Kageki, IEEE Spectrum 2012) / IFA information sheet (2013) and Koppenborg et al. (2017) / Dragan, Lee, Srinivasa, "Legibility and Predictability of Robot Motion" (HRI 2013) / Bartneck et al. (2009), Godspeed questionnaire
Note: I relied on the 2012 English translation of Mori's essay and did not check it against the 1970 Japanese original. Both studies used videos or virtual reality, not people standing next to a real robot.
YouTube版:【動画のURL】
出典:森政弘「不気味の谷」(1970年。英訳 MacDorman・Kageki 訳、IEEE Spectrum 2012年)/IFA 情報シート(2013年)と Koppenborg ほか(2017年)/Dragan, Lee, Srinivasa「Legibility and Predictability of Robot Motion」(HRI 2013)/Bartneck ほか(2009年)Godspeed 質問票
補足:森さんの文章は2012年の英訳を参照し、1970年の日本語の原文とは照合していません。紹介した2つの研究は、動画と仮想現実の実験で、本物のロボットの隣に人を立たせたものではありません。
ショート_タイトルと説明文.txt
ショート3本のタイトルと説明文(20行)。
ショート1_ゆっくり笑うと_版1.mp4
タイトル:ロボットの笑顔、ゆっくりにすると不気味になる?
説明文:
出典:森政弘「不気味の谷」1970年(英訳 IEEE Spectrum 2012年)。速さを半分にすると不気味になる、と森さんが書いた話です。本編:「ロボットの動きはなぜ怖い?|気味が悪いのか、危ないのか」(本編のURLを入れる)
ナレーションは AI 音声(ElevenLabs)です。
#フィジカルAI #ロボット #不気味の谷
ショート2_怖さは2種類_版1.mp4
タイトル:ロボットの怖さは2種類? 気味が悪いのか、危ないのか
説明文:
2つに分けるのは番組の整理で、両方が重なることもあります。出典:森政弘「不気味の谷」1970年/IFA 情報シート 2013年(仮想現実の実験)。本編:「ロボットの動きはなぜ怖い?|気味が悪いのか、危ないのか」(本編のURLを入れる)
ナレーションは AI 音声(ElevenLabs)です。
#フィジカルAI #ロボット #不気味の谷
ショート3_最短は読みにくい_版1.mp4
タイトル:最短で動くロボットほど、行き先が読みにくい?
説明文:
出典:Dragan ほか「Legibility and Predictability of Robot Motion」HRI 2013(動画を見せた研究。怖さが減るかまでは調べていません)。本編:「ロボットの動きはなぜ怖い?|気味が悪いのか、危ないのか」(本編のURLを入れる)
ナレーションは AI 音声(ElevenLabs)です。
#フィジカルAI #ロボット #ロボットアーム
参照した資料
- 森政弘「不気味の谷」『Energy』7巻4号(1970年)。英訳 Masahiro Mori, translated by Karl F. MacDorman and Norri Kageki, The Uncanny Valley(IEEE Spectrum、2012年)。1970年の日本語の原文とは照合していません
- IFA 情報シート(2013年)(ドイツ法定労災保険の労働安全研究所)
- Koppenborg ほか「Effects of movement speed and predictability in human–robot collaboration」Human Factors and Ergonomics in Manufacturing & Service Industries(2017年)。本文は確かめていません(codex は出版社の要旨まで確認)
- Anca D. Dragan, Kenton C.T. Lee, Siddhartha S. Srinivasa Legibility and Predictability of Robot Motion(HRI 2013)
- Bartneck ほか The Godspeed Questionnaire Series(2009年)
- Pixels to Motors の課題カード 動きの不気味さ
- Pixels to Motors の YouTube チャンネル
- Pixels to Motors
