태지쌤

로봇 & 코딩교육 No.1 크리에이터

피지컬컴퓨팅

햄스터봇(알버트) 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를누르면프로그램을종료한다.

hamster.py
0.00MB
albert.py
0.00MB

반응형