loading
 
RoboGeek Demo tracking program with Roborealm
ThinkBig from Germany  [1 posts]
8 year
Hello guys,

does anybody experience with the RoboGeek Demo tracking software and roborealm?
Unfortunatley my RoboGeek Desktop Roboturrent tracks the "center of gravity" and jump from 500 to 2000 (waypoints) in x and y direction. i don't have changed the demo code. The connecting between Arduino and Roborealm works as well as the Tracking program.
i use a b/w ueye USB camera. The Roboter should find the center and turn his servos that the center is in the middle of the image. i believe that the pan Servo get a to big/ or the wrong value, but why... ?

Thanks.

The construction manual for the RoboGeek tracking and Roborealm:
http://learn.robotgeek.com/getting-started/29-desktop-roboturret/107-desktop-roboturret-pc-control-vision-tracking-via-roborealm.html

vbScript Roborealm:
GetVariable("IMAGE_WIDTH") / 2

midy = GetVariable("IMAGE_HEIGHT") / 2



pan = GetVariable("PAN_SERVO")

tilt = GetVariable("TILT_SERVO")

laser = GetVariable("LASER")



range = 5



horizFactor = 400 / midx



vertFactor = 400 / midy



size = GetVariable("COG_BOX_SIZE")

if size > 10 then



    laser = 1

  cogX = GetVariable("COG_X")



  if cogX < midx - range then

    pan = pan+(midx-cogX)/horizFactor

  elseif cogX > midx + range then

    pan = pan-(cogX-midx)/horizFactor

  end if



  cogY = GetVariable("COG_Y")

  if cogY < midy - range then

    tilt = tilt-(midy-cogY)/vertFactor

  elseif cogY > midy + range then

    tilt = tilt+(cogY-midy)/vertFactor

  end if



  if pan > 2500 then pan = 2500

  if pan < 500 then pan = 500

  if tilt > 2500 then tilt = 2500

  if tilt < 500 then tilt = 500



  SetVariable "PAN_SERVO", pan

  SetVariable "TILT_SERVO", tilt

else

    laser = 0

end if

  SetVariable "LASER", laser
Steven Gentner from United States  [1446 posts] 8 year
Thinkbig,

The above VBScript is written with the 500 to 2500 value range in mind. Typically this is what a valid range for standard PWM servos are. This is sent to the Arduino which will then set the servos accordingly. If you find that you are using standard PWM (ie. RC servos) and they are apparently moving randomly, check that you have given them enough power. When those servos don't get enough amps to move, they start to behave erratically. You cannot just power these from the Arduino USB connection. You will need an external power supply added to the Arduino of at least 1Amp 6V.

If you are using other non-standard servos (like Dynamixel) the value range of 500 to 2500 is no longer valid and would need to be changed to a correct value range.

Finally, while there is a Trossen Desktop Turret module in RR, that's for the much older model. Since they it has be superseded by the Arduino module which should be used instead.

STeven.

This forum thread has been closed due to inactivity (more than 4 months) or number of replies (more than 50 messages). Please start a New Post and enter a new forum thread with the appropriate title.

 New Post   Forum Index