Embedded Motion Control 2014 Group 2: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
Line 58: Line 58:
The first one is a very big node which does everything needed for the challenge, driving straight, look for corners, turning, etc.
The first one is a very big node which does everything needed for the challenge, driving straight, look for corners, turning, etc.
The second one is some kind of fail-safe node which checks for (near) collisions with walls and if so, it will override the first node to prevent collisions.
The second one is some kind of fail-safe node which checks for (near) collisions with walls and if so, it will override the first node to prevent collisions.
The figure next to the ros-node overview displays the internal functions in the drive-node.


[[File:flowchart1.png]]                            [[File:drivenode.png|600px]]
[[File:flowchart1.png]]                            [[File:drivenode.png|600px]]
Each time the LaserCallBack function gets called the CheckWalls function is called in it. This function looks at the laser range at -pi/2 and pi/2. If both the lasers are within a preset threshold it sets the switch that follows the CheckWalls function such that it will execute the Drive_Straight function. If either the left or the right laser exceed the threshold it will cause the switch to execute the Turn_Left or Turn_Right function respectively. If both lasers exceed the threshold pico must be at the exit of the corridor and the stop function is called. Each of these functions in the switch set the x,y and z velocities to appropriate levels in a velocity command which can then be transmitted to the velocity ros-node.


[[File:corr_1.png|250px]] [[File:corr_2.png|250px]] [[File:corr_3.png|270px]] [[File:corr_5.png|270px]] [[File:corr_4.png|330px]]
[[File:corr_1.png|250px]] [[File:corr_2.png|250px]] [[File:corr_3.png|270px]] [[File:corr_5.png|270px]] [[File:corr_4.png|330px]]

Revision as of 19:00, 16 May 2014

Members of Group 2:

Michiel Francke

Sebastiaan van den Eijnden

Rick Graafmans

Bas van Aert

Lars Huijben

Planning:

Week1

  • Lecture

Week2

  • Understanding C++ and Ros
  • Practicing with pico and the simulator
  • Lecture

Week3

  • Start with the corridor competition
    • Start thinking about the hierarchy of the system (nodes, inputs/outputs etc.)
    • Dividing the work
      • Driving straight through a corridor
      • Making a turn through a predefined exit
      • Making a turn through a random exit (geometry unknown)
  • Meeting with the tutor (Friday 9 May 10:45 am)
  • Lecture

Week4

  • Finishing corridor competition
  • Start working on the maze challenge
    • Think about hierarchy of the system
    • Make a flowchart
    • Divide work
  • Corridor challenge

Week5

  • Continue working on the maze challenge

Week6

Week7

Week8

Week9

  • Final competition

Summary:

Corridor Challenge

The system for the corridor challenge is made up from 2 nodes. The first one is a very big node which does everything needed for the challenge, driving straight, look for corners, turning, etc. The second one is some kind of fail-safe node which checks for (near) collisions with walls and if so, it will override the first node to prevent collisions. The figure next to the ros-node overview displays the internal functions in the drive-node.

Flowchart1.png Drivenode.png

Each time the LaserCallBack function gets called the CheckWalls function is called in it. This function looks at the laser range at -pi/2 and pi/2. If both the lasers are within a preset threshold it sets the switch that follows the CheckWalls function such that it will execute the Drive_Straight function. If either the left or the right laser exceed the threshold it will cause the switch to execute the Turn_Left or Turn_Right function respectively. If both lasers exceed the threshold pico must be at the exit of the corridor and the stop function is called. Each of these functions in the switch set the x,y and z velocities to appropriate levels in a velocity command which can then be transmitted to the velocity ros-node.

Corr 1.png Corr 2.png Corr 3.png Corr 5.png Corr 4.png

Time Survey Table 4K450

Members Lectures [hr] Group meetings [hr] Mastering ROS and C++ [hr] Preparing midterm assignment [hr] Preparing final assignment [hr] Wiki progress report [hr] Other activities [hr]
Week 1
Lars 2 0 0 0 0 0 0
Sebastiaan 2 0 0 0 0 0 0
Michiel 2 0 0 0 0 0 0
Bas 2 0 0 0 0 0 0
Rick 2 0 0 0 0 0 0
Week 2
Lars 2 0 16 0 0 0 0
Sebastiaan
Michiel 2 0 8 0 0 0 0
Bas
Rick
Week 3
Lars 2 0.25 4 13 0 0 0
Sebastiaan
Michiel 2 0.25 6 2 0 0 0
Bas
Rick
Week 4
Lars
Sebastiaan
Michiel
Bas
Rick
Week 5
Lars
Sebastiaan
Michiel
Bas
Rick
Week 6
Lars
Sebastiaan
Michiel
Bas
Rick
Week 7
Lars
Sebastiaan
Michiel
Bas
Rick
Week 8
Lars
Sebastiaan
Michiel
Bas
Rick