Embedded Motion Control 2013 Group 3: Difference between revisions

From Control Systems Technology Group
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 13: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.