RoboBOB

Posted on 25/04/2010 by majord
Modified on: 13/09/2018
Introduction
This is an automatic import from our previous community platform. Some things can look imperfect.

If you are the original author, please access your User Control Panel and update it.

UPDATED!!!!! RoboBOB is designed to track objects using it's vision and when signeled, grab it with it's closest hand.  The initial vision portion has been completed.  Using Roborealm software interfaced to a Parallax PSC servo controller, RoboBOB will now track an orange ball when placed in his field of vision.  Next step will be to finish wiring the arm servos, impliment the API interface to the Roborealm software & create the arm control software. For all those interested; The ...


RoboBOB

UPDATED!!!!!

RoboBOB is designed to track objects using it's vision and when signeled, grab it with it's closest hand.  The initial vision portion has been completed.  Using Roborealm software interfaced to a Parallax PSC servo controller, RoboBOB will now track an orange ball when placed in his field of vision.  Next step will be to finish wiring the arm servos, impliment the API interface to the Roborealm software & create the arm control software.

For all those interested;

The arms were made with parts from http://www.lynxmotion.com

The servo controllers came from http://www.parallax.com

The vision software came from http://www.roborealm.com/

 

*** Update 28 Apr 2010 ***

I've updated some additional photos showing the various parts of RoboBOB.

I have also included the Roborealm VBScript that I used.

---------------------------------

' If this is the first time the script has been ran,
' set the real World (Servo) Coordinates to Midpoint.
If Script_Count=0 then
SetVariable "SERVO_Rotate", 150
SetVariable "SERVO_Tilt", 150
end if

' Set Constants for vision center, Vision/RW Aspects.
SetVariable "Vision_Width_Center", 176
SetVariable "Vision_Height_Center", 144
SetVariable "Width_Aspect", 91
SetVariable "Height_Aspect", 104

'Translate Offset of Object in Vision
SetVariable "Obj_Vis_Off_X", GetVariable("COG_X") - GetVariable("Vision_Width_Center")
SetVariable "Obj_Vis_Off_Y", GetVariable("COG_Y") - GetVariable ("Vision_Height_Center")

'Translate Object's Real World Offset
SetVariable "Obj_RW_Off_X", (GetVariable("Width_Aspect") * GetVariable("Obj_Vis_Off_X"))/1000
SetVariable "Obj_RW_Off_Y", (GetVariable("Height_Aspect") * GetVariable("Obj_Vis_Off_Y"))/1000

'Calculate Object's Real World Center
SetVariable "Servo_X", GetVariable("Servo_Rotate") + GetVariable("Obj_RW_Off_X")
SetVariable "Servo_Y", GetVariable("Servo_Tilt") + GetVariable("Obj_RW_Off_Y")

'If Object is "Close Enough", Move head to look at object
If GetVariable("COG_BOX_SIZE")>50 then
SetVariable "SERVO_Rotate", Cint(GetVariable("Servo_X"))
SetVariable "SERVO_Tilt", Cint(GetVariable("Servo_Y"))
End If

------------------------------------

Grab object while tracking them using live video.

  • Actuators / output devices: 16x Hitec servos
  • Control method: Usb interface for camera & servo controller.
  • CPU: DELL PC
  • Operating system: Win XP
  • Power source: Wall adaptor
  • Programming language: Roborealm
  • Sensors / input devices: USB webcam
  • Target environment: anywhere
Flag this post

Thanks for helping to keep our community civil!


Notify staff privately
It's Spam
This post is an advertisement, or vandalism. It is not useful or relevant to the current topic.

You flagged this as spam. Undo flag.Flag Post