Embedded Motion Control 2013 Group 2: Difference between revisions
Line 264: | Line 264: | ||
| The localization algorithm is based on the sketch you can find in the pdf-file. In a closed corridor it uses 4 points and the corresponding angles to calculate the orientation of the robot compared to the center line of the corridor and the x-position compared to the center line (e.a. the line perpendicular to the center line of the corridor). Two points are the points perpendicular to the center line of the robot and 2 points are the points perpendicular to the walls. | | The localization algorithm is based on the sketch you can find in the pdf-file. In a closed corridor it uses 4 points and the corresponding angles to calculate the orientation of the robot compared to the center line of the corridor and the x-position compared to the center line (e.a. the line perpendicular to the center line of the corridor). Two points are the points perpendicular to the center line of the robot and 2 points are the points perpendicular to the walls. | ||
|- | |- | ||
| The algorithm takes into account 4 different situations. The first situation is when the robot is in a closed corridor, in this situation all the desired points are available. The second situation is when the robot has an opening on the left/right, in this situation the corner on which side the opening is is used to calculate what the width of the corridor is. The third situation is when the robot has turned to change to different corridor (bottom situation in the pdf). In this situation the information of the two closest corners is used to calculate the width of the next corridor is, where the center line is located and what the orientation and x-position of the robot is compared to this center line. | | The algorithm takes into account 4 different situations. The first situation is when the robot is in a closed corridor, in this situation all the desired points are available. The second situation is when the robot has an opening on the left/right, in this situation the corner on which side the opening is is used to calculate what the width of the corridor is. The third situation is when the robot has turned to change to different corridor (bottom situation in the pdf). In this situation the information of the two closest corners is used to calculate the width of the next corridor is, where the center line is located and what the orientation and x-position of the robot is compared to this center line. The output of the algorithm is in angle "Theta_robot", which is the angle between the center line of the robot and the x-position, which is the distance to the center line of the corridor. | ||
|- | |- |
Revision as of 22:28, 23 September 2013
Group Members
Name: | Student id: | Email: |
Joep Alleleijn | 0760626 | j.h.h.m.alleleijn@student.tue.nl |
E. Romero Sahagun | 0827538 | e.romero.sahagun@student.tue.nl |
L. Galindez Olascoaga | 0867854 | l.i.galindez.olascoaga@student.tue.nl |
Koen Meeusen | 0657087 | k.a.meeusen@student.tue.nl |
Ngo Hin Cheng | 0731296 | n.h.cheng@student.tue.nl |
Planning
Week: | Activities: |
---|---|
Week 1: Sep 2 - Sep 8 | |
Start ROS & C++ tutorials | |
Prepare software (Ubuntu, ROS, Gazebo, etc..) | |
Project planning & brainstorming | |
Week 2: Sep 9 - Sep 15 | |
Conclude software troubleshoot. | |
Start simulations in Gazebo for sensors and actuators identification. | |
Week 3: Sep 16 - Sep 22 | |
Code development, module based. | |
Code implementation for Corridor Competition, tests on simulation. | |
First real robot trial (Sep 20, 13.00 - 14:00 hrs) | |
Week 4: Sep 23 - Sep 29 | |
Last minute preparations for Corridor Competition | |
Second real robot trial (to schedule..) | |
Corridor Competition (Sep 25) | |
2nd Real robot test (Sep 26, 11.00 - 12:00 hrs) | |
Week 5: Sep 30 - Oct 6 | |
3rd Real robot test (Oct 3, 11.00 - 12:00 hrs) | |
Week 6: Oct 7 - Oct 13 | |
4th Real robot test (Oct 10, 11.00 - 12:00 hrs) | |
Week 7: Oct 14 - Oct 20 | |
5th Real robot test (Oct 17, 11.00 - 12:00 hrs) | |
Week 8: Oct 21 - Oct 27 | |
Maze Competition (Oct 23) |
Current Work
Team Member: | Working on: |
Joep Alleleijn | System architecture, message structure between nodes-> which information is communicated and how. Determine location within the environment based on laser data, build in functionality so it still works when there is an opening in the maze. |
E. Romero Sahagun | Movement module/functions (move forward, backward, turn left/right) |
L. Galindez Olascoaga | System architecture, interfaces and integration/path planning algorithm |
Koen Meeusen | Wall and corner detection, area mapping. |
Progress
Week 1: September 2 - September 8
Software installation |
The goal of the first week was to install all necessary software. The installation of Ubuntu went well in general. In one case (on the 2013 TU/e laptop) Ubuntu would install correctly (it said) but when Ubuntu was started the desktop screen of Ubuntu was not loaded. Instead a command prompt like screen was displayed and reports where shown that there were missing files. The problem was eventually solved as follows:
In case the laptop has been fitted with a small ssd parallel to the main harddisk (like the 2013 TU/e laptop), Ubuntu will not install properly. Because the ssd-drive and the harddisk are placed parallel the laptop will start faster since the ssd provides a fast start-up. When Ubuntu starts it requires files which are not present on the ssd, which causes Ubuntu to fail. The solution is to disable the raid configuration of the laptop. This disables the ssd-drive and its advantages but Ubuntu will start now since all the required files are received from the harddisk. In some cases the Raid is called Intel RST (rapid storage technology). Switching of the raid system in BIOS might result in losing your windows and all your data on the disk. So it is not recommended ( We have never tried it before). Login in windows and open the Intel Rapid Storage Technology program and disable raid support in a less brutal way to avoid such risks. The other required software installed well except Qt. By a few persons Qt did not install. Therefore the choise has been made to use eclipse to type the c++ code. The disadvantage is that in eclipse you will have to rebuild your “cmake” and project files every time you change something in the script. This requires a restart of eclipse. Qt does not have this problem. An advantage of eclipse over Qt is that eclipse can handle vector programming easier then Qt. |
Problem investigation |
In order to solve the maze problem some important questions had to be answered, namely:
- Is the maze unique? (In other words, is there only one solution?) - Are there island in the maze? (walls which are not connected to the outside of the maze) The answered to these questions are yes, the maze is unique and no, there are no island. With these questions answered a simple strategy has been made to solve the maze: If the maze contains islands the solution won’t be totally unique, because there are multiple ways to solve the maze. With islands it is even possible to get stuck in a loop around the island in the maze. With only one path which is correct (a unique solution) and no islands a solution to the maze can be to follow the right hand wall of the robot. In case of the corridor challenge, the solution is not unique, since there are to exits (a correct one and a false one). Although the strategy to follow the right hand wall will in this case give the correct solution. Besides more advances technique to solve a maze, this solution can easily be programed and can be used for testing the simulator. The goal is to have a more advanced maze solving algorithm for the corridor test. However this has to be developed yet. |
Week 2: September 9 - September 15
Testing laser data acquisition | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Simulated laser data (Laura and Joep) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Structure message from laser:
Week 3: September 16 - September 22
Week 4: September 23 - September 29
Week 5: September 30 - October 6
Week 6: October 7 - October 13
Doubts & Questions
FAQ & Doubts |