2016-04-14 9 views
-1

Android telefonumdaki kamerayla topu izliyorum ve x, y pozisyonunu, yarıçapı (x, y pozisyonu, ekran android telefonundaki bir piksel) bluetooth üzerinden stm32f kartıma gönderiyorum. Telefonumu ve stm32f1 kitini bir mobil robotta bir araya getiriyorum. Şimdi robotumun sabit bir mesafe ile topu hareket ettirmesini istiyorum.Robot izleme topu sabit mesafeli nasıl?

Örn: 10 cm mesafeyi ayarlıyorum. i topu ileri taşıdığınızda, topun ileriye benim robot ve her zaman topun İşte

cevap

1

için robottan 10 cm tutmak başlamak için bazı sözde kod şudur: Artık yapmanız gereken tek şey

while (TRUE) do 
    get x, y position of ball 
    get x, y position of self 
    calculate distance between self and ball (hint: use Pythagoras) 
    if (distance < 10 cm) 
     move away from ball 
    else if (distance < 10 cm) 
     move towards ball 
end 

kod bu kadar C.

+0

Kamera ile topun x, y konumunu alabilirim ama nasıl alabilirim x, y pozisyonu ben (kendi robotum, değil mi ???) – Bruce

+0

Hesaplamak zorundasınız mesafe * bir şekilde * - Eğer robotun yerini izleyemiyorsanız, o zaman topun mesafesini belirlemenin farklı bir yolunu düşünmeniz gerekecektir. –

+0

Sabit bir mesafe ile topu izleyebileceğim başka bir yol var mı? Ben fotoğraf makinemi (android telefonun kamerasını) kullanırım ve robotumda toplanırım. Yani bir robotun gözü gibi görünüyor, sadece topu görüyor ve x, y konumunu ve yarıçapını elde ediyor. Bu yüzden robotumu nasıl alabileceğimi bilmiyorum. Ortağınız, robotu görmek ve x, y robot pozisyonunu almak için başka bir kameraya ihtiyacım var mı ??? – Bruce