LoginSignup
2
2

More than 3 years have passed since last update.

Python-LEGO Mindstormsでモーターの角度を取得する

Last updated at Posted at 2020-11-06

EV3を制御する際に一つの指標として、モーターの角度を取得したいことがある。また、Pythonを用いている中で機械学習を行う際などは必ず何かしらのデータが必要になるが、センサーのデータと合わせてモーターのデータも取得したいことがあるだろう。
今回はEV3のPython環境でリアルタイムにモーター今何度の角度分回っているのかモニターしてみる。

EV3について

教育版 LEGO® MINDSTORMS EV3(以降EV3)

参考

本記事の内容は以下の書籍を参考にしている。
Pythonを使ったEV3の基本的な制御等については以下に網羅されている。

ロボットではじめるAI入門

本記事内での環境

※環境構築やVSCodeでのソース作成やEV3への転送・実行方法は以下を参照

EV3×Pyrhon 機械学習その1 環境構築編

ソースコード

position.py
from ev3dev2.motor import LargeMotor, OUTPUT_B
from ev3dev2.button import Button
import time

button = Button()
lm_bT = LargeMotor('outB')
lm_bT.reset()

def main():
    while not(button.backspace):
        time.sleep(0.2)
        print(lm_bT.position)
    lm_bT.stop(stop_action = 'brake')

if __name__ == '__main__':
    main()

実行

※クリックするとYoutubeに飛びます
IMAGE ALT TEXT HERE

モーターの角度は正の方向に回すと+に、負の方向に回すと-に数値が変わる。
今回はモーターにタイヤが付いているが、例えばタイヤが正の方向に1回転すれば0から360に角度の数値が変わる。

まとめ

今回はpositionのメソッドを利用して、モーターの角度を確認してみた。
このデータを記録したり、positionを指定することで正確にモーターを制御することができるだろう。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2