This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
robots:pr2_guidelines [2016/10/22 08:45] – [Accounts] lisca | robots:pr2_guidelines [2017/02/22 17:13] (current) – [Rebooting the robot] lisca | ||
---|---|---|---|
Line 102: | Line 102: | ||
For additional details you may have a look how the synchronization problem between PR2's C1 and C2 is solved with the base station help http:// | For additional details you may have a look how the synchronization problem between PR2's C1 and C2 is solved with the base station help http:// | ||
- | ===== Account Configuration ===== | + | |
- | The transition from rosbuild to catkin generated a lot of porting requirements which needed long transition time and made discrete ROS upgrades practically impossible. | + | |
===== Software installation ===== | ===== Software installation ===== | ||
Get familiar with [[http:// | Get familiar with [[http:// | ||
- | * [[http:// | + | * [[http:// |
- | * [[http:// | + | * [[http:// |
- | * [[http:// | + | * [[http:// |
- | + | ||
- | You can find some information on what distribution you should use why | + | |
- | and when and how to manage overlays [[http:// | + | |
- | instructions for making overlays are somehow outdated since they still | + | |
- | use the old rosinstall script. How to create overlays with the new | + | |
- | rosinstall is explained below. | + | |
- | + | ||
- | The robot has boxturtle and cturtle installed in /opt/ros. The default | + | |
- | distribution that is used is cturtle. Every account sources per | + | |
- | default / | + | |
- | packages in /opt/ros. This installation is exclusively maintained by | + | |
- | the pr2 administrators. If you want to use different versions or your | + | |
- | own repositories, | + | |
- | create your own rosinstall file. You can find more information | + | |
- | [[http:// | + | |
- | the ros installation instructions since they are not meant for | + | |
- | overlays but for complete installations. You should create your own | + | |
- | rosinstall file containing only the stacks you want to install | + | |
- | instead. First, initialize your overlay with: | + | |
- | + | ||
- | < | + | |
- | rosinstall ~/ros / | + | |
- | </ | + | |
- | + | ||
- | Then install your stacks: | + | |
- | + | ||
- | < | + | |
- | rosinstall ~/ros foo.rosinstall | + | |
- | </ | + | |
- | + | ||
- | You can find more information on rosinstall [[http:// | + | |
===== Running the robot ===== | ===== Running the robot ===== | ||
- | To work on the robot, your computer must be either connected to the | + | To work on the robot, your computer must be either connected to the lab network. The robot' |
- | lab network | + | |
- | up the vpn can be found [[ias: | + | |
- | are named pr2a and pr2b. There is also an alias pr2 that links to | + | |
- | pr2a. You can use | + | |
< | < | ||
- | export ROS_MASTER_URI=http:// | + | export ROS_IP=< |
+ | export ROS_MASTER_URI=http:// | ||
</ | </ | ||
Line 158: | Line 122: | ||
< | < | ||
- | ssh name@pr2 | + | ssh <your-name>@pr2a |
</ | </ | ||
Line 165: | Line 129: | ||
still needs it. __Never__ kill someone else's processes without asking. | still needs it. __Never__ kill someone else's processes without asking. | ||
If the robot is not claimed, first find the wireless runstop. It | If the robot is not claimed, first find the wireless runstop. It | ||
- | should be close around the robot. | + | should be close around the robot. |
- | before you start up the robot with: | + | |
+ | Now claim the robot: | ||
< | < | ||
- | sudo robot start | + | robot claim |
</ | </ | ||
- | Alternatively, | + | Make sure that the runstop is off before you start up the robot with: |
< | < | ||
- | roslaunch / | + | roslaunch /etc/ros/indigo/ |
</ | </ | ||
The robot should come up now. To check, set the %%ROS_MASTER_URI%% on | The robot should come up now. To check, set the %%ROS_MASTER_URI%% on | ||
- | your local machine to %%http://pr2:11311%% and launch the [[http:// | + | your local machine to %%http://pr2a:11311%% and launch the [[http:// |
with | with | ||
< | < | ||
- | rosrun | + | rosrun |
</ | </ | ||
Line 190: | Line 155: | ||
It might be a good idea to first start the core manually before | It might be a good idea to first start the core manually before | ||
- | running the robot and to run all your commands in a [[http:// | + | running the robot and to run all your commands in a [[http:// |
- | session. Now release the runstop. The robot might calibrate. Be sure | + | |
that it will not hit anything while calibrating. | that it will not hit anything while calibrating. | ||
robot, __always__ make sure that the wireless runstop is in reach. If | robot, __always__ make sure that the wireless runstop is in reach. If | ||
Line 198: | Line 162: | ||
is plugged in. **First plug in the power cable into the PR2's inlet, then into the wall outlet**. This is important because the power cable and the pr2 power inlet might get damaged otherwise. When you are done on the robot, move it to its docking | is plugged in. **First plug in the power cable into the PR2's inlet, then into the wall outlet**. This is important because the power cable and the pr2 power inlet might get damaged otherwise. When you are done on the robot, move it to its docking | ||
station and plug in the network cable and the power cable. Press the red button on the | station and plug in the network cable and the power cable. Press the red button on the | ||
- | runstop. If you started up the robot yourself (not with %%sudo robot start%% but with roslaunch, ctrl-c it. If you started it with %%sudo robot start%%, it is not necessary to stop it when you are don. Now release the robot with: | + | runstop. Now release the robot with: |
< | < | ||
- | sudo robot release | + | robot release |
</ | </ | ||
Line 211: | Line 175: | ||
is. No objects may be placed on top of the PR2. Be wary of small | is. No objects may be placed on top of the PR2. Be wary of small | ||
objects (e.g. screws). If you suspect anything has fallen in the PR2, | objects (e.g. screws). If you suspect anything has fallen in the PR2, | ||
- | cut the power with the breakers and contact | + | cut the power with the breakers and contact |
===== Running Kinect2 from PR2 ===== | ===== Running Kinect2 from PR2 ===== | ||
Line 223: | Line 187: | ||
- Start the Kinect2 bridge: (stopping with **CTRL+C**) < | - Start the Kinect2 bridge: (stopping with **CTRL+C**) < | ||
- | ==== Gaining access to Backpack PC ==== | ||
- | For getting access to the [[ias: | ||
- | * Write an email with your public key to Alexis (< | ||
- | **or** | ||
- | * Copy your public key to **kinect2@backpack** and ask Alexis or Thiemo to type in the password < | ||
- | ===== The WEB Interface ===== | ||
- | |||
- | The robot also provides a nice web interface that allows you to bring | ||
- | it up, shut it down or start simple applications to, for instance, | ||
- | tuck the arms or start teleop. You can find it [[http:// | ||
- | |||
- | < | ||
- | guest - guest | ||
- | </ | ||
- | | ||
- | To bring the robot up, first release the runstop and then click on the | ||
- | button to start up and calibrate the robot. On the top line you can | ||
- | see the current battery status, the status of the motors and so | ||
- | on. Under apps, you can find applications for tucking the arm or | ||
- | teleoperating the robot. Please note that, to start up teleoperation, | ||
- | you first have to launch `PR2 Addons` under `Other`. | ||
===== Checklists ===== | ===== Checklists ===== | ||
Line 252: | Line 195: | ||
* Check if the robot is claimed. Do not kill other people' | * Check if the robot is claimed. Do not kill other people' | ||
* Make sure the runstop is off | * Make sure the runstop is off | ||
- | * Claim and start up the robot with `sudo robot start` | + | * Claim and start up the robot with < |
* Run the dashboard on your local machine | * Run the dashboard on your local machine | ||
* Release the runstop. The robot might calibrate. Make sure that it doesn' | * Release the runstop. The robot might calibrate. Make sure that it doesn' | ||
+ | * Work with the robot. | ||
* Always have the runstop in reach. | * Always have the runstop in reach. | ||
+ | * When you are done working with the robot press the " | ||
+ | * Release the robot < | ||
+ | | ||
==== Leaving the robot for a short time ==== | ==== Leaving the robot for a short time ==== | ||
Line 266: | Line 212: | ||
* Move the robot to its docking station | * Move the robot to its docking station | ||
* Plug in the robot (Ethernet and power). **First plug in the power cable into the PR2's inlet, then plug in the power cable into the wall outlet** | * Plug in the robot (Ethernet and power). **First plug in the power cable into the PR2's inlet, then plug in the power cable into the wall outlet** | ||
- | * Release the robot with `sudo robot stop` | ||
* Press the red button on the runstop | * Press the red button on the runstop | ||
+ | * Release the robot with `robot release` | ||
* Plug the PS3 controller into the USB hub nearby the robot | * Plug the PS3 controller into the USB hub nearby the robot | ||
+ | |||
+ | ==== Rebooting the robot ==== | ||
+ | |||
+ | * on pr2b enter the command < | ||
+ | |||
+ | * on pr2a enter the command < | ||
+ | |||
+ | * flip off the power switch (on the back side of robot' | ||
+ | |||
+ | * flip on the power switch (on the back side of robot' | ||
+ | |||
+ | * pr2a should boot automatically (no help needed) | ||
+ | |||
+ | * in case help is needed then in your favourite browser, open pr2a's remote BIOS screen http:// | ||
+ | |||
+ | * pr2b needs manual trigger for the the booting process | ||
+ | |||
+ | * in your favourite browser, open pr2b's remote BIOS screen http:// | ||
+ | |||
+ | * ask [[mailto: | ||
+ | |||
+ | * hit enter in order to trigger the pr2b's booting process (just follow the instructions on the screen) | ||
+ | |||
+ | * next step: the calibration routine (trigger at the first run of roslaunch / |