Table of Contents
Homework: ROS packages for manipulation
Installation
Please install the system according to the instructions here: https://ai.uni-bremen.de/wiki/software/ros/installation
Getting Started
Before you start workin on the assignment, make sure you have completed the 'beginner level' tutorials from http://www.ros.org/wiki/ROS/Tutorials
Please note, that we expect you to be familiar with at least the rosbuild/c++ versions of the tutorials.
Workspace Setup
We have created a git repository for the code that you will develop. You can find it at https://github.com/ai-seminar/group-manipulation and add it to your ROS workspace with
rosws set group_manipulation --git https://github.com/ai-seminar/group-manipulation.git rosws update source ~/.bashrc
Implementation
Setting up our Simulation Environment
We will use a customized lightweight gazebo setup to develop and test our code in simulation. In this step of the assignment you are supposed to familiarize yourself with basic ros dependencies and launch-files. Proceed here.
Using standard ROS arm navigation
As a first-step, you will use the standard ROS arm navigation functionalities to move the arms of the PR2. You will write and compile your first node, use action interfaces, and load parameters from the parameter server. At the end, you will see how both launch-files and parameters are powerful tools to help you re-use code and save time. The instructions can be found here.
Implementing our own Joint Space Controller
Finally, we will get our hands dirty implementing a realtime-safe controller. As a first example we will implement a simple joint space controller. You will visit a lot of useful ROS functionalities and software engineering principles on the way. Get started here.
Implementing our own Cartesian Space Controller
Cut for time reasons.