注釈
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
参加する理由は?
エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
特別割引:最新製品の独占割引をお楽しみください。
祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[ここ]をクリックして今すぐ参加しましょう!
2. 脚の動き
PiDogの脚の動きは、以下の関数によって実装されています。
Pidog.legs_move(target_angles, immediately=True, speed=50)
target_angles
: 8つのサーボ角度の配列(角度グループと呼ばれる)からなる二次元配列です。これらの角度グループは、8つの足サーボの角度を制御するために使用されます。複数の角度グループが書かれている場合、実行されていない角度グループはキャッシュに保存されます。immediately
: 関数を呼び出すとき、このパラメータをTrue
に設定すると、キャッシュはすぐにクリアされて新しく書かれた角度グループが実行されます。パラメータを``False``に設定すると、新しく書かれた角度グループが実行キューに追加されます。speed
: 角度グループの実行速度。
いくつかの一般的な使用方法を以下に示します:
即座に行動をとる。
from pidog import Pidog
import time
my_dog = Pidog()
# 半立ち
my_dog.legs_move([[45, 10, -45, -10, 45, 10, -45, -10]], speed=50)
実行キューにいくつかの角度グループを追加する。
from pidog import Pidog
import time
my_dog = Pidog()
# 半立ち
my_dog.legs_move([[45, 10, -45, -10, 45, 10, -45, -10]], speed=50)
# 複数のアクション
my_dog.legs_move([[45, 35, -45, -35, 80, 70, -80, -70],
[90, -30, -90, 30, 80, 70, -80, -70],
[45, 35, -45, -35, 80, 70, -80, -70]], immediately=False, speed=30)
10秒以内に繰り返し行う。
from pidog import Pidog
import time
my_dog = Pidog()
# 半立ち
my_dog.legs_move([[45, 10, -45, -10, 45, 10, -45, -10]], speed=50)
# 腕立て伏せの準備
my_dog.legs_move([[45, 35, -45, -35, 80, 70, -80, -70]], immediately=False, speed=20)
# 腕立て伏せ
for _ in range(99):
my_dog.legs_move([[90, -30, -90, 30, 80, 70, -80, -70],
[45, 35, -45, -35, 80, 70, -80, -70]], immediately=False, speed=30)
# 10秒間維持
time.sleep(10)
# 停止して半立ち
my_dog.legs_move([[45, 10, -45, -10, 45, 10, -45, -10]], immediately=True, speed=50)
PiDogの脚制御には、以下の関数も使用できます:
Pidog.is_legs_done()
この関数は、キャッシュ内の角度グループが実行されたかどうかを判断するために使用されます。実行された場合は True
を返し、そうでない場合は False
を返します。
Pidog.wait_legs_done()
キャッシュ内の角度グループが実行されるまでプログラムを一時停止します。
Pidog.legs_stop()
キャッシュ内の角度グループを空にします。