![]() |
|||||||
| [ Home ] | [ Software ] | [ Curriculum ] | [ Hardware ] | [ Community ] | [ News ] | [ Publications ] | [ Search ] |
|
Using the Sony AIBO RobotThis module describes how to use the Sony AIBO robot dog in Pyro.
Connecting to the AIBOTo use the AIBO, first load your Tekkotsu memstick into the AIBO's memstick slot. (See "Setting up Your Memstick" below if you haven't already done this.) Then turn the dog on; you will hear a beep, then a growling noise. This means that the robot is ready.
Running robot brains on the AIBOsThe details of how to do this depend on the site:
Know your AiboThe ERS-7 comes with all of the following:
Nearly all of these features are fully integrated into the Python Robotics system. At the moment, however, both ear movement and sound detection using the microphones remain unimplemented.
AIBO Movement ControlThe AIBO can be moved using the standard forward/backward and rotate interfaces (ie, robot.move()). There is also an additional control: robot.strafe(amount). Strafing is a side-to-side movement. Three different types of walks can be imported using the command robot.setWalk(file), where file can be one of the following: PACE.PRM, TIGER.PRM, WALK.PRM.
Individual Joint ControlThe AIBO has a number of joints to be manipulated. The values of the joint positions are normalized to a range from -1.0 to 1.0, or in some cases 0.0 to 1.0. This table lists the joint names, ranges, and some useful values to know.
To get the value of a joint, use getJoint(jointName), where jointName is one of the following:
Examples:
robot.getJoint("leg front left rotator")
robot.getJoint("head roll")
robot.getJoint("mouth")
robot.getJoint("tail tilt")
To set the position of a joint use setPose(jointName, amount). amount is a floating-point value between -1.0 and 1.0 (see table above). jointName is any of the possiblities from getJoint(). For example:
robot.setPose("leg front right elevator", -0.4)
robot.setPose("mouth", 0.35)
Alternatively, you can leave off the [elevator | rotator | knee] component of the leg joints and specify all three values at once. Similarly, you can specify both the pan and tilt of the tail with one command.
Like this:
robot.setPose("leg back left", 0.0, -0.2, 0.6)
robot.setPose("tail", 1.0, 0.5)
AIBO SoundsYou can make the AIBO speak like this:
robot.playSound("filename")
Here are some of the available sound file names: 3BARKS.WAV, 3YIPS.WAV, BARKHIGH.WAV, BARKLOW.WAV, BARKMED.WAV BARKREAL.WAV, CAMERA.WAV, CATCRY.WAV, CATYOWL.WAV, CRASH.WAV CUTEY.WAV, DONKEY.WAV, FART.WAV, GLASS.WAV, GROWL.WAV GROWL2.WAV, GRRR.WAV, HOWL.WAV, MEW.WAV, PING.WAV, ROAR.WAV SKID.WAV, SNIFF.WAV, TICK.WAV, TOC.WAV, WHIIP.WAV, WHIMPER.WAV WHOOP.WAV, YAP.WAV, YIPPER.WAV
AIBO Sensors & ButtonsYou can read the values of the AIBO's sensors and buttons in a similar way. To get the value of a particular sensor use getSensor(sensorName) where sensorName can be any of the following:
robot.getSensor("ir near")
robot.getSensor("accel right-left")
This table explains the values returned by the sensors.
To read the raw value of a button use getButton(buttonName) where buttonName is one of:
robot.getButton("paw front left")
robot.getButton("chin")
robot.getButton("body middle")
Head Movement/Using the AiboCameraTo make use of the AIBO's head camera, type
robot.startDevice("AiboCamera")
at the pyrobot command line. A window will pop up displaying the real-time image taken from the AIBO's camera. The AIBO Camera is fully integrated with Pyro's vision system, so you can filter, blobify, etc.
The robot's head is implemented as a standard pan/tilt/zoom device, but the zoom parameter is ignored. An additonal parameter, roll, controls the angle of the head relative to the neck. robot.ptz[0].pan(0.3) robot.ptz[0].roll(1.0) The ranges of the pan/tilt/roll parameters are:
Some AIBO BrainsTrackBall.py will follow a blob. See the vision module for more information. AiboFindBall.py will attempt to kick a ball into a goal.
RequirementsHardware:
Software:
Setting up Your Memstick
Pyro uses the
It might look something like:
HOSTNAME=aibo ETHER_IP=109.23.34.76 ETHER_NETMASK=255.255.255.0 IP_GATEWAY=109.23.34.1 ESSID=SomeKeyWord WEPENABLE=0 WEPKEY=AIBO2 APMODE=1 CHANNEL=6 DNS_SERVER_1=109.23.1.6 DNS_DEFDNAME=college.edu USE_DHCP=0
ESSID=Clever DogWireless
rawcam_transport=udp to rawcam_transport=tcp
Bryn Mawr student Ioana Butoi did the work to get the AIBO interface running. For further informationb please visit: Next: Using the IntelliBrain-Bot Up: PyroHardware
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [ Home ] | [ Software ] | [ Curriculum ] | [ Hardware ] | [ Community ] | [ News ] | [ Publications ] | [ Search ] |
View Wiki Source | Edit Wiki Source | Mail Webmaster | |||||||