
マイコンのサーボモータ(SG90など)を2個使って、数字やカタカナなどを紙に書くロボット(腕にペンを持たせる)を作りたいのですが、プログラムをどう書けば良いかわからず困っています。例えば、数字の「2」を描かせたい場合、人間が書く動きをどのようにプログラムで実装すれば良いのでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答5件
0
文字描画は、文字データをベクトルデータで持つことになると思います。ベクトルデータであれば文字サイズが変わっても対応がとれるからです。
ただ、すべての文字をアプリで保持するのは大変ですし、データを作るのも大変です。なので、既にあるデータを利用することになるでしょう。
例えば、パソコンにインストールされているフォントから情報を得てそれを利用して描画するとかですね。TrueType フォントのフォーマットなどは公開されているはずです。
データはおそらくそのままでは使えないので、X-Yプロットの形式に変換することになるでしょうけど、詳しくは私も知りません^^;あしからず・・・
投稿2017/06/20 08:04
総合スコア3579
0
実用性はおいといて、面白いものを見つけました。参考まで。
スクリーンに描いた絵を紙上に再現——手のひらサイズのお絵かきロボットアーム「Line-us」
Line-us: The little robot drawing arm
サーボモータ3個でできそうですね。
投稿2017/06/20 08:28
総合スコア38352
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
順番が逆です。
先にソフトウェアは作れませんし、作っても意味がありません。
開発の順序は、 機構設計→回路設計→ソフト開発 になります。
ちなみにサーボモータはストローク(移動量)が長くなると指数関数的に値段が上がります。
投稿2017/06/17 01:29
総合スコア4152
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。


退会済みユーザー
2017/06/17 08:22

退会済みユーザー
2017/06/17 13:52

退会済みユーザー
2017/06/21 03:00

0
まずはじめに文字を書くためには、ペンの上げ下げも必要となりますので、もう1軸必要ですね。
で、「文字を書く為にどのように制御すればよいのか?」ですが、一般的にはCADを使います。
CADにより、文字データから「Gコード」と呼ばれるペンが通るパスを数値化した作業指示データを作成し、それをロボット?に読み込ませ、その作業指示通りにペンを制御することで文字を書かせることができるのです。
ですので、プログラムは「Gコードを読み込み、解析して、その指示通りにペンの動きを制御する」という内容になろうかと思います。
いわゆるCNC制御ってやつです。
ちなみに、上記のようなプログラムはすでに RaspberyPiやArduinoなどで実現されておりますので、参考にしてみたらいかがでしょうか?
投稿2017/06/16 15:46
編集2017/06/16 23:19総合スコア15898
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

退会済みユーザー
2017/06/17 00:20

0
完全な素人の単なる想像なので参考にもならないかも知れませんが・・・
市販のX-Yプロッターには文字を描く機能はついていると思いますが、X-Yプロッターを自作するという前提でしょうから、開始座標へ移動、ペンダウン、終了座標へ移動、ペンアップのように任意の直線を描画するための基本機能を実装するのが第一段階だと思います。サーボモーターの制御については検索してみると色々やっている方のコアなページが見るかるので
- シリアルポートを使って
- タイミングの配慮(時間待ち)をしつつ
- 制御信号を送って制御する
といったコードを書くことになると思います。それは別途調べていただくとして・・・
直線が引けるなら、後は文字を描くための軌道(=グリフ)をどう表現するかが問題になると思います。とりあえずは方眼紙にでも何でもよいのでざっくり「2」を書き、その制御点をプログラム上へ(配列などのデータとして)表現し、あとはその軌道に従って描画するという感じではないでしょうか。もちろんきれいな文字を書くには手本となるようなグリフデータが必要なので適当なフォントで画面上に文字を書き、それをなぞって座標データを抽出するといった地道な作業が必要なのかも知れません。
しかし、こんなソフトを自作せずともfont-path-generatorといったOSSがあるようなので、そうしたもので利用可能なものを探すのが手っ取り早いと思います。全て自作が目的なら上のような原始的なプログラミングをすることに・・・
投稿2017/06/16 14:49
総合スコア18404
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

退会済みユーザー
2017/06/17 00:27

退会済みユーザー
2017/06/17 01:38

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。