Difference between revisions of "RoCKIn2014"

From robotica.unileon.es
Jump to: navigation, search
(Phase I: Initial Setup)
m
 
(76 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==RoCKIn Camp 2014==
+
=RoCKIn Project Description=
 
 
  
 
* '''Project Name:'''  
 
* '''Project Name:'''  
 
[[Image:LogoRockin.png|130px]]
 
[[Image:LogoRockin.png|130px]]
 +
 +
* '''Next Challenge'''
 +
[http://rockinrobotchallenge.eu/rockin2014.php RoCKIn@home Toulouse]
  
 
* '''Official Web Page'''
 
* '''Official Web Page'''
 
  [http://rockinrobotchallenge.eu/home.php RoCKIn@home]  
 
  [http://rockinrobotchallenge.eu/home.php RoCKIn@home]  
  
 +
=Watermelon Project: Team Description=
  
 
* '''Project Codename'''  
 
* '''Project Codename'''  
  Watermelon :D
+
  Watermelon Project
 
 
  
 
* '''Advisor:'''  
 
* '''Advisor:'''  
 
  [http://robotica.unileon.es/~vmo Vicente Matellán Olivera]
 
  [http://robotica.unileon.es/~vmo Vicente Matellán Olivera]
 
  
 
* '''Staff:'''  
 
* '''Staff:'''  
  Technical software: Fernando Casado
+
  Technical- Manipulation/Grasping, Simulation: Fernando Casado
  Technical software: Víctor Rodríguez  
+
  Technical- Navigation: Rubén Rodríguez
  Technical software: Francisco Lera
+
  Technical- SW Integration, Middleware, Perception: Francisco Martín Rico
  Technical hardware: Carlos Rodríguez
+
Technical- SW Integration, HRI Dialogue, Team Leader: Francisco Lera
 +
  Technical- Hardware: Carlos Rodríguez
  
* '''Other Information:'''  
+
* '''Former Staff:'''  
* '''Academic Year:''' 2013-2014
 
* '''SVN Repositories:''' soon ...
 
* '''Tags:''' Augmented Reality, Elderly people, Tele-Assistence
 
* '''Technology:''' ROS, PCL, c++, svn, OpenCV, cmake, OpenGL, Qt, Aruco,
 
* '''State:''' Development
 
  
== Project Summary ==
+
Technical-Perception: Víctor Rodríguez
This challenge focuses on domestic service robots. The project aims robots with enhanced networking and cognitive abilities. They will be able to perform socially useful tasks such as supporting the impaired and the elderly (one of the main goal of our group).
 
  
In the initial stages of the competition individual robots will begin by overcoming basic individual tasks, such as navigation through the rooms of a house, manipulating objects or recognizing faces, and then coordinate to handle house-keeping tasks simultaneously, some of them in natural interaction with humans.
+
* '''Other Information:'''
 
+
  '''Academic Year:''' 2013-2014
==Robot==
+
  '''SVN Repositories:''' soon...  
We want to take part in RoCKIn with the platform developed during the las two years in the Catedra Telefónica-ule.
+
  '''Tags:''' Augmented Reality, Elderly people, Remote-Assistance
[[Image:RobotWatermelon0.JPG|thumb|130px|MYRABot robot.]]
+
  '''Technology:''' ROS, PCL, c++, svn, OpenCV, cmake, OpenGL, Qt, Aruco,  
 
+
'''State:''' Development
===Robot Hardware===
 
 
 
# iRobot Roomba 520
 
# Dinamixel Arm (5x12a)
 
# wood frame (yes, it is made with wood)
 
# Notebook (Atom processor) (display+computer are separeted)
 
# Kinect
 
# Arduino Mega
 
 
 
=== Robot Software ===
 
# ROS (robot control)
 
# MYRA (C/C++, ArUCo, Qt, openCV)
 
 
 
 
 
==Proposal==
 
 
 
We want to deploy in this robot the minimal functional abilities to be part of RoCKIn 2014. 
 
 
 
* Navigation
 
* Mapping
 
* Person recognition
 
* Person tracking
 
* Object recognition
 
* Object manipulation
 
* Speech recognition
 
* Gesture recognition
 
* Cognition
 
 
 
We are going to separate the development in three phases:
 
# Phase I: Initial Setup
 
# Phase II: Integration and architecture
 
# Phase III: Platform test
 
# Phase IV: Improvements and complex tasks
 
## Technical Challenge: Furniture-type Object perception
 
## Open Challenge: Present and demonstrate most important (scientific) achievements
 
 
 
 
 
=== Phase I: Initial Setup ===
 
 
 
[[RoCKIn2014PhaseI | Outline]]: Tasks developed in this phase
 
 
 
 
 
 
 
==== Hardware Preparation  ====
 
----
 
We need to make some initial tasks to fulfill the basic hardware setup, configuration, and customization of the robot.
 
 
 
 
 
;Task 1
 
: Get power from roomba brush (It is going to be used in the arm )
 
 
 
[[Image:BrushModification.jpg|center|400px]]
 
 
 
<center> <videoflash>KiNFuWWZwFs</videoflash> </center>
 
 
 
;Task 2
 
: Emergency Stop Button
 
 
 
[[Image:PictureChainButtonStop.jpg|center|600px]]
 
 
 
 
 
 
 
;Task 3
 
: Start Button
 
 
 
ToDo
 
 
 
====Software Preparation====
 
----
 
 
 
====Environment setup====
 
 
 
We are going to define the basis of the system to be deployed.
 
 
 
* Operative System : [http://www.ubuntu.com/download/desktop Ubuntu 12.04 LTS]
 
* Software Restriction : [http://wiki.ros.org/fuerte/Installation/Ubuntu ROS Fuerte]
 
* Core drivers for Roomba : [[HowToInstallRoombaPackage | How to install roomba package]]
 
 
 
====Packages search====
 
 
 
We use ROS so we can find at least a package for each ability ready to deploy in a robot. In this way, this task involves search and test each package to evaluate if we are able to deploy in our platform.
 
 
 
  Navigation
 
    [http://wiki.ros.org/navigation?distro=fuerte 2D navigation stack]
 
    [http://wiki.ros.org/turtlebot_navigation/Tutorials/Autonomously%20navigate%20in%20a%20known%20map Turtlebot Navigation]
 
 
 
  Mapping
 
    [http://wiki.ros.org/turtlebot_navigation/Tutorials/Build%20a%20map%20with%20SLAM SLAM]
 
 
 
  Object recognition
 
    Simple Qt interface to try OpenCV implementations of SIFT, SURF, FAST, BRIEF and other feature detectors and descriptors.
 
    [http://code.google.com/p/find-object/ find-object stack]
 
 
 
  Speech recognition
 
    [http://www.pirobot.org/blog/0022/ Speech Recognition and Text-to-Speech (TTS) in π robot]
 
    Packages pocketsphinx and Festival
 
 
 
  Cognition
 
    To be done during stacks integration
 
 
 
  <pre style="color:red">Person recognition</pre>
 
 
 
  <pre style="color:red">Person tracking</pre>
 
 
 
  <pre style="color: red">Object manipulation</pre>
 
 
 
  <pre style="color: red">Gesture recognition</pre>
 
  
====Ros: Debugging Techniques====
+
=Project Summary=
  
It is possible to make debugging in ROS in two ways
+
This challenge focuses on domestic service robots. The project aims to create robots with enhanced networking and cognitive abilities. They should be able to perform useful tasks such as helping the impaired and the elderly (one of the main goals of our group).
  
; Launch file
+
In the initial stages of the competition, individual robots will begin by overcoming basic individual tasks, such as navigating through the rooms of a house, manipulating objects or recognizing faces, and then coordinating to handle house-keeping tasks simultaneously, some of them under natural interaction with humans.
  
Following the [http://wiki.ros.org/roslaunch/Tutorials/Roslaunch%20Nodes%20in%20Valgrind%20or%20GDB Roslaunch techniques]
+
=RoCKIn Evolution=
  
<pre>
+
[[RoCKIn2014Camp | Rome - RoCKIn Camp 2014]]
launch-prefix="xterm -e gdb --args" : run your node in a gdb in a separate xterm window, manually type run to start it
 
  
launch-prefix="gdb -ex run --args" : run your node in gdb in the same xterm as your launch without having to type run to start it
+
=Robot=
  
launch-prefix="valgrind" : run your node in valgrind
+
We want to take part in RoCKIn with the platform developed during the last two years in the Catedra Telefónica-ULE.
  
launch-prefix="xterm -e" : run your node in a separate xterm window
+
[[Image:RoCKIn_robot.JPG|thumb|230px|MYRABot robot.]]
  
launch-prefix="nice" : nice your process to lower its CPU usage
+
==Robot Hardware==
  
launch-prefix="screen -d -m gdb --args" : useful if the node is being run on another machine; you can then ssh to that machine and do screen -D -R to see the gdb session
+
{| style="color:black; background-color:#ffffcc;" cellpadding="8" cellspacing="0" border="1"
 +
| Component
 +
| Model
 +
| Description
 +
|- style="color:black; background-color:#ffffff;" cellpadding="8" cellspacing="0" border="1"
 +
| Frame
 +
| n/a
 +
| Poplar laminated wood
 +
|- style="color:black; background-color:#ffffff;" cellpadding="8" cellspacing="0" border="1"
 +
| Computer
 +
| LG X110 -
 +
| Notebooks. Atom processors
 +
|- style="color:black; background-color:#ffffff;" cellpadding="8" cellspacing="0" border="1"
 +
| Controllers
 +
| (a)Arduino 2560, (b)USB2serial
 +
| (a)arm, range sensors, (b)roomba
 +
|- style="color:black; background-color:#ffffff;" cellpadding="8" cellspacing="0" border="1"
 +
| Base
 +
| Roomba 520
 +
| Vacuum cleaner
 +
|- style="color:black; background-color:#ffffff;" cellpadding="8" cellspacing="0" border="1"
 +
| Ultrasound Sensors
 +
| Maxsensor mb1220 (x5)
 +
| Range: 7 meters
 +
|- style="color:black; background-color:#ffffff;" cellpadding="8" cellspacing="0" border="1"
 +
| RGB sensor
 +
| Logitech
 +
| Webcam
 +
|- style="color:black; background-color:#ffffff;" cellpadding="8" cellspacing="0" border="1"
 +
| RGBD sensors
 +
| Kinect, Asus Xtion
 +
|
 +
|- style="color:black; background-color:#ffffff;" cellpadding="8" cellspacing="0" border="1"
 +
| Battery
 +
| standard
 +
| 12V, 7A
 +
|- style="color:black; background-color:#ffffff;" cellpadding="8" cellspacing="0" border="1"
 +
| Arm (Actuator)
 +
| Dinamixel AX12 servos (x5)
 +
| Joints and servomotors from Bioloid
 +
|}
  
launch-prefix="xterm -e python -m pdb" : run your python node a separate xterm window in pdb for debugging; manually type run to start it
+
==Robot Software==
</pre>
 
  
then you only have to do
+
{| style="color:black; background-color:#ffffcc;" cellpadding="8" cellspacing="0" border="1"
 +
| Option
 +
| Control Software
 +
| Version
 +
| Description
 +
|- style="color:black; background-color:#ffffff;" cellpadding="8" cellspacing="0" border="1"
 +
| Robot
 +
| ROS
 +
| Fuerte
 +
|
 +
|- style="color:black; background-color:#ffffff;" cellpadding="8" cellspacing="0" border="1"
 +
| Simulator
 +
| Gazebo and ROS
 +
| Gazebo 1.19, ROS - HYDRO
 +
|
 +
|}
  
<pre>roslaunch <package> <launch></pre>
+
=Videos TDP2014=
  
; Running a single node 
+
==MoveIt!==
  
Following the [http://projects.csail.mit.edu/pr2/wiki/index.php?title=GDB,_Valgrind_and_ROS Commandline techniques]
+
Test 1:  
  
rosrun <package> <node>
+
<videoflash>Y9dv5mEiNK0</videoflash>
instead use
 
roscd <package>
 
<pre>valgrind bin/<node></pre> or <pre>gdb bin/<node></pre> or
 
<pre>gdb
 
      GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
 
      Copyright (C) 2012 Free Software Foundation, Inc.
 
      License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 
      This is free software: you are free to change and redistribute it.
 
      There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
 
      and "show warranty" for details.
 
      This GDB was configured as "x86_64-linux-gnu".
 
      Para las instrucciones de informe de errores, vea:
 
      <http://bugs.launchpad.net/gdb-linaro/>.
 
  
      (gdb) file <route to node>
+
<videoflash>ODUJIuZn5ew</videoflash>
      (gdb) run
 
</pre>
 
  
Don't forget to add Debug in the CMakeLists.txt
+
==Arm Control==
  
<syntaxhighlight lang=CMake>
+
Arm control with Xbox Joystick
cmake_minimum_required(VERSION 2.4.6)
 
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
 
set(ROS_BUILD_TYPE Debug)
 
  
#set(ROS_BUILD_TYPE Release)
+
<videoflash>00As38JDjLA</videoflash>
rosbuild_init(node)
 
  
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
+
=Acknowledgments=
  
rosbuild_gensrv()
+
'''Organizations:'''
rosbuild_add_boost_directories()
 
  
add_subdirectory(src)
+
[http://www.fablableon.org/ Fab-Lab León]
</syntaxhighlight>
 
  
; EXTRA - Core dumps
+
[http://catedratelefonica.unileon.es/ Cátedra Telefónica-Unileon]
  
The easy way to get [http://wiki.ros.org/roslaunch/Tutorials/Roslaunch%20Nodes%20in%20Valgrind%20or%20GDB core dumps]
+
'''People:'''
  
Set the core size to unlimited (if it is not set) :
+
Alvaro Botas (MYRA software)
  
<pre>
+
Joaquín Olmo (First design of MYRABot prototype)
$ ulimit -a
 
core file size          (blocks, -c) 0
 
...< more info here >...
 
  
$ ulimit -c unlimited
+
Julián Orfo (Navigation in simulator environment)
  
$ ulimit -a
+
=Sponsorship=
core file size          (blocks, -c) unlimited
 
...< more info here >...
 
</pre>
 
  
To allow core dumps to be created (Ubuntu way)
+
[[Image:Sponsor1.png|830px]]
  
<pre>
+
If you want to contribute financially to the project, please contact us.
$ sudo -s
 
# echo 1 > /proc/sys/kernel/core_uses_pid
 
</pre>
 
  
=== Phase II: Integration and Architecture  ===
+
=Wishlist=
  
 +
<span style="color:#009000"> &#9745; </span> Roomba battery
  
=== Non-Critical (but to-do) ===
+
<span style="color:#ff0000"> &#9744; </span> Arduino Mega (x2)
  
# Android/iOS Teleoperation
+
<span style="color:#ff0000"> &#9744; </span> Roomba base (520, 560)
# Desktop Qt interface
 
# Create  robot model for Gazebo
 
# Create robot model for rviz (the same as Gazebo?)
 
  
==Wishlist==
+
<span style="color:#ff0000"> &#9744; </span> Ultrabook
* Computer i7 processor, 8GB RAM, Nvidia (1-2 GB)
 
* ASUS Xtion Pro Live Color RGB Sensor
 
* Roomba battery
 
* Arduino Mega (x2)
 
* Roomba base (520, 560)
 

Latest revision as of 11:33, 14 February 2015

RoCKIn Project Description

  • Project Name:

LogoRockin.png

  • Next Challenge
RoCKIn@home Toulouse 
  • Official Web Page
RoCKIn@home 

Watermelon Project: Team Description

  • Project Codename
Watermelon Project
  • Advisor:
Vicente Matellán Olivera
  • Staff:
Technical- Manipulation/Grasping, Simulation: Fernando Casado
Technical- Navigation: Rubén Rodríguez
Technical- SW Integration, Middleware, Perception: Francisco Martín Rico
Technical- SW Integration, HRI Dialogue, Team Leader: Francisco Lera
Technical- Hardware: Carlos Rodríguez
  • Former Staff:
Technical-Perception: Víctor Rodríguez 
  • Other Information:
Academic Year: 2013-2014
SVN Repositories: soon... 
Tags: Augmented Reality, Elderly people, Remote-Assistance
Technology: ROS, PCL, c++, svn, OpenCV, cmake, OpenGL, Qt, Aruco, 
State: Development

Project Summary

This challenge focuses on domestic service robots. The project aims to create robots with enhanced networking and cognitive abilities. They should be able to perform useful tasks such as helping the impaired and the elderly (one of the main goals of our group).

In the initial stages of the competition, individual robots will begin by overcoming basic individual tasks, such as navigating through the rooms of a house, manipulating objects or recognizing faces, and then coordinating to handle house-keeping tasks simultaneously, some of them under natural interaction with humans.

RoCKIn Evolution

Rome - RoCKIn Camp 2014

Robot

We want to take part in RoCKIn with the platform developed during the last two years in the Catedra Telefónica-ULE.

MYRABot robot.

Robot Hardware

Component Model Description
Frame n/a Poplar laminated wood
Computer LG X110 - Notebooks. Atom processors
Controllers (a)Arduino 2560, (b)USB2serial (a)arm, range sensors, (b)roomba
Base Roomba 520 Vacuum cleaner
Ultrasound Sensors Maxsensor mb1220 (x5) Range: 7 meters
RGB sensor Logitech Webcam
RGBD sensors Kinect, Asus Xtion
Battery standard 12V, 7A
Arm (Actuator) Dinamixel AX12 servos (x5) Joints and servomotors from Bioloid

Robot Software

Option Control Software Version Description
Robot ROS Fuerte
Simulator Gazebo and ROS Gazebo 1.19, ROS - HYDRO

Videos TDP2014

MoveIt!

Test 1:

<videoflash>Y9dv5mEiNK0</videoflash>

<videoflash>ODUJIuZn5ew</videoflash>

Arm Control

Arm control with Xbox Joystick

<videoflash>00As38JDjLA</videoflash>

Acknowledgments

Organizations:

Fab-Lab León

Cátedra Telefónica-Unileon

People:

Alvaro Botas (MYRA software)

Joaquín Olmo (First design of MYRABot prototype)

Julián Orfo (Navigation in simulator environment)

Sponsorship

Sponsor1.png

If you want to contribute financially to the project, please contact us.

Wishlist

Roomba battery

Arduino Mega (x2)

Roomba base (520, 560)

Ultrabook