====== 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 [[teaching:se-kiba:manipulation-assignment:gazebo-settings|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 [[teaching:se-kiba:manipulation-assignment:executive|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 [[teaching:se-kiba:manipulation-assignment:joint-space-controller|here]]. ==== Implementing our own Cartesian Space Controller ==== Cut for time reasons.