Follow

1. Resources

This page should be the first page landed on if you are a new-comer or wanting to be directed to reading resources, tutorials, exercises, or explanations. The resources will be readings and places you can go to find more information about why and how the structures are implemented. It will not explain the specific implementation, but it will give a general idea of the concepts used to derive that implementation. I will try to cover most of the things used in the day-to-day activities while servicing the PR2's software. All in all, these are all responsibilities of the OSSE engineer. You must maintain, make announcements, document, develop, and release resources pertaining to everything below, and reading everything here is essential to excelling and succeeding in this position


Understanding Debian Packages


Some tips: A debian package installs files and modifies the structure of the system that it is installed on. To make a debian package, include a debian sub-folder in that directory. The debian sub-folder will contain files that document things about that debian package such as its version, how it is to be distributed, what files to include, what commands to run before and after installation. The command that makes it, e.g "dpkg-buildpackage" should be run inside the directory that you want to turn into a debian package. Parameters to this command can also generate the source debian packages (.dsc files).

Understanding The PR2 Github Repos

 

 

To understand these repositories, understand that they were originally hosted on SVN and were ported over during the WG->CpR transition. These can be found at https://code.ros.org/trac/pr2debs/browser/trunk for the system debians for the PR2. It includes all the packages and the source for the installer for the basestation.

Understanding The ROS Package Release Process

Understand that before a package is released, there are three commands that will help testing locally: (1) catkin_make test, (2) catkin_make install, and (3) catkin_make --isolated. All of these should be run during compilation to capture all the bugs. See the catkin documentation to make sure your dependencies are set up correctly.

Understanding The Catkin Build Process

Understanding The PR2 System Debian Repository
This is the second repository you should know about. The PR2 software exists on two repositories. The ROS repository and the system repository. The Ubuntu Amazon EC2 Instance hosts a Nginx webserver that indexes the reprepro files and reprepro indexes and maintains the package management. To take this over and understand what is going on, I suggest reading about Amazon EC2, adding ssh-keys (to login to the EC2 server), Nginx, and reprepro. The packages are also signed, and so GPG and package signing should be understood.

  • Reprepro: In short for this, you will have to know how to officially add a debian package to a repository, to stage a package, to remove, and to export the packages. Exporting the packages makes them publicly available. Importing them adds them to the package management system. Removing them removes them from the system. Staging them holds them in a directory that will be merged later into the package management system.
  • Nginx. Nginx is a web server just like Apache2, but I found it to be much simpler and it looks nicer as well. The bugs are also more conclusive. 
  • SSH-Keys. you will have to add the *.pem key to your keys list to access the EC2 instance. 
  • Using an Amazon EC2 Server. It's good to get the gist of whats going on. 
  • Understanding GPG signing


Useful Knowledge Bases For The PR2's Software
In short, the ROS wiki has many tutorials on administrating the PR2 (The stuff a person providing software support should know) http://wiki.ros.org/pr2_robot/Tutorials
PR2 software usage documentation is best found by going to wiki.ros.org/package_name where package_name is the name of the package you want details about.
This page, under header "High-level-capabilities" provides good links towards info on the PR2. http://wiki.ros.org/Robots/PR2

What is EtherCAT?

The Original PR2 Wiki

  • Clearpath Robotics is soon moving towards deprecating the PR2 support wiki in favor for hosting the resources entirely on the Clearpath Robotics website.
  • The old wiki (PR2 Support) is hosted here 



The Clearpath PR2 Documentation


The PR2 Manual


Existing PR2 Debian Repositories

  • This is the most modern packages repository for the PR2. It hosts all the system debians but at the moment they only exist on the pr2-dev branch. After the Hydro release Dec 1, full installs will be available from the 0.6.2 pr2-release branch 
  • http://packages.willowgarage.com once was the main source of software for the PR2 realm. It no longer works since the server went offline. Ilia brought it back up and hosted it on a S3, however S3 treats filenames weird and this broke the repo. http://packages.willowgarage.s3-website-us-east-1.amazonaws.com 
Was this article helpful?
1 out of 1 found this helpful
Have more questions? Submit a request

Comments

Powered by Zendesk