メカキネアートシステムで自動演奏装置

キーフレームを全て間違えないように記録していくのは難しそうだったので、
最初に一部だけキーフレームを記録したものを保存して、
それを表計算ソフトで編集すると効率良くキーフレームのファイルが作成できました。

「いいね!」 1

調整はこれからですが、とりあえず演奏できるようになりました。

人形と楽器が出来ました。

「いいね!」 1

演奏するところまで出来ました!
曲は著作権の問題がない『メリーさんの羊』にしました。
あとはリミットスイッチとスタートボタンを付ければ、機構部は完成。
そのあと、外箱や色塗りをして完成です。

インスタグラムの動画

「いいね!」 1

解決

リミットスイッチを追加しようとしています。
上の手順でプラグインをインストールしたいのですが
WEBUI(KAS)において

  1. WEBUIにて設定→プラグイン→外部プラグイン→プラグインをインストールを押下

↑がどこにあるのかが分かりません。
プラグインのインストール方法を教えていただけないでしょうか?

〇追記
WEBUIの画面右上にあるUPLOAD&START→EndstopsMonitor.zipを選択→
Plugin Installationのウィンドウ左下のNEXTをクリック→

Prerequisites

Duet Web Control

Version 3.3.0

と表示され次に進めません。

〇追記
プラグインのバージョンを下げたらインストールできました。

解決



リミットスイッチを押してもまったく反応がありません。
3つとも接触不良をしているとは考えにくいのですが、
何が原因か教えていただけないでしょうか?

◯追記
duet3のマイクロSDにあるconfigファイルの
endstopの項目を有効にしたら反応するようになりました。

こんにちは。

すごいです、完成楽しみにしています!

すみません。これらの点説明が足りていませんでした。
メカキネソフトの説明のところに追記しておきます。

「いいね!」 1

ありがとうございます!

WEBUIのHOME Xをクリックしても

G28 X
Error: Homing file homex.g not found

とエラーが表示されます。
この解決策を教えていただけないでしょうか?

◯追記

SDカードsysディレクトリ内に
homeall.g homex.g homey.g homez.g
などのファイルがありませんでした。

なのでとりあえず下のリンクから同じ名前のファイルを
ダウンロードしてsysディレクトリ内にコピーしてみました。

すみません、その辺も内容追加しないといけないですね。
テンプレートとなるファイルを用意したいと思います。

duetのファームウェアの仕組みとして軸の方向とか用途とかが全てユーザーの自由になっていて特に決まってないので、ホーミング押した時の挙動はユーザーで記述しておいてくださいねという風になっています。

ファイルはそのファイルの内容だとzに割り当てられているであろう第3モーターも少し動いてしまうので、少し改良するといいかと思います。

以下はhomex.gの内容です。

G91               ; 相対座標移動開始
G1 H1 X-345 F600 ; 現在地からスイッチに当たるまでマイナス方向にx345動かす
G1 X5 F1800      ; スイッチに当たった位置からプラスに5戻す
G1 H1 X-345 F36  ;ゆっくり動いてスイッチに当たるまでマイナス方向にx345動く
G1 X5 F1800      ; スイッチに当たった位置からプラスに5戻す
G92 X5               ; 現在位置をx5として設定
G90               ; 絶対座標に戻す

プラス方向に動かしている前提のhomex.gになっているので、もしマイナス方向にモーターを動かしている場合は各x座標のプラスマイナスが逆になります。
送り速度Fのパラメータはコピペしたものから1ケタ減らしてみましたが、もしかしたら早すぎたり遅すぎるかもしれません。

取り急ぎご参考まで

「いいね!」 1

とても助かります!!!ありがとうございます!

テンプレート用のホーミング設定ファイルをソフト説明のトピックに置いてみました。
参考になれば幸いです。

「いいね!」 1

ありがとうございます!早速活用させていただきます!!

自動演奏装置に童謡を使う場合、著作権がどうなるのかJASRACに質問したところ、回答がありました。

結果として、制作するにあたり、1曲あたり使用料として18000円+消費税を支払えば、問題なさそうなので、最初に考えていたとおり、おもちゃのチャチャチャを演奏するようにしたいと思います。

質問

おもちゃのチャチャチャややぎさんゆうびんのような童謡を鉄琴で自動演奏するカラクリ人形を制作して、出来上がった作品をSNSにアップしたり、展示ホールなとで展示した場合、童謡の曲の使用についてどのような手続きが必要になるか教えていただけますか?

回答内容(1)
いつも大変お世話になっております。

ご提示を頂きました2曲はJASRAC管理楽曲となります。

以下、①鉄琴で自動演奏するカラクリ人形制作に関する【録音】
②SNSなどにアップする【配信】③展示する際の【演奏】の3点に分けてご案内申し上げます。

①【録音】
本件では、人形が鉄琴で演奏するプログラムで、特殊オルゴールと評価します。
この場合、1曲18,000円+消費税となります。
お手続きの概要は以下です。
https://www.jasrac.or.jp/info/create/index.html

②【配信】
SNSへの動画アップロードについて
SNS等、配信プラットフォーム(PF)での弊社管理楽曲の利用については、
原則的にPF運営者様にお手続きをお願いしております。
ただし、各PFのご契約の有無についての開示はいたしかねますので、
PF運営者様までご利用の可否についてご確認をいただきますようお願いいたします。

なお、ご契約がある旨公表の同意をいただいている、
下記1つ目のページに記載のあるサービスであれば、
一定の範囲内でのご利用であれば弊社へ個別にお手続きをいただくことなく、
動画のアップロードが可能です。
詳細について下記2つ目のページ内のフローチャートをご確認ください。

・利用許諾契約を締結しているUGCサービスの一覧

・YouTubeなどの動画投稿(共有)サービスでの音楽利用

③【演奏】
入場料がなく、営利性がなく、出演者に対価が支払われない場合を除き、
展示で音楽を演奏することについてお手続きが必要となります。
詳細は当該展示会場を管轄するJASRAC支部までお問合せください。
https://www.jasrac.or.jp/info/local_a.html

以上、ご回答申し上げます。

今後とも当協会の著作権管理業務にご理解・ご協力を賜りますようお願い申し上げます。

「いいね!」 1

おもちゃのチャチャチャが自動演奏できるようになりました。

「いいね!」 2

おかげさまでリミットスイッチの設定も完了し、
WEBUIからホーミングができるようになりました。

現状ではWEBUIでホーミングをして、メカキネソフトウェアで演奏を実行していますが
展示会等でお客さんが押しボタンを押すと、
まずホーミングをして、それから演奏が始まるようにしたいと
考えています。

そのためにはどのようにすればよいのでしょうか?
何卒よろしくお願いいたします。

こんにちは。
トリガーに関しては説明が全然足りていなくてすみません。該当トピックには順次説明を追加していきます。

  1. 押しボタンを押すとモーションが始まる
  2. モーションの最初にホーミングを追加する

の2つに分けて説明します。

押しボタンを押すとモーションが始まるようにする

これは説明文中にある外部トリガーというものになります。

この外部トリガーはDuet基板のconfigにこの端子を使うよと定義する必要があります。
それらの例が以下です。

  • ピン定義 M950 J0 C”io1.in” → io1のinピンを入力0(J0)として使います
  • トリガー定義 M581 P0 T2 → 入力0(P0)にトリガー2番(T2)を割り振ります

テンプレートのconfigには;でコメントアウトされています。
IO0、IO1、IO5、IO6にそれぞれトリガー番号2,3,4,5を振るというものです。
IO0や1はリミットスイッチで埋まっていると思うのでIO5,6とかが空いているようであれば、該当2行の行頭の;を消せば有効化されます。
image

トリガーが有効化され、トリガー用の入力ピンに繋がるスイッチが押されるとconfigが置いてあるフォルダのtrigger〇.gというファイルが実行されるようになります。
メカキネソフトでこのtrigger〇.gとして保存するにはモーションデータ送信時の送信先をTrigger◯ Motionと指定すれば良いです。
image

そうすると、前述のconfigで定義したピンに繋がっているスイッチが押されたときに作成したモーションが再生されるようになります。

モーションの最初にホーミングを追加する

これは今のメカキネソフトではアクションとして追加できるようにしていなかったので、現時点ではメカキネソフト単体ではできません。
なので前述のtrigger◯.gを少しだけ編集する必要があります。

前述の方法でモーションを送っている場合、WEBUIあるいはSDカード内を見るとconfig.gとかがいるsystemのところにtrigger◯.gがいます

このファイルを開いて一番先頭にホーミング用のコマンドを追加します。
ホーミング用のコマンドの例は以下の通りでG28単品で使うか、G28にXYZなどの軸名をつけて使います。
例1 G28 ;homeall.gを実行
例2 G28 XZ ;XZのモーターをホーミング(homex.gとhomez.gを実行)

image

G28のコマンドの記入が終わり保存すれば、トリガーされたときにまずホーミングからスタートされるようになります。

「いいね!」 1

ありがとうございます!!明日、早速試してみます!!

「いいね!」 1

おかげさまでかなり良いところまで進みましたが
一点、上手くいきません。

押しボタンを押すと、演奏用のtrigger2.gが実行されるようになりました。
そこでtrigger2.gの先頭にG28のコマンドを追加し保存しました。

それで押しボタンを押すとホーミングはされるのですが、
演奏が始まりません。ホーミングだけで終わってしまいます。
G28を消すと演奏はされます。

ホーミングから演奏までされるには、どのような設定変更が
必要になるのでしょうか?

うーん。こちらではホーミング後もtriggerの中身は継続されますね
ちなみにこんな感じの最小のtrigger◯.gを作って確認しています。(WEBUIのコンソールにメッセージがでます)

M118 P0 S"トリガーされました。Home前" L2 ;メッセージ表示
G28 X ;Xホーミング
M118 P0 S"トリガーされました。Home後" L2 ;メッセージ表示

可能性としてですが

  • ホーミングでエラーが起きていて失敗している可能性
    • トリガーのボタンを押した際にWEBUIのコンソールに何かエラーが出ていないか確認してみてください。
    • G28とだけ書いて実行している場合、homeall.gのファイルが実行されています。ただ先日配布したhomeall.gはXYZの3モーターをホーミングする内容なので、もしかしたらマシンと内容が合致していないかもしれません。
      その場合はhomeall.gの中身を編集 or trigger.gにはG28 XY のようにホーミング軸を指定することで解消する気がします。
「いいね!」 1

あやしいのはホーミングをしたあとに

G28
Error: Failed to enable endstops

というエラーがでることです。
とりあえずホーミングはきちんとできているので
これまで無視していました。

僕のhomeall.gはこのようになっています。

; homeall.g
; すべてのホーミング動作を定義

G91 ; 相対座標移動
G1 H1 X-1500 Y-1500 Z-1500 F1500 ; 送り速度F1500で早めに動く。スイッチに当たるまでXYZマイナス方向に1500移動
G1 H2 X20 Y67 Z66 F1500 ; XYZプラス方向に戻す

G90 ; 絶対座標移動に戻す
G92 X0 Y0 Z0 ; 現在位置をX0 Y0 Z0とする

G28 XYZのようにホーミング軸を指定するとホーミングと演奏が続いて実行されましたh。
その場合、ひとつの軸ずつホーミングが行われるので時間がかかってしまいます。
homeall.gだと3つの軸のホーミングが同時に行われるのでG28でいけると理想です。