Thread: Flock of Birds
View Single Post
  #1  
Old 10-02-2007, 08:46 AM
Elittdogg Elittdogg is offline
Member
 
Join Date: Aug 2007
Posts: 77
Flock of Birds

I'm using FOB to capture position and orientation data. But sometimes Vizard has problems recognizing the birds. I often get an error message like (or something to the extent of): "cannot find bird on comp1." Here's the code I've been using for the birds:


flock1 = viz.add('flockofbirds.dls')
flock2 = viz.add('flockofbirds.dls')
flock3 = viz.add('flockofbirds.dls')
flock4 = viz.add('flockofbirds.dls')

flock1.command(6)
flock2.command(6)
flock3.command(6)
flock4.command(6)

*****{This is so I can save the output into a file*****}
tracking_data = open('headdatale1.py', 'a')
tracking_data2 = open('hipdatale1.py', 'a')
tracking_data3 = open('kneedatale1.py', 'a')
tracking_data4 = open('ankledatale1.py', 'a')

def mytimer(num):
if num == 0:

data1 = flock1.get()
data2 = flock2.get()
data3 = flock3.get()
data4 = flock4.get()

HEADLAT = data1[0]
HEADVERT = data1[1]
HEADAP = data1[2]
HEADYAW = data1[3]
HEADPITCH = data1[4]
HEADROLL = data1[5]

HIPLAT = data2[0]
HIPVERT = data2[1]
HIPAP = data2[2]
HIPYAW = data2[3]
HIPPITCH = data2[4]
HIPROLL = data2[5]

KNEELAT = data3[0]
KNEEVERT = data3[1]
KNEEAP = data3[2]
KNEEYAW = data3[3]
KNEEPITCH = data3[4]
KNEEROLL = data3[5]

ANKLELAT = data4[0]
ANKLEVERT = data4[1]
ANKLEAP = data4[2]
ANKLEYAW = data4[3]
ANKLEPITCH = data4[4]
ANKLEROLL = data4[5]

head_data = str(HEADAP) + '\t' +str(HEADLAT) + '\t' +str(HEADVERT) + '\t' +str(HEADYAW) + '\t' +str(HEADPITCH) + '\t' +str(HEADROLL) +'\n'
tracking_data.write(head_data)
hip_data = str(HIPAP) + '\t' +str(HIPLAT) + '\t' +str(HIPVERT) + '\t' +str(HIPYAW) + '\t' +str(HIPPITCH) + '\t' +str(HIPROLL) +'\n'
tracking_data2.write(hip_data)
knee_data = str(KNEEAP) + '\t' +str(KNEELAT) + '\t' +str(KNEEVERT) + '\t' +str(KNEEYAW) + '\t' +str(KNEEPITCH) + '\t' +str(KNEEROLL) +'\n'
tracking_data3.write(knee_data)
ankle_data = str(ANKLEAP) + '\t' +str(ANKLELAT) + '\t' +str(ANKLEVERT) + '\t' +str(ANKLEYAW) + '\t' +str(ANKLEPITCH) + '\t' +str(ANKLEROLL) +'\n'
tracking_data4.write(ankle_data)

I've checked the connection from the the birds to the other birds and to the computer itself. All are connected. So I'm tempted to think that it's not a hardware or hardwiring problem, but rather a code problem--I don't know. Is something messed up in my code? Am I calling something before creating/defining it? Any help would be great!

Thanks
Reply With Quote