Difference between revisions of "RobAIR2013-RICM4-Groupe2-Suivi"
Simon.Planes (talk | contribs) |
|||
(58 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
The members of this team are [[User:Nicolas.Afonso|Nicolas Afonso]] and [[User:Simon.Planes|Simon Planès]]. |
The members of this team are [[User:Nicolas.Afonso|Nicolas Afonso]] and [[User:Simon.Planes|Simon Planès]]. |
||
+ | |||
+ | You can contact us via our mailing list: [mailto:ricm4-robair2013@googlegroups.com link]. |
||
= Project objectives = |
= Project objectives = |
||
Line 23: | Line 25: | ||
* implement ROS nodes in the lego NXT in order to control it |
* 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) |
* 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= |
=Technologies used= |
||
Line 35: | Line 38: | ||
=Progress of the project= |
=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. |
+ | 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== |
==WEEK 1: from January 14th to January 20th== |
||
Line 46: | Line 49: | ||
==WEEK 2: from January 21st to January 27th== |
==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 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. |
+ | * 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 [https://www.dropbox.com/s/s1fuly1bfbeodcw/presentation_08_02_2013.pdf here] |
* A meeting minute is available [http://sdrv.ms/10Splee here]. |
* A meeting minute is available [http://sdrv.ms/10Splee here]. |
||
* Meeting with [http://remibarraquand.com/ Rémi Barraquand] (thanks !) at INRIA to talk about [[Robot_Operating_System|ROS]] |
* Meeting with [http://remibarraquand.com/ Rémi Barraquand] (thanks !) at INRIA to talk about [[Robot_Operating_System|ROS]] |
||
Line 54: | Line 57: | ||
==WEEK 3: from January 28th to February 3rd== |
==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 |
* 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 |
** They warn us about the difficulty to use ROS, they abandoned this robotics development architecture during their project |
||
Line 67: | Line 71: | ||
==WEEK 5: from February 11th to February 17th== |
==WEEK 5: from February 11th to February 17th== |
||
* Meeting with the RICM5 working on this project |
* 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 |
* We start the intermediate level ROS tutorials |
||
** a first interactive ROS node: hosted on our [https://github.com/NicolasAfonso/ROStest git] |
** a first interactive ROS node: hosted on our [https://github.com/NicolasAfonso/ROStest git] |
||
+ | * Final SRS version |
||
==WEEK 6: from February 18th to February 22nd== |
==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 |
* We had the idea (finally!) to set up mailing lists to improve communication between the different groups of the project |
||
+ | ** [mailto:robair2013@googlegroups.com robair2013@googlegroups.com]for all the Polytech's stakeholders |
||
+ | ** [mailto:ricm4-robair2013@googlegroups.com ricm4-robair2013@googlegroups.com] for the RICM4 |
||
+ | ** [mailto:ricm5-robair2013@googlegroups.com 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 |
* 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|Lego Mindstorm NXT]] robot using ROS and Python scripts |
** We will try to take the control of the [[Lego_Mindstorm_NXT|Lego Mindstorm NXT]] robot using ROS and Python scripts |
||
*** Searching for documentation and driver |
*** Searching for documentation and driver |
||
+ | * Writing the UML of the project |
||
==WEEKS 7 and 8: from March 4th to March 15th== |
==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 |
+ | * Searching for a nxt ROS node in order to give us the ability to communicate with this robot |
− | **[http://www.ros.org/wiki/nxt nxt-ros] is not working on our ROS environments (Ubuntu 12.10 / ROS Groovy). After some researches, nxt-ros is only compatible with old configurations: ROS electric (v5) / Ubuntu 11.10 and lower. |
+ | **[http://www.ros.org/wiki/nxt 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. |
− | **[http://code.google.com/p/nxt-python/ nxt-python] |
||
+ | **[http://code.google.com/p/nxt-python/ 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== |
− | * [[RobAIR2013-RICM5-Suivi|RICM5]] final presentation |
+ | * We assisted at the [[RobAIR2013-RICM5-Suivi|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 [https://github.com/NicolasAfonso/ROStest/tree/master/NXT 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== |
==WEEK 10: from February 25th to February 29nd== |
||
+ | * One of the [http://fablab.ensimag.fr/index.php/RobAIR/Pilotage_Automatique_du_Robot Ensimag group] needed the Lidar[[File:Lidar2.JPG | 400px| right| thumb | Testing the Lidar ROS node, and monitoring the data into rviz]] |
||
+ | ** We download the lidar node, accessible from our environment <code>sudo apt-get install ros-groovy-laser-drivers</code> |
||
+ | ** The next is simple, we just have to follow the specific tutorial on [http://www.ros.org/wiki/hokuyo_node/Tutorials/UsingTheHokuyoNode ros website]. |
||
+ | ** We played with the lidar, using the data its node published on the /scan topic |
||
+ | * 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 [[Robot_Operating_System | ROS page]]) |
||
==WEEK 11: from April 1st to April 5th== |
==WEEK 11: from April 1st to April 5th== |
||
+ | * easter: brake ! |
||
+ | * eat ROS chocolates |
||
+ | * See the RobAir Configuration 2 construction by Didier Donsez |
||
+ | * Writing the [[Robot_Operating_System | ROS tutorial]] |
||
==WEEK 12: from April 8th to April 11th== |
==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 URG-04LX-UG01 | Hokuyo Lidar Page]] with our previous experiment. |
||
+ | |||
+ | |||
* Final presentation: April, 11th 2:15pm to 15:40pm for all the RobAir's RICM4 groups |
* 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) |
** For the documents, please refer you to the document section (below) |
||
Line 97: | Line 132: | ||
* The global project's page can be found [[RobAIR2013|here]]. |
* The global project's page can be found [[RobAIR2013|here]]. |
||
* The UML of this project can be found [[RobAIR2013-RICM4-Groupe3-UML|here]]. |
* The UML of this project can be found [[RobAIR2013-RICM4-Groupe3-UML|here]]. |
||
− | * Our ROS tutorial on wiki-air: [ |
+ | * Our ROS tutorial on wiki-air: [[Robot_Operating_System |here]] |
+ | * The completed [[Hokuyo_URG-04LX-UG01#Use_the_Lidar_with_ROS | Lidar Page]] on wiki-air. |
||
+ | * ROS code for controling the robot : [https://github.com/NicolasAfonso/RobAir here] |
||
+ | * Presentation slides: [[File:PI_G2.pdf]] |
||
+ | * Our project flyer: [[File:Flyer_robair_g2.pdf]] |
||
+ | * Our project report: [[File:Rapport.pdf]] |
||
+ | |||
+ | * The RobAir Website: [http://robair.quicker.fr/ here!] |
Latest revision as of 13:48, 11 April 2013
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!