【smabo第1回】smaboのボディの印刷とアプリのインストールをしてみよう

【smabo第1回】smaboのボディの印刷とアプリのインストールをしてみよう

image

お疲れ様です。秋並です。

スマートフォンが入るロボット(通称、smabo)の作り方の第一回は

  • smaboのボディの3Dプリンタでの印刷
  • スマートフォンへのsmaboアプリのインストール

について解説します。

目次

今回使用する機材、パーツなど

今回は、以下のパーツや機材、パーツを使用します。

パーツ名
スマートフォン (Iphone MAXのような大きなサイズのスマホや、折り畳み式のような分厚いスマホは入らないので注意してください) pixel7a(152.0mm×72.9mm×9.0mm) + カバー でぎりぎりちょうどくらいのサイズです それより小さいサイズに関しては「3Dプリンタで作成するスマホを入れる部分」のサイズを調整すればよいので問題ありません。
M2×16mmネジ×4個 M2×8mmネジ×1個
M3×12mmネジ×1個
3Dプリンタ (smaboのボディは160×160×110のサイズなので、最低でもこのサイズが印刷可能な3Dプリンタにしましょう)

今回使用するソフトなど

windows 11

ソフト名
バージョン
URL
git bash
Creality Slicer
4.8.2
fusion360

スマホにsmaboのアプリをインストールしよう

最初に、以下のリポジトリにスマホからアクセスし、SmartPhoneRobot.apkをダウンロードしてください(現在は、androidスマホのみ対応しています)。

ダウンロードしたapkファイルを選択し、スマホにインストールしましょう。

(pixel7a、Androidバージョン14で動作確認済み)

アプリを起動すると、設定画面が表示されると思います。とりあえず今回は通信しないので、そのまま「close setting」をクリックしましょう。(ちなみに、設定画面が閉じられた状態で画面をダブルタップすると再度設定画面が表示されます)

image

現時点では、2つの目が表示されるだけになっていますが、スマホからのセンサ情報を取得したり、目を動かしたり、表情を変化させたりすることができます。

このあたりの詳細はまた別記事で解説するので楽しみにお待ち下さい。

🔍
ここでインストールしたアプリはunityで製作されています。 今後、アプリ部分の詳細についても解説していく予定ですが、気になる方は確認してみてください。

smaboのリポジトリをクローンしよう

🔍
ここからは、windowsPC上での作業になります

最初に、先ほどスマホでアクセスしたリポジトリをご自身のPCにcloneしてください。

🔍
gitを使ったことがない方は、以下のサイトなどを参考にセットアップをお願いします。(以下サイトの「2 gitの初期設定」まで実行すればとりあえずはOKです)

gitの初期設定が完了したら、リポジトリをcloneしましょう。

cloneする場所は、任意の場所でよいですが パスに日本語が含まれていると後々の作業でエラーが発生する可能性 があるので注意しましょう

  1. git bashを起動します
  2. リポジトリをcloneします。今回は、 /c にcloneするため以下コマンドを実行します。
  3. cd /c
    git clone https://github.com/akinami3/smabo.git

3D CADでモデルのサイズを調整しよう

ここからは、smaboを3Dプリンタで印刷しますが、印刷する前に、「スマホを入れる部品」であるphone_box_baseをお手持ちのスマホのサイズに合うように調整します。

phone_box_baseのサイズ調整

cloneしたリポジトリ内にある「stl/phone_box_base.step」のサイズをお手持ちのスマートフォンのサイズに合うように調整しましょう。

調整には任意の3D CADソフトを使ってもらってよいですが、ここではfusion360を使った手順をご紹介します。

🔍
fusion360は以下ページからダウンロード可能です。個人目的の使用なら(一部機能は制限されますが)無料で利用できます。 個人用 Fusion 360 | 無償の機能限定版 | Autodesk

phone_box_base.stepのアップロード

最初に、fusion360を起動し、「phone_box_base.step」をアップロードします。

  1. 「アップロード」ボタンをクリックします。
  2. image

  1. 「ファイルを選択」をクリックします。
  2. image

  1. 「phone_box_base.step」を開きます。
  2. image

  1. 「アップロード」をクリックします。
  2. image

  1. 画面左側に「phone_box_base」が追加されているので、クリックして開きます。
  2. image

サイズの調整

次に、phone_box_baseをご自身がお持ちのスマホに合うように編集しましょう。

⚠️
3Dプリンタで印刷した造形物は硬い素材をしているので、カバーや保護シートがないとスマホ本体が傷つく可能性があります。 気になる方はカバー+保護シート込みのサイズで調整しましょう。

前面部分のスケッチ

phone_box_baseの前面をスケッチします。

  1. phone_box_baseの前面を選択した状態で「スケッチを作成」をクリックします。
  2. image

  1. 「線分」をクリックし、縦方向と横方向の中央に線をひきます。(直線の中央付近でマウスを動かすと三角形のマークが表示される箇所があると思いますが、その箇所がちょうど中央になります)。
  2. image

  1. 「長方形」→「中心の長方形」を選択し、3.で引いた二つの直線の交点をクリック→長方形を作成します。
  2. image
    image

  1. 縦方向、横方向の長さを決めます。
    1. ここでは、縦方向と横方向の長さは「実際のスマホのサイズより小さく設定」してください。具体的には図のように、スマホを入れた時に、smaboの目の部分が隠れない程度のサイズに調整するとよいです
    2. image
      image

上記の手順の動画

右側面部分のスケッチ

phone_box_baseの右面をスケッチします。

  1. phone_box_baseの右側面を選択した状態で「スケッチを作成」をクリックします。
  2. image

  1. 「線分」をクリックし、縦方向と横方向の中央に線を引きます。
  2. image

  1. 「長方形」→「中心の長方形」を選択し、3.で引いた二つの直線の交点をクリック→長方形を作成します
  2. image

  1. 縦方向、横方向の長さを決めます
    1. ここでは、縦方向と横方向の長さは「実際のスマホのサイズ+1.0mm程度」にしてください(縦方向=スマホの横幅、横方向=スマホの厚さ)
    2. ただし、ケースや保護フィルムを付けている場合は、「ケースと保護フィルムを付けた状態でのサイズ+1.0mm程度」にしましょう
    3. image

上記の手順の動画

右側面の押し出し

phone_box_baseの右面をスケッチした形状に従って押し出します。

  1. スケッチした右側面の4箇所を選択した状態で「押し出し」をクリックします(shiftを押しながらクリックすると複数選択できます)
  2. image

  1. 押し出し量をマイナス方向に「スマホの縦幅+1.0mm程度」にします
  2. image

  1. 「OK」をクリックして、押し出します

上記の手順の動画

前面部分の押し出し

phone_box_baseの前面をスケッチした形状に従って押し出します。

  1. スケッチした前面の4箇所を選択した状態で「押し出し」をクリックします(shiftを押しながらクリックすると複数選択できます)
  2. image

  1. 「右側面の押し出し」でくり抜かれた部分の底面を選択します
  2. image

  1. 「OK」をクリックして、押し出します

上記の手順の動画

背面部分の押し出し

phone_box_baseの背面をスケッチした形状に沿って押し出します。

  1. 底面の右側にある四角形の箇所を選択した状態で「押し出し」をクリックします。
  2. image

  1. 「右側面の押し出し」でくり抜かれた部分の上面を選択します
  2. image

  1. 「OK」をクリックして押し出します

上記の手順の動画

stl形式でのエクスポート

調整した「phone_box_base」をstl形式でエクスポートしましょう。

ここでは、「phone_box.stl」という名前でエクスポートすることにします。

  1. タブの「ファイルボタン」をクリックします。
  2. image

  1. 「エクスポート」をクリックします
  2. image

  1. 名前を「phone_box」、タイプを「stl」、「場所」を任意のディレクトリ に設定し「エクスポート」をクリックします
  2. image

3D プリンタで印刷してみよう

gcodeの生成

ここまでで、3Dモデルの調整が完了したので、ここからは3Dプリンタでの印刷を行います。

今回は、「body」「phone_box」「phone_box_cover」「back_cover」を印刷します。

ここでは、Creality Slicer 4.8.2を使った印刷方法を紹介しますが、他のプリンタの場合でも共通するような注意点も述べて解説します。

  1. Creality Slicerを起動します。

  1. 「ファイル」をクリックします。
  2. image

  1. 「ファイルを開く」をクリックします
  2. image

  1. 印刷したいstlファイルを選択し、「開く」をクリックします
  2. image

  1. 開いたモデルの向きや位置、3Dプリンタで印刷する際のオプションなどを設定したら「スライス」をクリックします。
  2. 🔍
    個人的に設定の際に特に注意しておいた方がいいと思った点は以下の2点になります 1. サポート材をONにするのを忘れないようにしましょう。 2. くぼみがある造形物の場合、造形時間をできるだけ短くするため(+フィラメントを節約するため)に、方向に注意しましょう。例えば、bodyの場合は下図の用な置き方にすることで、最低限のフィラメントでプリントできます
    image

  1. 処理が完了したら、右下のプレビューをクリックし、どのように印刷されるか確認しましょう。
  2. image

  1. 最後に、右下の「Save as Creality Format」をクリックし、gcodeファイルを保存します
  2. 🔍
    保存する場所は使用する3Dプリンタによって異なりますが、「Ender-3 V2」の場合、「micro SDカードに保存」→「micro SDカードをプリンタ本体に差し込み印刷」といった手順になります。
    image

3D プリンタで印刷

gcodeの生成が完了したら、3Dプリンタをセッティングしましょう。ここでは、私がこれまで3Dプリンタを使用していて注意すべきだと思った点について述べたいと思います。

  • ポイント1:3Dプリンタのプレートの位置を調整しておきましょう。
    1. ノズルのz軸を原点位置にした状態で、
    2. ノズルとプレートの間に紙を入れ、
    3. 紙を引っ張った際に少し抵抗がある程度の隙間になるように
    4. プレートの四隅の高さを調整しましょう

  • ポイント2:プレートに汚れがないか確認しましょう。
    • プレートが汚れている場合、印刷中にフィラメントがはがれて来る可能性があります。
    • プレートの汚れを取る方法は
      • プレートを外し、水で洗う(洗い終わって3Dプリンタにセットする際は、しっかり拭いてからセットしましょう)
      • ヘラで汚れを削り取る
      • 等があると思います。

設定が完了したら、印刷を開始します。bodyは印刷に丸2日かかるので、気長に待ちましょう。(具体的な3Dプリンタの操作方法はプリンタの種類によって異なると思うので、ここでの説明は割愛します)

🔍
印刷物がはがれてしまう場合は、「プレートの位置」「プレートの汚れ」「ノズルの詰まり」「ノズルの経年劣化」などが原因かもしれません(ほかにもさまざまな要因が考えられるので、うまく印刷できない方は、調べてみてください)

印刷が完了したらサポート材を外しましょう。

🔍
私の場合、サポート材はニッパー、ヘラ、マイナスドライバーなどをつかって割と無理やり外していますが、簡単に外す方法もあるらしいので気になる方は調べてみてください 3Dプリンターで印刷。サポート除去が簡単にできる方法。 - 3Dプリントステーション (3dpst.com)

smaboを組み立ててみよう

サポート材が外し終わったら、bodyとphone_boxを合体させてみましょう。

  1. phone_boxの四隅にネジ穴があるのでM2×16mmのネジをつかってphone_boxをbodyに固定しましょう。
  2. image

  1. bodyの背面にback_coverをはめ込み、M3×12mmのネジで固定しましょう
  2. image

  1. phone_boxにsmaboを入れましょう
  2. ⚠️
    サイズ調整の際にも触れましたが、印刷したphone_boxは硬い素材をしているので、カバーや保護シートがないとスマホ本体が傷つく可能性があるため注意しましょう
    image

  3. phone_boxの右側面にphone_box_coverをはめ込み、M2×8mmのネジで固定しましょう
  4. image

お疲れ様です!。これで(最低限の構成ではありますが)smaboの完成です!

最後に

本記事では、

  • smaboのボディの3Dプリンタでの印刷
  • スマートフォンへのsmaboアプリのインストール

について解説しました。

次回は、スマートフォンとラズパイをROS2で通信する方法について解説します。

ROS2で通信することで、スマートフォンのセンサ値を取得したり、smaboの目を動かした利することが可能になるので楽しみにお待ちください。