RobAIR2013-RICM4-Groupe2-Suivi
The Team
This team is composed of two 4th year Polytech Grenoble students, in System & Networks specialty.
The members of this team are Nicolas Afonso and Simon Planès.
You can contact us via our mailing list: link.
Project objectives
Our project is a part of the RobAIR2013 project.
RobAIR is a shared project with two others schools:
- ENSIMAG
- Superior Pole Design of Villefontaine
The project consists of the development of a telepresence robot used for museum tours. It is a low cost robot (well below the maket price). The platform and software used for this robot are extensible and follow the OSOHOD2 main lines: open software, open hardware, open design, open data.
Our subproject objectives
We are responsible for the implementation of the ROS environnement in this project. We had to:
- learn the ROS principles
- learn the Python language
- implement ROS nodes in the lego NXT in order to control it
- implement ROS architecture for RobAir (node for the Lidar, the Kinect ... and the topics between these sensors)
- make sufficent documentation for the next RobAir's students (solid fondations to start quickly without loosing time searching the same information as we did)
Technologies used
- ROS
- Python
Material
For the full material list, follow this link (Bonus: photo gallery)
Progress of the project
We have nearly 3 months to complete this project, starting the 14th of January and presented to our professor the 11th of January. Because we have normal courses during this period, only 5 hours per week are free in our Schedule to do this project.
WEEK 1: from January 14th to January 20th
- We discovered the global project,the different teams and objectives.
- We underlined the difficult points
- The communication between the differents teams (synchronisation between different schedules, places to work: IMAG or Polytech')
- What our tutors expects really from us: the project seems to be huge, with a lot of expectations and work to do
- Installation of ROS and first steps with tutorials.
WEEK 2: from January 21st to January 27th
- We organized a meeting with the 3I4 and RICM4 students. During this meeting, we talked about what everyone understood of this project and what everyone's objectives are.
- We met with the three students from Pole Design de Villefontaine and they told us what they have been working on for the last month. Their presentation slides are available here
- A meeting minute is available here.
- Meeting with Rémi Barraquand (thanks !) at INRIA to talk about ROS
- introduction to the ROS principles and architecture
- useful ROS commands and Tools
- demonstation: how to make a package and a virtual robot (with Rviz tool), controlled by keyboard or autonomous depending on its driver mode, generating a map during its navigation
WEEK 3: from January 28th to February 3rd
- Writing of the Software Requirements Specification (first draft)
- Talk with Thomas Calmant and Joao Claudio Américo who worked on RobAIR before with Didier Donsez on another robotic subject
- They warn us about the difficulty to use ROS, they abandoned this robotics development architecture during their project
- We continued to follow the ROS tutorials
WEEK 4: from January 4th to February 10th
- First meeting with the RICM5 working on this project
- They presented to us their first architecture for the project
- They divided up into different groups, each one on charge of a RICM4 team
- Elisabeth Paz and Arthur Alexandre were our tutors
- We finish the basical ROS tutorial and make our firsts practical tests
WEEK 5: from February 11th to February 17th
- Meeting with the RICM5 working on this project
- In the updated architecture, ROS is used everywhere ! In fact all the communication go through these technology.
- We start the intermediate level ROS tutorials
- a first interactive ROS node: hosted on our git
- Final SRS version
WEEK 6: from February 18th to February 22nd
- We had the idea (finally!) to set up mailing lists to improve communication between the different groups of the project
- robair2013@googlegroups.comfor all the Polytech's stakeholders
- ricm4-robair2013@googlegroups.com for the RICM4
- ricm5-robair2013@googlegroups.com for the RICM5
- Before testing on the final robot, we decided to make in practise the different ROS principles we learned the weeks before
- We will try to take the control of the Lego Mindstorm NXT robot using ROS and Python scripts
- Searching for documentation and driver
- We will try to take the control of the Lego Mindstorm NXT robot using ROS and Python scripts
- Writing the UML of the project
WEEKS 7 and 8: from March 4th to March 15th
- HOLYDAYS ;)
- Searching for a nxt ROS node in order to give us the ability to communicate with this robot
- nxt-ros is not working on our ROS environments (Ubuntu 12.10 / ROS Groovy). After some researches and tries, nxt-ros is only compatible with old configurations: ROS electric (v5) / Ubuntu 11.10 and lower.
- nxt-python is working on our ROS environments. We will wrote Python scripts to control the nxt.
WEEK 9: from March 18th to March 22nd
- We assisted at the RICM5 final presentation
- Thanks to the help of a great python programmer (Salem Harrache) we are now able to control the nxt over a ROS architecture :)
- We wrote a simple python script which plays with the ultrasound sensor: available here. It plays a different sound, depending on the distance between an object and the ultrasound sensors.
WEEK 10: from February 25th to February 29nd
- One of the Ensimag group needed the Lidar
- We download the lidar node, accessible from our environment
sudo apt-get install ros-groovy-laser-drivers
- The next is simple, we just have to follow the specific tutorial on ros website.
- We played with the lidar, using the data its node published on the /scan topic
- We download the lidar node, accessible from our environment
- We met a student from this group. We speaks about their part of the project and give him the Lidar and a Exo PC Slate, with a ROS environment installed (but incompatibilities with the Kinect, see the ROS page)
WEEK 11: from April 1st to April 5th
- easter: brake !
- eat ROS chocolates
- See the RobAir Configuration 2 construction by Didier Donsez
- Writing the ROS tutorial
WEEK 12: from April 8th to April 11th
- Programming a ROS node and Python scripts in order to control the RobAir Configuration 2
- Learning how we can send bytes through a serial port in Python: [ http://pyserial.sourceforge.net/ PySerial]
- Learning how the Devantech card works, what are the data it need to move the robot
- Implementing the solution
- test and DEBUG ! (definitely don't use USB extentions, a lot of bytes are lost during communication !)
- Preparing the RobAir configuration for the presentation
- Merge the RICM4 multimedia project part
- Integrating their IHM for publishing data into the RobAir control nodes
- Completing the Hokuyo Lidar Page with our previous experiment.
- Final presentation: April, 11th 2:15pm to 15:40pm for all the RobAir's RICM4 groups
- Writing the requested documents
- Preparing the presentation
- For the documents, please refer you to the document section (below)
Related documents
- The Software Requirements Specification (SRS) can be found here.
- The global project's page can be found here.
- The UML of this project can be found here.
- Our ROS tutorial on wiki-air: here
- The completed Lidar Page on wiki-air.
- ROS code for controling the robot : here
- Presentation slides: File:PI G2.pdf
- Our project flyer: File:Flyer robair g2.pdf
- Our project report: File:Rapport.pdf
- The RobAir Website: here!