Товарищ из Бермудов имеет очень творческий подход к тестированию AVM Navigator,
ну просто молодец! Порадовал меня сегодня
Технический форум по робототехнике.
ylvov писал(а):Каким меню и Как автоматически управлять сервоприводами? (я пытаюсь через http://www.roborealm.com/help/Sparkfun_Arduino.php управлять пока только вручную двигая ползунки через 3 и 5 пин)
' Get turret control variables
turret_v = GetVariable("TURRET_V_CONTROL")
turret_h = GetVariable("TURRET_H_CONTROL")
turret_f = GetVariable("TURRET_FIRE")
nvObjectsTotal = GetVariable("NV_OBJECTS_TOTAL")
if nvObjectsTotal>0 then ' If any object was found
' Get image size
img_w = GetVariable("IMAGE_WIDTH")
img_h = GetVariable("IMAGE_HEIGHT")
' Get array variables of recognized objects
nvArrObjRectX = GetArrayVariable("NV_ARR_OBJ_RECT_X")
nvArrObjRectY = GetArrayVariable("NV_ARR_OBJ_RECT_Y")
nvArrObjRectW = GetArrayVariable("NV_ARR_OBJ_RECT_W")
nvArrObjRectH = GetArrayVariable("NV_ARR_OBJ_RECT_H")
' Get center coordinates of first object from array
obj_x = nvArrObjRectX(0) + nvArrObjRectW(0)/2
obj_y = nvArrObjRectY(0) - nvArrObjRectH(0)/2
' Get difference between object and screen centers
dX = img_w/2 - obj_x
dY = img_h/2 - obj_y
threshold = 40
if dX > threshold and turret_h > -128 then
' The object is at left side
turret_h = turret_h - 1
end if
if dX < -threshold and turret_h < 127 then
' The object is at right side
turret_h = turret_h + 1
end if
if dY > threshold and turret_v > -128 then
' The object is at the bottom
turret_v = turret_v - 1
end if
if dY < -threshold and turret_v < 127 then
' The object is at the top
turret_v = turret_v + 1
end if
' Is the target locked?
if dX < threshold and dX > -threshold and dY < threshold and dY > -threshold then
turret_f = 1
else
turret_f = 0
end if
else
' Back to the center if object is lost
if turret_h > 0 then turret_h = turret_h - 1
if turret_h < 0 then turret_h = turret_h + 1
if turret_v > 0 then turret_v = turret_v - 1
if turret_v < 0 then turret_v = turret_v + 1
turret_f = 0
end if
' Set turret control variables
SetVariable "TURRET_V_CONTROL", turret_v
SetVariable "TURRET_H_CONTROL", turret_h
SetVariable "TURRET_FIRE", turret_f
ylvov писал(а):Что нужно выбрать и в какой последовательности в Roborealm меню для слежения?
ylvov писал(а):Когда еще купил сервоприводы и подключил то практически постоянно присутствовал звук гудящих трансформаторов в них.
ylvov писал(а):Прямо счастье когда все начинает работать!!!
ylvov писал(а):Это я хреновые купил (DF ROBOT DF05BB)или не то что то делаю?
ylvov писал(а):Еще правильно я понял что дообучить каскад можно в любой момент нажав "learn object" и выбрать то же название в графе "название объекта" обучить а потом "save"? Все не перезаписывается а добавится продолжение?
ylvov писал(а):Как можно ускорить повороты сервоприводов при слежении?
avr123.nm.ru писал(а):Серва может гудеть еще при крайнем положении и еще когда импульс управления скачет по ширине.