Embedded Motion Control 2013 Group 3: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 61: | Line 61: | ||
* angle increment = 0,00436554 | * angle increment = 0,00436554 | ||
* scan.range.size() = 1081 | * 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== | |||
*datastructures.h put all global variables and datastructures here. | |||
*theseus is name of the package/node to execute | |||
*theseus_controller is the controller that is iterated and runs: | |||
Crash avoidance. | |||
Gather information (gap detection). | |||
Based on the information a state will be chosen and executed. | |||
At the end of the state, the velocities will be published. |
Revision as of 12:56, 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
- datastructures.h put all global variables and datastructures here.
- theseus is name of the package/node to execute
- theseus_controller is the controller that is iterated and runs:
Crash avoidance. Gather information (gap detection). Based on the information a state will be chosen and executed. At the end of the state, the velocities will be published.