피지컬컴퓨팅
햄스터봇(알버트) AI 비전 카메라 인식 손으로 조종 파이썬 코드
태지쌤
2024. 11. 18. 18:20
반응형
import roboidai as ai
from roboid import *
hamster = HamsterS()
cam = ai.Camera('usb0', flip='h')
dt = ai.HandPose()
dt.load_model(both_hands = True) # True로양손모두를검출한다.
while True:
image = cam.read()
if dt.detect(image): #손이검출되면
left_xy= dt.get_xy('left','palm') #왼손바닥의좌표와오른손바닥의좌표를반환
right_xy= dt.get_xy('right','palm')
angle = dt.degree(left_xy, right_xy) #두손바닥간의각도를angle에저장
print(angle)
if angle is not None: # angle이계산될때, angle에따라햄스터주행
hamster.wheels(30-angle* 0.5, 30+ angle* 0.5)
else: # angle이없을때, 정지
hamster.stop()
image = dt.draw_result(image)
else: # 손이검출안되면정지
hamster.stop()
cam.show(image)
if cam.check_key() == 'esc': break # esc를누르면프로그램을종료한다.
import roboidai as ai
from roboid import *
albert = AlbertAi()
cam = ai.Camera('usb0', flip='h')
dt = ai.HandPose()
dt.load_model(both_hands = True) # True로양손모두를검출한다.
while True:
image = cam.read()
if dt.detect(image): #손이검출되면
left_xy= dt.get_xy('left','palm') #왼손바닥의좌표와오른손바닥의좌표를반환
right_xy= dt.get_xy('right','palm')
angle = dt.degree(left_xy, right_xy) #두손바닥간의각도를angle에저장
print(angle)
if angle is not None: # angle이계산될때, angle에따라햄스터주행
albert.wheels(30-angle* 0.5, 30+ angle* 0.5)
else: # angle이없을때, 정지
albert.stop()
image = dt.draw_result(image)
else: # 손이검출안되면정지
albert.stop()
cam.show(image)
if cam.check_key() == 'esc': break # esc를누르면프로그램을종료한다.
반응형