見出し画像

toio™️のアップデートでできること 目標指定付きモーター制御とは?①

システムソフトウェアアップデート2019によって追加された、toio™ Core Cube (以降キューブ)の目標指定付きモーター制御に関する機能をご紹介します。

キューブがちょっとだけ賢くなって、自律して目標(位置、向き)へ移動することができるようになりました!

画像1

目標指定付きモーター制御ってなに?

キューブを使ってプログラムをする際に、こんなことで困ったことありませんか?

「キューブをある位置に移動したいけどどうしたらいい?」

「キューブをある向きに変えたいけどどうしたらいい?」

今まではキューブの位置や向きから、タイヤのスピードを計算して制御する必要がありましたが、目標指定付きモーター制御により簡単に目標に移動することができるようになりました。

■基本的な使い方

この機能、実はいろいろな拡張機能があるので、パラメータがちょっと多いです...
そこでまずは簡単に使うために必要なパラメータを説明します。

画像2

技術仕様サイトから引用

必要なのは、モーターの最大速度指示値(データ位置4)目標地点のX,Y座標(データ位置7,9)の二つだけです!ほかのパラメータは後で説明しますのでまずは適当に設定してみてください。今回はtoio.jsを使って以下プログラムを実行してみます。※moveToはgithub.com/toio/toio.jsのmasterブランチで実装されています

 // start a scanner to find the nearest cube
 const cube = await new NearestScanner().start()

 // connect to the cube
 await cube.connect()

 // moveTo (200, 200)
 cube.moveTo([{x: 200, y: 200}], {maxSpeed: 80})

たった一行でキューブを座標(200,200)の位置に最大Speed80で移動できます。簡単になりましたね。

実は最新のtoio™のビジュアルプログラミングでは、この機能が使われています!パソコン側の制御には負荷をかけずに動作できるので、非常に助かっている機能なんです。

次からは、この基本の動き方に加えて追加していくパラメータを説明していきます。

■進行方向や移動経路を決めたいときは「移動タイプ」

例えばキューブに何かパーツを取り付けたときに、急に後ろ向きに動き出したら変な感じになりますよね。そこでこの移動タイプというものを使用します。

移動タイプ0は、特に向きを気にせず進みます。移動タイプ1は、必ず前方向に固定して移動します。最後に移動タイプ2は、その場で目的の方向に向いてから移動するので、膨らんで移動することがなくマットから落ちてしまうことが少ないです。実際にどんなプログラムをして遊びたいかで選んでみてくださいね。

スクリーンショット 2020-06-23 18.20.58

技術仕様サイトから引用

■移動をもっと自然に見せたいときには「モーターの速度変化タイプ」

今までの移動だと急発進、急停止をするので、キューブがつんのめってしまったり、見た目があまりスムーズではないです。そこでこのモーターの速度変化タイプを使用します。

以下の動画をご覧ください。上から、0「速度一定」、1「目標地点まで徐々に加速」、2「目標地点まで徐々に減速」、3「中間地点まで徐々に加速し、そこから目標地点まで減速」になります。

画像4

違いが分かりましたでしょうか?アニメーションの世界ではイージングと言われていたりしますね。ぜひこれを使って用途に合わせた移動を表現してみてください。

■関連情報


この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
ありがとう!
6
つくって、あそんで、ひらめいて。 手を動かしてあそぶ。考えながら夢中になる。偶然の発見が、もっともっと!を引き出していく。toio™(トイオ)は、 “ロボット × あそび”の 研究から生まれた、創意工夫を引き出すロボットトイです。 ■公式サイトはこちら→toio.io

こちらでもピックアップされています

toio™️「キューブ」の最新機能と応用方法のご紹介
toio™️「キューブ」の最新機能と応用方法のご紹介
  • 5本

toio™コア キューブの最新機能や、センサー・モーターの応用方法を紹介するマガジンです。

コメントを投稿するには、 ログイン または 会員登録 をする必要があります。