Embedded Motion Control 2013 Group 3: Difference between revisions
Jump to navigation
Jump to search
Line 73: | Line 73: | ||
* state_finalize: When no longer between two walls and no maze in front, abort. | * state_finalize: When no longer between two walls and no maze in front, abort. | ||
==Design approach== | ==Design approach & conventions== | ||
*datastructures.h put all global variables and datastructures here. | * datastructures.h: put all global variables and datastructures here. | ||
*theseus is name of the package/node to execute | * states: each contains the functionality of a state. | ||
*theseus_controller is the controller that is iterated and runs: | * conditions: each checks a certain condition to determine the next state. | ||
* theseus is name of the package/node to execute | |||
* theseus_controller is the controller that is iterated and runs: | |||
Gather conditions e.g.: crash_avoidance, gap_detection. | Gather conditions e.g.: crash_avoidance, gap_detection. | ||
Based on the information a state will be chosen and executed. | Based on the information a state will be chosen and executed. | ||
At the end of the state, the velocities will be published. | At the end of the state, the velocities will be published. |
Revision as of 13:03, 17 September 2013
Contact info
Vissers, Yorrick | 0619897 | y.vissers@student.tue.nl |
Wanders, Matthijs | 0620608 | m.wanders@student.tue.nl |
Gruntjens, Koen | 0760934 | k.g.j.gruntjens@student.tue.nl |
Bouazzaoui, Hicham | 0831797 | h.e.bouazzaoui@student.tue.nl |
Zhu ,Yifan | 0828010 | y.zhu@student.tue.nl |
Meeting hours
Mondays 11:00 --> 17:00
Wednesdays 8:45 --> 10:30
Meet with tutor: Mondays at 14:00
Planning
Ma 09 sept:
- Finish installation of everything
- Go through ROS (beginner) and C++ manual
Wo 11 sept:
- Finish ROS, C++ manuals
- Start thinking about function architecture
Ma 16 sept:
- Design architecture
- Functionality division
- Divide programming tasks
Do 19 sept:
- Finish "initialize" (Koen, Hicham, Yifan)
- Finish "drive_parallel" (Matthijs, Yorrick)
- Testing with robot at 13:00-14:00
Wo 25 sept:
- Finish clean_rotation
- Finish gap_handling
- Putting things together
- Corridor Challenge
PICO usefull info
- minimal angle = 2,35739
- maximal angle = -2,35739
- angle increment = 0,00436554
- scan.range.size() = 1081
Strategy
We will use one node that "spins" and subscribes to the sensordata, and publishes the velocities.
The main controller can be in five states:
- state_initialize: return initial setpoint??
- state_drive_parallel: Keep the robot at a fixed distance (setpoint) from the right wall while driving.
- state_gap_handling: When arriving at the center of a gap (to the right). Rotate in place untill parallel with new right wall.
- state_stop: Stops the robot when necessary.
- state_finalize: When no longer between two walls and no maze in front, abort.
Design approach & conventions
- datastructures.h: put all global variables and datastructures here.
- states: each contains the functionality of a state.
- conditions: each checks a certain condition to determine the next state.
- theseus is name of the package/node to execute
- theseus_controller is the controller that is iterated and runs:
Gather conditions e.g.: crash_avoidance, gap_detection. Based on the information a state will be chosen and executed. At the end of the state, the velocities will be published.