PR2 Hardware Modifications and Add-ons
The PR2 has been designed for expansion by users, with additional mounting points for hardware, and connectors for data and power.
Below are modifications and add-ons submitted by PR2 users both within and outside of Willow Garage. Feel free to provide a link to your own hardware repository or web page, and further describe those you see here.
Willow Garage does not endorse any particular hardware modification, and reminds users that modifications are performed at their own risk. We highly encourage following the PR2 Modularity Specification.
The Kinect sensor suite has proven to be a very popular add-on to the PR2.
Willow Garage: This prototype places the sensors about 125 mm above the head. While this may introduce vibration while moving, it allows the sensors to view more of the ground directly around the robot (the body and shoulders partially block the view of the built-in cameras).
TUM: The sensor is mounted directly to the head via a mounting plate. An STL file for this mounting plate is available. Here KINECTMOUNT_jromano.dwg is a DWG autocad recreation of this mounting plate, useful for laser-cutting.
Connection A - Over USB: Very similar to JSK below with an exception that the sensor is powered from the power hub in the head.
Connection B - Over Ethernet: The power was taken from the head, a miniconnect JR was found on a motherboard, usually providing 12V to a graphics card. The USB signal was routed through the Head Ethernet AUX cable, using a self-made passive connector from USB to ethernet, as seen in the pictures
JSK: The University of Tokyo's cover is made with a 3D printer. PAR and STL files are available.
Leuven: The Kinect is mounted via an AX12, so it can be tilted independently from the rest of the head. Multiple CAD files available upon request.
GT-Healthcare Robotics Lab: Yet another version of a mount for the Kinect sensor. We have a 3D printed part that can be easily modified for other robots or general use. It also doesn't require opening the actual Kinect sensor casing, only the base. The assembly procedure, parts (for Solid Works) and other examples are fairly well documented and available here.
Bosch has mounted a second Kinect sensor between the arms of the PR2.
- Pictures of the Kinect mounted:
- A frame from the RGB and depth cameras
- Drawing of mounting bracket:
(in PDF Inter-arm Kinect mounting bracket.)
- Isometric view of folded bracket
- DXF of bracket, dimensions in mm
- Bosch is now running two Kinects simultaneously. In order to do this one Kinect must be plugged into C1 and the other one into C2. The USB ports are all used in the default configuration for C2, so the Bluetooth dongle for the joystick was moved from C2 to C1.
- Further dual-Kinect information can be found on the Pr2-users mailing list.
Adam Leeper of Stanford University added a stereo camera to a gripper to make it grasp more reliably.
ATI Mini40 Force-Torque Sensor
Currently, the sensor cable is routed externally between the wrist and NetFT box mounted on the shoulder, although there are plans for routing the cable into the gripper to a custom PCB and through the slip ring to avoid wrapping up the cable. However, while the ATI Mini40 is very similar in O.D. to the gripper/forearm interface, the I.D. is too small to allow the JST connector to pass from the forearm to the gripper. As a result, anytime the sensor needs to be replaced, the connector would have to be removed and reconnected, resulting in a potential point of failure. We are investigating alternate sensors with larger I.D.s.
To use the sensor with ROS, see the netft stack.
Microphones (ears) for the PR2 head
The PR2 robot head makes a nice place for mounting microphones to do audio detection and speech detection with the robot. At UPenn we have tested the performance of a variety of microphones, and found a nice mid-range price/high-range performance USB microphone, and designed a convenient mount for it on the PR2 head. The microphone used is a MXL AC-404 produced by Marshall Electronics. We recommend the AC-404 as a good starter microphone, since it has a nice crisp response for almost 180 degrees in front of the mic.
We have designed a mount than can easily be bolted onto the bolt-pattern of the PR2 head, and which holds the microphone securely with a loose press-fit. Attached below is an STL file for 3D printing (dimensions are in millimeters). Alternative formats can be made available upon request.
You will need a total of four M6 screws per mount to attach it to the head. In addition to the press-fit, we use velcro on the underside of the microphone and mount to ensure a solid grip and allow for easy removal. Below are some photos to aid in your assembly.
To reliably access the microphones you should copy this .asoundrc file to each users home directory. This will setup an alsa pcm object called "left_ear". You can try testing it by running:
arecord -f dat -d 10 -D plug:left_ear test.wav
You might have to use alsamixer to turn up the microphone recording volume and the PR2 speaker playback volume.