CentroEPiaggio / pacman-DR53

This repository contains the necessary tools to run the demo contemplated in DR 5.3 of the PaCMan Project.
GNU General Public License v2.0
0 stars 0 forks source link

pacman-DR53

(AKA 2nd Year Demo, Object Passing Demo)

![Stories in In Progress](https://badge.waffle.io/centroepiaggio/pacman-dr53.svg?label=in%20progress&title=In Progress)

This sub-project implements the deliverable DR 5.3 of the PaCMan Project, and this document is its declaration of intent.

Overview

This sub-project is powered by open-source software, and UNIPI partner decided to release it as well as open-source. It is part of the list of demos in WP5 within the project. The full list can be found here (access restricted to PaCMan members).

The sub-project DR53 has a Team-Horizontal structure with 2 levels and reports to Marco Gabiccini (CN @MarcoGabiccini) and Antonio Bicchi. Next the premises, orgaznization, development plan, technical details and information on suppliers are described.

Premises

Organization

Level 1: Heads

Level 2: Teams

  1. HMI

  2. Grasp DB (Acquisition & Data-Processing)

  3. Visual perception

  4. Pisa/IIT SoftHand perception

  5. High-level Planning

  6. Low-level Planning

  7. Hardware (real/sim) and controllers

  8. State estimation and reactive controllers (?) (The work here heavily relies on the work of teams 3, 4, and 7)

  9. Infrastructure and Technical Support

Development

Refer to the milestones section for the development plan, and to the issues section for the related actions.

Techincal

Software

All modules should use any kind of CI support. We suggest Travis CI, which is actually used within this sub-project, since it is a meta-package that contains all pieces required to run the demo. The CI configuration file contains the instructions to install what you need. See the file here []

Most of the interface between modules is done via launch files, xacros, params, topics, services, and actions. XML-related (launch, xacros) files are advised to follow the interface/implementation paradigm, that is, use args to define the interface and do what it takes within to implement the functionality, see [here]() and [here](), for an example of a launch and a xacro file definition, respectively. Node-related stuff (params, topics, services, and actions) are advised to follow the namespacing capability in ROS, that is, if right_hand and left_hand are two devices of the same kind, with the associated topic /joint_states published by two IMU-gloves and by a Gazebo simulation, make your node able to publish on topics /right_hand/imu_glove/joint_states, /right_hand/imu_glove/joint_states, /left_hand/imu_glove/joint_states and /left_hand/imu_glove/joint_states.

Getting the software

Clone this repository recursively with the following command:

git clone --recursive https://github.com/CentroEPiaggio/pacman-DR53.git

Compile it:

roscd && cd .. && catkin_make

Check dependencies and installation instructions on each submodule.

To continue developing follow:

  1. Checkout master branch for submodules: cd pacman-DR53 && git submodule foreach git checkout master

  2. For the Vito robot, checkout the development branch for multi-robot configurations: cd vito-robot && git submodule foreach git checkout multi-robot-test

Hardware

Most of the hardware has an associated software package with instructions on how to setup the device to work with the module. Here we describe how to set the environment.

The following scheme shows the connectivity, IP addresses, and all required information to run the demo (if you don't have access to edit, issue it)

Suppliers

  1. Pisa/IIT SoftHand

  2. KIT mounting (desired, but not required for the demo)