XYZbot Fritz: A robotic puppet
Currently a successfully funded Kickstarter campaign, the XYZbot Fritz module provides an interface to the Fritz robotic puppet created by XYZbot. There are 13 servos in the advanced version that are driven by an Arudino microcontroller. This module will communicate to the Arduino to set each of those servos based on variables within RoboRealm. Using this interface you can move Fritz based on visual stimuli such as colored objects, fiducials, movements, etc.The simple interface allows you to either move the parts manually using the sliders or automatically by selecting a variable whose value will be sent as the servo position. Note, the values range from -1000 to 1000 with 0 being neutral. The values represent the entire range as configured using the Setup Motors menu option in the software provided by XYZbot. This module assumes that you have already configured your Fritz with respect to the minimum and maximum values for each servo. The values sent by this module (-1000 to 1000) are then scaled into this minimum and maximum values before moving the servo. Thus you can use this module without modification on different Fritzes as long as they have already been setup.
Interface
Instructions
1. Connection - The module will automatically seek out the appropriate COM port that Fritz is configured on. If this connection fails to connect, check that you have the most recent firmware loaded on your Arduino and that you have appropriate power connected to Fritz.
2. Left Eyebrow, Left Eyelid, etc. - Each row represents a connection to a particular face part of Fritz. The Left and Right are specified as if you are looking at Fritz. Thus Left is your left and Right is you right as apposed to Fritz's left and right. I.e. the labels are NOT mirrored.
3. Variable - The variable dropdown allows you to select a variable from within RoboRealm that should be sent to Fritz in order to change the servo position. Note that this value should range from -1000 to 1000. Once you type in or select a variable, the manual slider and value will be disabled to indicate that the servo is now under automatic control.
4. Value - The value field represents the current numerical position of the servo as scaled by the minimum and maximum values configured within Fritz. You can change this by typing in a new number directly into the provided text box or use the up and down arrow buttons to change the value.
5. Manual Slider - You can also change the position of a servo by moving the slider using your mouse. This is an easy way to check that the connection is working and that you have control of Fritz from within this module. Note that once a variable is selected both the slider and the value controls are disabled.
Examples
Joystick
Click Here to load a robofile that will allow you to drive your Finch using a joystick. When you load this configuration you will need to edit the Joystick module to select which joystick to use to control the robot. This is similar to the joystick capabilities of the software provided with Fritz.
Use the twist and rudder to move Fritz's neck left/right and up/down. Press button 1 to open the Jaw, press button 2 to close the eyes. Use the joystick to move the eyes. Note that the horizontal movement is the same for both eyes but the vertical is reversed (try doing that with your own eyes)! Can you fix that?
Fiducial Tracking
Click Here to load a robofile that will cause Fritz to track a fiducial located in the Fiducials folder where you installed RoboRealm. You can print out any of those fiducials and show them to Fritz (avoid your fingers getting in the way) and he will track the object (slowly!) by moving his neck from right to left and up to down.
You will probably need to configure the Fiducials folder to the one where you installed RoboRealm. Once that is done, you should also press the Train button to ensure that RoboRealm learned those fiducials.
This example assumes that a camera is mounted ontop of Fritz's face. The way this works is that the camera takes the image while attached to Fritz, the image is fed back into RoboRealm running on a PC which processes the image and sends commands to Fritz via the Arduino serial connection.
See Also
Sparkfun Arduino
For more information
XYZbot Website
New Post |
XYZbot_Fritz Related Forum Posts | Last post | Posts | Views |
Face detect and greet (Fritz)
I have downloaded the "Roborealm" and use it in "Fritz" on the face detection function. But is's not work. | 9 year | 4 | 3407 |