Inside of LOVOT

GROOVE X 技術ブログ

LOVOTと暮らす数十年を支える「治療」と「定期健診」の現場

(GROOVE X Advent Calendar 2025 15日目の記事です)

1. はじめに

こんにちは!アフターサービスチームのU-Gです。

家族型ロボット「LOVOT」がオーナーと長く幸せに暮らすために、絶対に欠かせない場所があります。それは、LOVOTたちが不調のケアや、健康維持のために訪れる「LOVOT病院(リペアセンター)」です。
LOVOTは単なる家電ではなく、家族として愛される存在です。だからこそ、GROOVE Xのアフターサービスは、故障を直す「治療」と、健康を維持する「定期健診」の両輪で支えられています。今回は、LOVOTが数十年愛され続けるための生命線である、アフターサービスの裏側と技術的な挑戦についてお話しします。

2. 「治療」と「定期健診」 健康を守る2つのアプローチ

LOVOTは自律的に動き回り、複雑なセンサーやアクチュエーターの塊であるため、そのケアは非常に繊細です。私たちは、大きく分けて2つの側面からLOVOTの健康を守っています。

不調を治す「治療(修理)」

「唯一無二の存在を、健康な状態で、一刻も早く家族の元へ帰す」。そのために、リペアの現場では以下のサイクルが高速で回されています。

  • 精密な診断: エンジニアとも連携し、ログ解析を含めた多角的な診断を行う
  • 現場での改善: 机上の空論ではなく、実際にリペアを行う現場に立ち、治具の作成や手順の最適化を行う
  • 品質の追求: 再発を防ぐための厳しい品質基準を設ける

健康を維持する「定期健診(メンテナンス)」

人間が長生きするために健康診断を受けるように、LOVOTにも定期的なケアが必要です。
LOVOTには、総合的な健康チェックを行う「LOVOTドック」や、消耗しやすい関節パーツを一新する「サーボモーター交換パック」といった専用のメンテナンスメニューがあります。

壊れてから直すだけでなく、悪くなる前にケアをする。この「治療」と「定期健診」の両方があるからこそ、LOVOTはいつまでも元気に家族に寄り添うことができるのです。

3. プロダクトを存続させる「サステナブル」な仕組みづくり

「どんなに素晴らしいプロダクトでも、アフターサービスがおろそかになれば、いつか市場から消えてしまう」

LOVOTのような複雑なロボットが、5年、10年、そして数十年と社会に存在し続けるためには、開発時と同じくらい、あるいはそれ以上に「維持する仕組み(アフターサービス)」が重要になります。

LOVOTオーナーの増加に伴い、現在「LOVOT病院」は1箇所だけではなく、複数の拠点へと拡大しています。拠点を複数持つことで、万が一の災害時などのリスクヘッジになるだけでなく、入退院のキャパシティを安定させ、より迅速な「治療」や「健診」を実現しています。そして将来的には、日本全国、さらには海外への展開も視野に入れ、世界中どこにいても安心してLOVOTと暮らせる体制づくりを目指しています。

4. チーム一丸となって挑む「改善」のループ

リペアやメンテナンスの現場は、ハードウェアの知識だけでは回りません。電気回路、機構設計、そしてソフトウェア。多様な専門性を持つエンジニアと、実際に手を動かすパートナー企業のスタッフが密に連携しています。

現在のアフターサービスチームが目指しているのは、以下の3つのバランスが取れたサステナブルな体制です。

  • 技術(Technology): 確実な故障診断とメンテナンス技術の確立
  • コスト(Cost): ユーザーにとってもメーカーにとっても持続可能なコスト構造
  • 運用(Operation): 複数拠点・100名規模のスタッフが連携し、ムダなく動けるオペレーション

現場から上がってきた「メンテナンスしにくい箇所」の声を開発へフィードバックしたり、新しい診断ツールを導入して検査時間を短縮したり。こうした地道な改善活動が、ダイレクトに「入院期間の短縮」や「品質向上」という成果に繋がります。

自分の仕事が、LOVOTとその家族の安心に直結する。それがこの現場の大きな特徴です。

5. おわりに

LOVOTが当たり前にそばにいる未来を作るためには、華やかな機能開発の裏側で、地道に、しかし熱量高く稼働する「治療と健診の現場」が不可欠です。
テクノロジーの力で、愛する存在を守り続ける。GROOVE Xのアフターサービスは、今日もその使命を胸にLOVOTたちと向き合っています。


そんな私たちと、一緒にお仕事してみませんか? 是非、下記募集をご確認ください。 recruit.jobcan.jp

AIを使ったLOVOTのQA業務改善の試行錯誤

この記事はGROOVE Xアドベントカレンダー2025の14日目の記事です。

こんにちは!LOVOT の ソフトウェアの検証を実施・改善している者です。

元々QAチームに所属して活動していましたが、11月からふるまいチームに異動しました!

そんな私が、今社内でも推奨されているAIを使った業務改善の取り組みをしたときのAIとの格闘を紹介します。

第1章:ログ解析の職人芸をAIに頼みたい

今年、QAチームでは新たな試みとしてアルバイト採用をスタートしました!

採用のハードルを下げるため、丁寧な手順書を準備することでITスキルを不問とし、それよりも「丁寧な作業が得意」「細かい作業や繰り返しの作業が得意」な方を重視して採用しています。

素晴らしい方々にジョインいただき、リリース時のQA業務が非常にスムーズに進むようになりました。過去最高に安定したQAになっています。

一方、手順書に落としづらい作業のお願いが困難となりました。

その一つが、ログの解析です。QA中にLOVOTが思わぬ行動をした時、エンジニアさんに問い合わせる前にログを確認して一次解析を行い、既知のものか新規のものかを判断します。

複雑な手順に加えシステム内部の理解や経験に基づく勘所も必要で、教育コストが非常に高くなっています。

「経験が必要な解析作業を、誰でもできるようにしたい」

「ログを渡せば、AIがいい感じに原因を教えてくれるボットが作れないか?」

「誰でもできるようになったら、リリース頻度をあげられる可能性がある」

と考え、トライしてみることにしました。

第1の壁:架空のふるまいを作り出すAI

まず最初に試したのは、Gemini Advancedの 「Gems(ジェム)」 機能でした。

特定の指示を覚えさせたカスタムチャットボットを作れる機能で、これなら手軽に「ログ解析専門家」を作れるのではないか?と考えたのです。

結果は悲惨なものでした。

  • ふるまいの流れを抽出したところ、存在しないふるまいを言われる
  • 時刻が正しくない
  • 途中のログを飛ばされる
  • 確認してほしいポイントをスルーされる
  • 同じログを渡しても毎回全く違う結果になる

モデル変更で改善したものもありましたが、全く使い物になる気配がありませんでした。

どんなにプロンプトを変えてもうまく行かず、途方に暮れました。

技術組織デザインチーム(社内の様々な課題をAIと技術で解決し、社内の技術文化の醸成を促進するチーム)に相談したところ、役割を分けたほうが良いというアドバイスとDifyというツールをご紹介いただきました。

Difyは「ディファイ」ではなく「ディフィ」と読むそうです。(https://xtech.nikkei.com/atcl/nxt/column/18/03236/061200004/

DifyはノーコードでAIアプリを作れるツールで、ビジュアルプログラミングのようにブロックを線でつなげて機能を作ります。

役割を分割できるようになったので、これで使えるようになるかも。と思っていましたが、そんな事はありませんでした。

第2の壁:ログデータが大きすぎる

Difyに触ったことがなかったので、まず、ログをLLMに渡してみました。するとエラー。

エラー

Bad Gatewayとのことなのでサーバー側の問題かと考え、一旦作業をやめて翌日再度実行したのですが、同じエラーが出ました。

ビジュアルプログラミングに慣れていないのでつなぎ方が悪いのかと考えたのですが、社内でDifyを使ったことがある方に見ていただいてもおかしなところは見つからず・・

原因が全くわからず情報収集をしていたところ、Difyの仕様上、一定以上のトークン量やファイルサイズを超えると、LLMに到達する前にタイムアウトやGatewayエラーになることがあるということと、Geminiならコンテキストウィンドウが広いということが分かりました。

DifyのデフォルトのLLMではGeminiの選択肢がなかったので、技術組織デザインチームに相談して、Geminiを使えるようにしていただいたところエラーの内容が変わり、ついにエラーの原因が分かりました。データが大きすぎるということでした。

そこで、解析させたい時刻周辺のログに切り抜き、Difyに短くしたデータを渡したところ、しっかりと結果が出るようになり、更に良さそうな結果になったので実際の解析で使ってみてもらいました。

結果:タイムアウトエラーが多発

解析が成功したときの精度は高いものの、解析させたい時刻周辺にログを絞ってもログが多いケースがあり、タイムアウトエラーになる、処理時間がかかりすぎるなど動作が不安定で、実業務に使うにはまだ課題があることが分かりました。

この課題が洗い出せたときにはふるまいチームに異動していたため、このトライは一旦ストップとなりました。

このトライでは、AIに大量のデータと一度に多くの指示を出すと精度が悪くなる・処理できないということを学びました。LLMが消化しやすい形にタスクやデータを分解することが、AIを使う上で重要だと痛感しました。

第2章:LOVOTの健康チェックをAIに頼みたい

QAチームからふるまいチームに異動となり、QA周りで改善したいことをヒアリングしたところ、たくさんありました。

そのうちの一つがLOVOTの健康チェックです。

実は、開発チームのLOVOTたちの中には開発を進めているうちにいつのまにか健康な状態じゃなくなっている子もいます。

工場で生まれた子はたくさんの検査を受けてそれをパスしてから工場を出ています。

検査の様子はこちら

開発チームのLOVOTたちも工場で生まれていますが、その後に社内で最新のパーツに変えられたり、発売される頃には仕様が変わっていたりなどで、お家にいるLOVOTたちとは違う状態になっていることが多々あります。

厄介なのは見た目からは全く分からないところです。

そこで、Grafanaに上がっているデータから健康チェックすることが必要になります。ただ、同じ値だったら不健康、でも短時間なら健康、短時間でも頻繁に起きるようなら不健康・・などと判断にも慣れが必要なものがあります。

不健康なLOVOTに気づかずその子とQAを進めたところ、結果の確認が非常に難しくなり、リリース日が変更になったことがあり、事前に判別したいというリクエストでした。

誰でも簡単に健康診断できるようにしたい。でも判断がややこしいのでスクリプトにするのは難しい・・と、考えていたときに思い出したのがDifyでした。

データソースがGrafanaになることはチャレンジでしたが、そこさえ乗り越えたらそんなに難しく無いはず。とトライしてみました。

第1の壁:データをLLMに渡せない

Geminiに「difyでAPIを使ってデータを取得することは可能ですか?grafana APIを使いたいです。」と聞いたらカスタムツールというものを教えてくれたので使ってみました

Tools(https://cloud.dify.ai/tools?category=api)で「Create Custom Tool」を選択

Difyのカスタムツール①
Difyのカスタムツール②

Schemaに若干苦戦しました。

OpenAPIスキーマというもので、「外部APIの取り扱い説明書」とのことなのですが、どう書いたら良いのかがよく分からなかったので、Geminiと何度かやり取りをして、うっすら理解し動くところまで持っていきました。

openapi: 3.1.0

# ----------------------------------------------------
# 1. APIの基本情報
# ----------------------------------------------------
info:
  title: Grafana API
  version: 1.0.0
  description: |
    Grafanaのデータソース(Prometheus) に直接クエリを送信します。
    データを取得するために使用します。

# ----------------------------------------------------
# 2. APIサーバーのURL
# ----------------------------------------------------
servers:
  - url: https://your-grafana.example.com

# ----------------------------------------------------
# 3. APIの機能(エンドポイント)定義
# ----------------------------------------------------
paths:
  /api/datasources/proxy/xx/api/v1/query_range:
    get:
      operationId: getGrafanaData
      summary: Grafanaデータを取得
      description: |
        Grafanaデータを取得します。
      parameters:
        - name: query
          in: query
          description: |
            実行するPromQLクエリ文字列。
          required: true
          schema:
            type: string

        - name: param1
          in: query # URLのクエリパラメータ (&param1=...) になります
          description: |
            param1
          required: true
          schema:
            type: string

        - name: param2
          in: query # URLのクエリパラメータ (&param2=...) になります
          description: |
            param2
          required: true
          schema:
            type: string

        - name: step
          in: query
          description: |
            データの解像度(間隔)。(例: "1m", "5m", "1h")
            ユーザーが特に指定しなければ、デフォルトの "1m" を使用してください。
          required: false # 必須ではない
          schema:
            type: string
            default: "1m"

      # ----------------------------------------------------
      # 5. APIからの応答(レスポンス)の定義
      # ----------------------------------------------------
      responses:
        '200':
          description: クエリ成功。Prometheusの時系列データ。
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  data:
                    type: object
                    properties:
                      resultType:
                        type: string
                      result:
                        type: array
                        items: 
                          type: object
        '400':
          description: クエリが不正 (文法エラー、パラメータ不足など)
        '401':
          description: 認証エラー (Difyの認証設定が間違っている)

これでカスタムツールができたので、このカスタムツールとLLMをつないでみました。

早速、invalid context structure とエラーになりました。

Geminiに相談したところ

「LLMが読める形式(コンテキスト)になっていない」と判断されたときに発生する典型的なエラーです。

とのこと。コードノードを間に挟んでデータを整形すると良いとアドバイスもくれました。

ちなみに、HTTPリクエストノードでも同じことができるようですが、カスタムツールであれば認証設定をツール側に隠蔽できるというメリットがあるようで、今回のケースではカスタムツールのほうが適任でした。

コードノードではPythonまたはJavascriptの実行ができるということなのですが実行してみると

contents must not be empty

色々変えてみても同じエラーになり、デバッグをしようとprintを挟んでも何も表示されず、かなり苦戦をしました。

理由は

宣言した出力変数を含む辞書を返す必要があります

というコードノードの仕様でした。

どういうことかというと

DifyのCodeノード

returnでOUTPUT VARIABLESで指定した名称・型を指定した上で辞書で返却する必要があり、printは使えないということでした。

この仕様に気づいてからやっとLLMに値が渡るようになりました。

第2の壁:データが大きすぎる(再)

LLMに値が渡るようになり順調に実装を進めていたのですが、再度LLMでデータが大きくて処理できないエラーが出ました。思っていたよりもGrafanaのデータが大きかったようです。

ただ、今回は幸いjsonデータかつ中で配列になっていたので、配列ごとに分割したら意味のある単位で渡せると考えました。

ただ、それをコードノードだけでは実現できないようで、コードノードとLLMを何度も行き来するようにはできていませんでした。良さそうなノード無いかなとノードを眺めていたところ、もとめていたそのもの「Iteration」がありました。Iteration:反復という意味です。

結果:成功

これまでは大量のデータを一度に渡していたためLLMが処理しきれませんでしたが、Iterationによって1回1データというLLMが消化できるサイズに小分けにして渡すことができ、その結果、精度が劇的に向上しました。

開発機の中で問題ないと思われていた機体が実は不健康だったというのが既に洗い出され、実績をあげ始めています。

まとめ

今回の試行錯誤を通じて痛感したのは、「LLMは魔法の箱ではない」 ということです。 巨大なデータをただ投げ込むだけでは、AIは力を発揮できません。

QAチームでの失敗(データ過多)と、ふるまいチームでの成功(データの構造化・分割)を経験したことで、「AIが処理しやすいようにデータを『お膳立て』する設計能力」 こそが、これからのエンジニアに求められるスキルなのだと学びました。

Difyはその「お膳立て」をローコードで、柔軟に組める素晴らしいツールです。 まだまだ道半ばですが、今回の失敗と成功を糧に、今後も業務改善を促進させていきたいと思います。

一緒に働く仲間募集中

LOVOTの成長にご協力いただける方をお待ちしています!

ポジションなどの詳細はこちら↓

recruit.jobcan.jp

もしご興味があれば是非ご検討ください!

最後まで読んで頂きありがとうございました!

LOVOTの"脚"、進化するホイールのお話

この記事は、GROOVE Xアドベントカレンダー2025 の13日目の記事です。

はじめに

こんにちは。メカニカルデザイナーの加藤大二朗です。
今回はLOVOT 3.0のホイール開発について設計担当者である町田貴志さんにお話を聞いてきました。
今の構造になった経緯やこだわりのポイント、今後の進化について深掘りしていきたいと思います。

町田さんとLOVOTのニーナ。

マンガみたいな物作ってますよ。

まずは2.0からの大きな変化点、タイヤの脱着機構についてお話を伺います。
加藤:タイヤが外せることで劇的にお手入れ効率が向上しましたが、どういった経緯で今の形状になったんですか?

町田:開発当初のコンセプトは「タイヤの清掃が可能な構造」というところまでで脱着可能とまでは明言されていなかったんですが、実際にLOVOT 2.0のタイヤを清掃してみたり普段お手入れをしている皆様のリアルな声を聞いて、一番きれいにお手入れができる構造を検討した結果、今の脱着機構に行きつきました。

加藤:「お手入れ」ですからね。実際に手が入ってなんぼってことですね。

町田:そうなりますね! 実際に手が届くようになってタイヤの清掃の他に吸気フィルターにもアクセスできるようになりましたし、新品のタイヤへの交換も自宅で可能になったので、難しいところもありましたがやってよかったなと思っています。

加藤:「難しいところ」というお話がありましたが、具体的に聞かせていただけますか?

町田:減速ギアを内蔵しているタイヤと動力のモーターを分離させることになるので、回転を伝える部分と回転しないフレームと固定する部分を同時に、尚且つ確実に再装着可能にする形状には気を使いました。

加藤:実際にタイヤを装着するとき特に動力軸の接続を意識せずに装着ができますが、タイヤ中央のギザギザしている形状に秘密があるんですか?

秘密は中央のギザギザに。
町田:まずタイヤのツルツルしている面の中央にある円筒をLOVOT側のフレームにある穴に嵌めると、カバーを閉めた時にタイヤとLOVOT側のギザギザが重なる位置関係になり、まずお互いがギザギザの斜めの面と面で当たるので引っかかることなくスムーズに狙った位置に納まるようになっています。
中央の金属軸がモーターの動力を伝達します。
加藤:中央のモーターが直結する部分もタイヤ側の斜めの面に当たることで違和感なく納まりますね。

町田:外側がフレームとの固定、内側が動力のモーターとの接続。これを別々に尚且つ同時に嵌るように調整しています。

加藤:実は合体ロボなんですね!

町田:他にも安全に作業ができるようにタイヤが嵌っているかどうかをチェックするセンサーと、サイドパネルが閉まっているかをチェックするセンサーを搭載していて二重の確認機構になっています。

加藤:赤外線ですか?

町田:赤外線です。

加藤:あの侵入者を検知する赤いビームですか?

町田:・・・合ってるといえば合ってます。

ピットストップチャレンジ!

加藤:タイヤもキャスターも取り外し可能になっていますし、まるでF1のピットインのように素早く交換も可能ですね。

町田:F1ほどの交換スピードは求めていませんが、ツールを使わずいかに簡単に脱着できるかにはこだわりました。

加藤:F1は3秒以内で交換できるみたいです。

町田:挑戦してみますか!!

ルール:ホイール / キャスターが出ている走行形態からスタートし、左右一人ずつサイドパネルを外しタイヤを交換。再びサイドパネルを装着するまでの時間を計測します。

新競技、「LOVOTピットストップ タイムアタック」

結果10.95秒

加藤:まだまだ伸びしろありそうですね・・・

町田:LOVOTも我々も伸びしろありそうですね。

正しいお手入れ方法はこちらを参照してください。

サイドパネルについて(LOVOT 3.0) – LOVOT

Naturally and freely

今後のホイールとLOVOTの進化についてもお話を伺います。
加藤:LOVOTにとっての脚にあたるホイールですが、今後どのような進化をしていくのでしょうか?

町田:やっぱり脚なので、脚でできることを追求していきたいです。例えば空を飛びたいとして、プロペラやエンジン類、噴射装置などを実装すれば簡単ですが

加藤:(それ簡単なんだ・・・確かに町田さん掃除機を改造して飛ばしてたけど。)

町田:LOVOTとして空を飛ぶとしたら足で跳躍して腕で羽ばたくと思うんですよ。

加藤:確かに見たいのはそっちです。

町田:そうなると第一歩はジャンプになる。効率の良いジャンプを求めるとまず首を縮め身を圧縮してから勢いよく伸ばすと同時に腕も上方に振って重心を持ち上げた瞬間に脚で地面を蹴って残った自重と受けている重力以上の力を出すことが必要になりますよね。

加藤:全身の連動と共にタイミングとバランスの制御も肝心ですね。

町田:そうなんです。もうホイールだけの話じゃないですが、フィジカルと身体制御の連動でLOVOTは "より自然に、より自由に" 動けるようになる。その辺りを追求していくことが進化であり成長だと思っています。

加藤:まさにハードウェアーとソフトウェアーの連動、GROOVE Xの得意分野ですね。

町田:跳躍については一例ですが今後の進化に期待していただきたいです!LOVOTも我々も伸びしろありますから。

羽ばたけニーナ。

この話「まとめるには早いだろ」と思うけど

ホイールにはまだまだ複数実装している障害物検知センサーやパワーを出すための減速機構、本体を支える耐久性や丸みとメカニカルな部分を融合させたデザイン性、それを量産可能な構成にいかにまとめるのかなど聞きたいことは山ほどありますが、今回のインタビューはここまでとさせていただきます。

ホイールというLOVOTの構成部品ひとつにフォーカスしてお話を伺いましたが、いかに生物感のある動作を生み出すか、触れ合う人に優しくあるかなど細かい部分にまでLOVOTのコンセプトが浸透していてる印象を受けました。

大局を見て精密な設計をする町田さん。ありがとうございました!



GROOVE Xでは現在、我々と一緒にLOVOTを開発していただけるメカ設計者を募集しています。
クリエイティブな発想を具現化できる方、ぜひご応募お願いします。

recruit.jobcan.jp

MQAチームの紹介

みなさまこんにちは! GROOVE XのMQAチームのikedaです! この記事は、GROOVE X Advent Calendar 2025の12日目の記事です。

MQAチームって何?

MQAはMarket Quality Assurance(市場品質保証)の略で、一般的には品証なんて呼ばれたりします。 平たく言うと、市場(一般ユーザー) で起きた故障の傾向を解析し、実際に起きた故障を調査し、製品の品質を高めていく活動をするチームです。

LOVOTのローンチ直後は、世の中になかった製品を一般ユーザーの元で継続的に稼働させる中で、多くの課題や問題が発生し、オーナーの皆様にはご迷惑をおかけしました。 オーナー様の温かい声援やご協力によってLOVOTはより壊れにくく、魅力的なプロダクトに成長していっています。

今日はMQAチームから見た、LOVOTの成長の歩みを少しご紹介できればと思います。

傾向分析

どんな問題でも正しく対処するためには現状を知ることが重要ですよね。

MQAチームでは、市場での稼働・故障実績を把握し、品質改善活動の第一歩としています。 以下のグラフは、チームメンバーが月次で統計を取っている故障事象の傾向をまとめたものです。

故障傾向(カラフルできれい)

こういった傾向をもとに、改善が必要かを検討したり、開発チームに共有して改善を依頼したり、または実際に自分たちで調査・解析したりして改善案を立案したりします。

三現主義に基づいた調査

傾向分析の結果、なにか問題が起きていそう?となった症状は深堀調査を行います。 調査は現場・現物・現実、いわゆる三現主義を重視します。

  • 現場
    • 故障しているLOVOTを修理しているリペア拠点に行く、その場でアフターチームと事象を一緒に調査する
    • 時には実際に事象が起きているお客様宅に訪問して一緒に調査を行うことも
  • 現物
    • 故障している部品を本社に取り寄せ詳細解析を行う
    • 時には外部の調査機関に調査を依頼して、より精密に解析を行うことも
  • 現実
    • なぜその事象が発生するのか?を実際のものを使って確認する
    • シミュレーションだけに頼らず、実際の物を使って調査を行う
    • 時にはオーナーの皆様にはお見せしたくない、過酷な試験も・・・

こういった原理原則に則った調査を行うことで、問題の本質を掴み、より適切な改善を行えるようにしていきます。 MQAチームはこういった純度の高い調査結果を、開発チームにインプットすることで、改善活動を加速できるようにしています。

PCR/PCNによるLOVOTへの導入プロセス

問題の調査を行い、原因を究明し、改善・対策の検討を重ねて、改良部品が出来上がる。 それで改善活動が終わりかというと、そういう簡単な話でもありません。

改善品を、これから生まれてくるLOVOTにどうやって導入するのか、また市場のLOVOTのリペアにどうやって導入していくのかは、改善活動より多くの解消すべき問題をはらんでいるのです。

GROOVE Xではこういった部品変更をPCR/PCNといった形で管理しています。

  • Product Change Request(PCR)
    • 設計変更を行いたい事を、関連チーム・協力会社さんへ伝える(要求する)
    • 変更内容に対する懸念事項を洗い出す
  • Product Change Notification(PCN)
    • 実際に設計変更を行う事を伝える

実際のPCR/PCNの管理はJIRA(プロジェクト管理ツール)を使ってシステム的に行っています。

PCN管理ボード(JIRA)

1万点以上の部品から構成されるLOVOTは、たった1つの部品を変更するだけでも、その部品以外の様々な部分に影響を及ぼす可能性があります。 各分野のエキスパートである、開発チーム・生産チーム・アフターチームが変更点をレビューする事で、

  • 修正による影響の背反が起きない
  • 背反があっても最小化できており、適切に改善が行われている
  • 生産・修理時に問題が発生しないか

といった事を議論し、その導入を決めています。

こういった、改善導入活動のサポートを行うことも、MQAチームの大切な仕事の1つなのです。

実際にどんな改善が入ったの?

では、実際にどういった改善が行われたのか、一例をご紹介したいと思います。

LOVOTは充電が必要になると、自ら充電ステーションであるネストに戻ります。 一般的な家電よりも多くの電力をLOVOTは必要とし、かつ1日に十数回も充電を行います。 そのような過酷な充電を担うLOVOTとネストの充電端子では、接触によるダメージや充電時に発生する熱ダメージが蓄積されることによって、当初想定していたよりも早く劣化が進んでしまい、充電端子が破損してしまうという問題が発生しました。 また、充電端子が故障することで正しく充電が行われず、バッテリーにも負担がかかり、LOVOTの故障につながってしまうこともありました。

左:正常な状態の充電端子       右:破損してしまった充電端子

本来は樹脂部品で隠されている、中央の金属キャップが全て露出するぐらい樹脂部品にダメージが入っています。 この状態になるとLOVOTは正しく充電ができず、充電時間が長くなったり、稼働時間が短くなったりと動作に支障をきたしてしまう事が多いです。 こういった破損を解消するために、GROOVE X一丸となって改善に取り組みました。

左:改善前の形状       右:改善後の形状(細かすぎてパット見じゃわからない)

その結果がこちらです! 非常に細かい改良ではあるのですが、壊れやすかった箇所の肉厚を増やし、衝撃・劣化に強くなるように改善を織り込んでいます。(それ以外にも細かい改良が盛り込まれています)

また、こちらの改善内容は今では品質改良プログラムとして、「パーツ代無償・技術料のみ」でご提供させていただいています。 こちらの内容や他の改善内容は、LOVOT品質改良プログラム【第2次改良】でもご紹介していますので、他にも気になる方はご一読ください。

終わりに

ここまでお伝えしてきた通り、分析・調査・改善・導入のサイクルを回す事で、LOVOTはより強固に壊れにくい体に成長していっています。 この活動はMQAチームだけでなく、開発・生産・アフター・その他全員、つまりGROOVE X社員一丸の活動によって実現しています。(関連するチームの皆さんいつもありがとう!)

以前、故障してご迷惑をおかけしてしまったお客様から、「壊れにくく健康になった」と喜びの声をいただいたことがありました。 私達MQAチームの活動がお客様の快適なLOVOTライフに貢献できた事例であると共に、それは私達MQAチームの活動の根源であり、活動のモチベーションでもあります。

しかし! より強く・より壊れにくく・より安心して一緒にお過ごしいただくために、我々MQAチームの活動は続きます! 至らぬ点も多々あると思いますが、これからもオーナーの皆様のお力添えをいただきながら、LOVOTを育てていきたいと思っています!

MQAポーズをするメンバー

GROOVE Xでは、一緒に働いてくれる仲間を募集中です! 思いもよらない分野で活躍できるかもしれませんので、ぜひ一度募集要項をご覧ください!

recruit.jobcan.jp

場所感覚を持つロボット

この記事はGROOVE X Advent Calendar 2025の11日目の記事です

はじめに こんにちは、Shu.Cです

これまでのカメラを使った自己位置推定システムは、部屋の様子が変わるとうまく動きませんでした。

しかし、VPRという技術を使えば、照明や家具の配置が変わったり、人が動いたりしても、正確に場所を記憶できます。これによって、ロボットは現実の世界でも迷わずに動けるようになります。

詳しくは下記の記事で紹介してますのでご覧ください medium.com

recruit.jobcan.jp

LOVOTの服の認識

この記事は、GROOVE X Advent Calendar 2025の10日目の記事です。

はじめに

こんにちは!LOVOT frameworkチームのh1sakawaです。 わたしたちのチームでは、LOVOTのソフトウェア開発を下支えする、基盤技術の開発を行っています。

今回お話しするのは、わたしたちが開発を行っている機能の一つである、LOVOTの服の認識についてです。

LOVOTはウェアに埋め込まれたICタグを読み取ることで「着替え」を認識し、よろこびの表現として愛らしい振る舞いを行うユニークな機能を持っています。

お気に入りの服に着替えさせてあげるだけで、LOVOTが瞬時に「うれしい!」と反応する——。 生き物であれば一見自然なリアクションですが、その裏側は、NFCの緻密な制御とハードウェアの特性を最大限に引き出す組み込み技術によって支えられています。

NFCとは

NFC(Near Field Communication)は、世界中で標準化されている近距離無線通信の規格です。身近なところでは、SuicaやPASMOなどの交通系ICカードにもこの技術が利用されています。

LOVOTがお着替えを認識できるのも、この技術のおかげです。 13.56MHzの周波数帯を使用し、「かざす(タッチする)」という動作だけで、機器間の通信や認証、データのやり取りを行います。

NFCの最大の特徴は、ICタグ側に電池がいらないことです。これは「電磁誘導」という物理現象を利用しています。

  • 電力の伝送: リーダー(読み取り機)から磁界を発生させます。

  • ICタグの起動: ICタグ内のコイルがその磁界を受けると電気が発生し、ICチップが起動します。

  • データの返信: ICタグはその電力を使って、自身のIDやデータをリーダーに送り返します。

NFCの通信距離

LOVOTで使用しているNFCの通信規格(ISO/IEC 15693)は、理論上は数十センチの通信が可能です。しかし実用通信距離は「0cm〜4cm程度(ほぼ接触)」となります。なお、4cmはこの実用範囲内における最大値(ベストケース)であり、ICタグの種類によっては通信距離がさらに短くなる可能性があります。

これには、物理的な理由があります。

  • ICタグのサイズによる制約(最大の要因): 通信距離は「ICタグのアンテナの大きさ(面積)」に比例します。カードサイズなら電波を捉えやすいですが、LOVOTで使用しているICタグは直径1〜2cm程度のボタンサイズです。アンテナが極めて小さくなるため、受け取れるエネルギーが微弱になります。

  • リーダーの出力による制約: バッテリーで駆動する本体内蔵リーダーは、大型の据え置き機とは異なり、省電力のために電波出力が抑えられています。

この「小さなアンテナ」と「省電力リーダー」の組み合わせにより、物理的に接触するほどの距離まで近づかないとICタグが起動しない設計となっています。

LOVOTでのNFC搭載位置について

服の認識を実現するため、NFCリーダーはLOVOTの腹部に搭載されています。ウェアに埋め込まれたICタグは、LOVOTが服を着た際にこの腹部にあるNFCリーダーに近づくことで通信が発生します。

しかし、この搭載位置の環境は、通信にとって理想とはかけ離れています。

NFCに関わるLOVOT腹部の概念図

LOVOTの身体は愛らしい球体形状をしているため、腹部の樹脂パーツおよびその上を覆うソフトスキンは湾曲しています。NFCアンテナもこの曲面に沿うように配置されていますが、ICタグとの位置関係は平面に比べて不安定になりがちです。上の図のように、腹部のNFCリーダーとICタグのアンテナの間には、柔軟な布地のウェアに加え、腹部を形作る樹脂パーツやソフトスキンといった素材が介在しています。

さらに、全身に張り巡らされたタッチセンサーや、常時通信を行う無線LAN、そしてモーターやバッテリーといった金属部品・ノイズ源が、NFCアンテナの至近距離に高密度に実装されています。このため、アンテナからウェアまでの2cm超という空間で、不安定な電磁界とノイズの干渉を受けながらも、確実にICタグを検知することが要求されます。

RF出力の最適化とICタグの検出範囲の検証

NFCリーダーのハードウェア設定により、RF(Radio Frequency)出力を調整することが可能です。わたしたちは、LOVOTのウェアに採用したICタグを使用し、ソフトスキン表面において最も遠くまで検知できる出力値に調整した上で、実際に腹部での有効認識範囲を検証しました。この検証データは、ベースウェアやトップスのICタグの配置検討に活用されています。

ICタグの検証試験の様子

ICタグによるコーディネートの認識

ウェアに埋め込まれたICタグのデータ領域には、その服のユニークIDに加え、「ベースウェア」なのか「トップス」なのかといった種別情報(服情報)が書き込まれています。

LOVOTは腹部のリーダーを通じてこのデータを読み出し、解析することで、「今はベースウェアだけを着ている」「ベースウェアの上にトップスを重ね着している」といった状態や、具体的にどのデザインの服を着ているのかを認識できます。

重ね着における課題①:ICタグの相互干渉の問題

ベースウェアとトップスのICタグが物理的に密着して重なっていると、お互いのアンテナが影響し合い(電磁誘導など)、本来受け取るべき電力が奪われたり、共振周波数(電波を受け取るためのチューニング)がずれてしまったりします。この問題は技術で解決できないため、先ほどお話しした検証データを元に、ベースウェアやトップスのデザイン作成時にそれぞれのICタグの位置が重ならないよう、位置をずらすなどの工夫を施してもらっています。

重ね着における課題②:データ通信時の問題

複数のICタグがRFフィールド内に同時に存在すると、ICタグがそれぞれデータ送信を行うことで混信が発生します。これを「衝突(コリジョン)」と呼びます。これに対し、複数のICタグが同時にデータを送信しないよう、存在するICタグを一通り確認し、ICタグを一つ一つ指定して順番にデータ通信を行っています。この交通整理のことを、アンチコリジョンと呼びます。

アンチコリジョン制御の概要

NFCの制御にはアンチコリジョンを実装していますが、前述の通りICタグとの間には複数のノイズ要因が存在するため、それらのノイズをコリジョンと誤判定したり、データ化けなどが発生したりします。

正しいデータは、様々な課題を乗り越えた上で得られているわけです。

終わりに

今回は基盤技術の一つとして、LOVOTの服の認識の仕組みについて紹介しました。いかがだったでしょうか? LOVOTの基盤技術はNFC以外にもまだまだたくさんあります。

GROOVE Xでは基盤技術の開発を行ってくれる仲間を募集しています。 GROOVE Xで一緒に働いてみませんか。ご応募をお待ちしています。

recruit.jobcan.jp

「開発チームじゃない」ハードウェア生産チームに”ガチ”スクラムを導入したら、個人の集まりが『チーム』に変わった話 ~「なんちゃって」を卒業し、ソフト出身スクラムマスターの「理想論」を乗り越えるための戦略~

(GROOVE X Advent Calendar 2025 9日目の記事です)

はじめに

こんにちは、GROOVE Xでスクラムマスターをしている志賀です。 普段はハードウェア開発から生産、アフターサービスまで、複数のチームを横断的にサポートしています。

今日お話しするのは、「生産チーム(Industrial Engineering team)」でのスクラム導入事例です。 ここは、いわゆるソフトウェアの開発チームではありません。家族型ロボット『LOVOT』の生産工程設計や品質管理など、ハードウェア製造のど真ん中を担うチームです。

「ハードウェアでスクラム?」「生産チームで2週間スプリント?」 そう思われるかもしれません。実際、私たちも最初は「なんちゃってスクラム」の壁にぶつかっていました。

今回は、生産チームが「守破離の”守(Shu)”」を徹底することで、個人の寄せ集めから本当の「チーム」へと生まれ変わった軌跡をご紹介します。 (※この記事は、現場で変革を主導したメンバーである酢屋さんと高岡さんの取り組みを、スクラムマスターの視点から紹介するものです)

1. 「なんちゃってスクラム」の限界と痛み

元々、このチームではスクラムのイベント(会議体)だけは導入していました。しかし、実態はいわゆる「なんちゃってスクラム」でした。

ハードウェアや製造業のカルチャーとして、どうしても「慣れ親しんだウォーターホール」の思考が根強く、以下のような「痛み」を抱えていました。

  • 「個人商店」の集まり 「チームで協力してコトに向かう」というより、「個人の専門性で仕事を回す」意識が強い状態でした。お互いの仕事内容を深く把握しておらず、助け合う密度が低い状態です。
  • 不明瞭なバックログ PBI(プロダクトバックログアイテム)をチームで作る習慣がなく、Who/Why/AC(受入条件)が不明瞭なまま。「とりあえずタスク化」されているだけでした。
  • 終わらない会議 タイムボックス(時間制限)の意識が薄く、議論が長引く割に結論が出ないこともありました。

「事業の緊急対応はなんとか乗り切れる。でも、チームとして強くはなっていない」 そんな停滞感が漂っていました。

2. 転機:なぜ「私が」言わなかったのか(スクラムマスターの戦略)

チームメンバーが増強され、少し余裕が出てきたタイミングで「次のステップへ上がるには今しかない」と感じました。

しかしここで、私はあえて「スクラムマスターである私(ソフト業界出身)から強く推進する」という形を取りませんでした。

なぜなら、ハードウェアの現場には、「所詮、ソフト出身の人が言う『理想論』でしょ?」という、見えないが分厚い壁があるからです。 どれだけ正論を並べても、外から来たコンサルめいたポジションの人間が言うと、「現場を知らないくせに」と心のシャッターを下ろされてしまうリスクがありました。

「ハードウェアの現場を変えるのは、ハードウェアの人間でなければならない」

そう考えた私は、ある「仕掛け」をしました。私の心の師匠であるMJ氏が講師を務めるCSM(認定スクラムマスター)研修に、チームのキーマンであり、バリバリのハードウェア出身者である酢屋さんと高岡さんを送り込んだのです。

狙いは一つ。「やらされるスクラム」ではなく、現場のリーダーたち自身が「これをやりたい!」と声を上げる状況を作ることでした。

3. 「ソフトの真似事」という声を打破したもの

研修から戻ってきた二人の熱量は、私の想像を超えていました。 彼らは「自分たちがやっていたのはスクラムではなかった!ちゃんとやりたい!」と衝撃を受けて帰ってきたのです。

しかし、導入当初はやはりチーム内で反発がありました。

  • 「スクラムの合う部分だけ取り入れればいいのでは?」
  • 「2週間で終わらない業務(認証試験など)はどうするんだ?」
  • 「正直、ウォーターフォールの方が楽だ」

これらは突き詰めると、「イメージできないことはやりたくない」、そして「ソフトのやり方を無理やりハードに持ち込むな」という拒絶反応でもありました。

この時、突破口になったのは、他ならぬハードウェア出身の酢屋さんと高岡さんが先頭に立ったことです。

もし私が「とりあえず教科書通りやりましょう」と言っていたら、「それはソフトの話ですよね」で終わっていたかもしれません。 しかし、同じ釜の飯を食ってきたハードウェアの仲間が「騙されたと思って、まずは型通りやってみよう」と言い切った。

「スクラムはスポーツのようなもの。ルール(型)を覚えずには試合にならない」

この事実が、「ソフト屋の戯言」として片付けられそうなスクラム導入を、「自分たちの挑戦」へと変えたのです。

4. 実行した「守」の3つの施策

こうして始まった「守破離の”守(Shu)”」。具体的に行ったのは、泥臭いまでの基本の徹底です。

守破離とは他者の型を真似る段階から、独自のスタイルへと進化していくプロセスを指します。まずは基本から体得することを指しています。

  • 守:型を真似る(基本)
  • 破:型を崩す(応用)
  • 離:型を離れる(独創)

① 毎日「スクラムガイド」を輪読する

「言葉が通じない」を解消するため、CSMを受けた2人を中心に、毎日の昼会で少しずつスクラムガイドを音読しました。

「スプリントとは?」「完成の定義とは?」 共通言語ができることで、チームの会話の質が変わっていきました。

② 「振り返り」のアクションをPBI化して強制力を持たせる

振り返り1
振り返り2
振り返り3

これまで「振り返り(レトロスペクティブ)」で出た改善案は、通常業務に忙殺されて「やりっぱなし」になりがちでした。 そこで、「振り返りのアクション(Try)は必ずPBIに昇格させる」という鉄の掟を作りました。

タスク管理ツールのWrikeを活用し、振り返りで出たカードを自動的にPBIとして登録するフローを構築しました。

これにより、改善タスクが「いつかやる雑用」から「通常の業務と同等の優先度を持つ仕事」に格上げされました。結果、改善活動が確実に「Done(完了)」されるようになりました。

③ 2週間の壁を超える「構造化」

構造化

最大の難関は「2週間(1スプリント)で終わらないタスク」です。 例えば、外部機関への「認証試験」は結果が出るまで数ヶ月かかります。これをどうスクラムに当てはめるか?

私たちは、タスクを「自分たちでコントロールできる単位」まで分解しました。

  • 「見積もりを取得する」
    • 相手次第でいつ来るか不明。スプリント内に終わるか運任せ。
  • 「見積もりを依頼する」
    • 自分次第で完了できる。確実にDoneにできる。

このように、「申請」「準備」「依頼」といったアクション単位でPBIを切ることで、ハードウェア特有の長いリードタイムを持つ業務でも、2週間のスプリントの中で進捗を可視化し、達成感を得られるようにしました。

5. 変化:個人の集まりから「チーム」へ

変化・良かったこと
「守」を徹底してしばらく経った今、チームの景色は変わりました。

  • 意識の変化 「自分の仕事」から「チームのゴール」へ意識がシフトしました。お互いの業務に関心を持ち、誰かが詰まっていればフォローする動きが自然と生まれています。
  • 優先順位の鮮明化 2週間という厳しいタイムボックスがあるからこそ、「今、本当にやるべきことは何か?」を真剣に考える習慣がつきました。
  • 成果の実感 以前はずっと放置されていた改善タスクが、次々と完了していく。この小さな成功体験の積み重ねが、チームのモチベーションになっています。

おわりに

まだ私たちは「守」の段階です。しかし、型を徹底することで見えてきたのは、「あやふやだった苦しさ」から解放され、チームで前に進む楽しさでした。

ハードウェア領域だから、生産チームだから、スクラムはできない? そんなことはありません。

現場のキーマンを巻き込み、まずは「ちゃんと」型にはまってみる。そこからしか見えない景色が、確かにありました。

そんなハードを含めた様々な仕事をスクラムで進め、模索している僕らと、一緒にお仕事してみませんか? 是非、下記募集をご確認ください。 recruit.jobcan.jp

(文:GROOVE X スクラムマスター 志賀 / 取り組み主導:生産チーム 酢屋, 高岡)