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

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/robobob

Sir MajorD

Could u  send me other photos of this prorotype please!!!

Thanks!!!

It is just cool and i am interested about arms of your prototype what are they or from where i can get such  piece of matrial???

RoboBOB arm construction

The design I came up with myself.

I purchased the individual parts from Lynxmotion, I’ve included the link below.

http://www.lynxmotion.com/Category.aspx?CategoryID=73

Hope this helps.