Embedded Motion Control 2013 Group 1: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
mNo edit summary
Line 117: Line 117:
| style="width:5%" style="background: #D3D3D3;"  | '''#'''
| style="width:5%" style="background: #D3D3D3;"  | '''#'''
| style="width:15%" style="background: #D3D3D3;"  | '''Datatype'''  
| style="width:15%" style="background: #D3D3D3;"  | '''Datatype'''  
| style="width:15%" style="background: #D3D3D3;"  | '''Node'''
| style="width:15%" style="background: #D3D3D3;"  | '''Published by'''
| style="width:15%" style="background: #D3D3D3;"  | '''Topic'''
| style="width:15%" style="background: #D3D3D3;"  | '''Topic'''
| style="width:50%" style="background: #D3D3D3;"  | '''Description'''
| style="width:50%" style="background: #D3D3D3;"  | '''Description'''
Line 123: Line 123:
| A
| A
| [http://docs.ros.org/api/sensor_msgs/html/msg/LaserScan.html LaserScan]
| [http://docs.ros.org/api/sensor_msgs/html/msg/LaserScan.html LaserScan]
| lineDetector
| Pico
| HoughLines
| /pico/laser
| Laser scan data. For info click [http://docs.ros.org/api/sensor_msgs/html/msg/LaserScan.html here]
|-  
|-  
| B
| B
| [http://docs.ros.org/api/std_msgs/html/msg/Int32MultiArray.html Int32MultiArray]
| [http://docs.ros.org/api/std_msgs/html/msg/Int32MultiArray.html Int32MultiArray]
|
| lineDetector
|  
| /HoughLines
| Every 4 elements represent a line element i.e. [x,y,x',y',...] with a maximum of 5 lines. Hence the array will at most contain 20 elements.
|-  
|-  
| C
| C
| [http://docs.ros.org/api/std_msgs/html/msg/Int32MultiArray.html Int32MultiArray]
| [http://docs.ros.org/api/std_msgs/html/msg/Int32MultiArray.html Int32MultiArray]
|
|
|
|  
|  
Line 139: Line 142:
| Custom message (3x [http://docs.ros.org/api/std_msgs/html/msg/Bool.html booleans], 1x [http://docs.ros.org/api/std_msgs/html/msg/Float32.html Float32])
| Custom message (3x [http://docs.ros.org/api/std_msgs/html/msg/Bool.html booleans], 1x [http://docs.ros.org/api/std_msgs/html/msg/Float32.html Float32])
|  
|  
|
|  
|  
|-  
|-  
| E  
| E  
|
|
|
|
|
Line 148: Line 153:
| F  
| F  
| Custom message (3x [http://docs.ros.org/api/std_msgs/html/msg/Float32.html Float32])
| Custom message (3x [http://docs.ros.org/api/std_msgs/html/msg/Float32.html Float32])
|
|
|
|
|
Line 153: Line 159:
| G
| G
| Custom message (2x [http://docs.ros.org/api/std_msgs/html/msg/Float32.html Float32])
| Custom message (2x [http://docs.ros.org/api/std_msgs/html/msg/Float32.html Float32])
|
|
|
|
|

Revision as of 13:39, 24 September 2013

Group Info

Name: Abbr: Student id: Email:
Groupmembers (email all)
Paul Raijmakers PR 0792801 p.a.raijmakers@student.tue.nl
Pieter Aerts PA 0821027 p.j.m.aerts@student.tue.nl
Wouter Geelen WG 0744855 w.geelen@student.tue.nl
Frank Horstenbach FH 0792390 f.g.h.hochstenbach@student.tue.nl
Niels Koenraad NK 0825990 n.j.g.koenraad@student.tue.nl
Tutor
Jos Elfring n.a. n.a. j.elfring@tue.nl

Meetings

  1. Meeting - 2013-09-04
  2. Meeting - 2013-09-11
  3. Meeting - 2013-09-18

(Global) Planning

Week 1 (2013-09-02 - 2013-09-08)

  • Installing Ubuntu 12.04
  • Installing ROS Fuerte
  • Following tutorials on C++ and ROS.
  • Setup SVN

Week 2 (2013-09-09 - 2013-09-15)

  • Discuss about splitting up the team by 2 groups (2,3) or 3 groups (2,2,1) to whom tasks can be appointed to.
  • Create 2D map using the laser scanner.
  • Start working on trying to detect walls with laser scanner.
  • Start working on position control of Jazz (within walls i.e. riding straight ahead, turning i.e. 90 degrees).
  • Start thinking about what kind of strategies we can use/implement to solve the maze (see usefull links).

Week 3 (2013-09-16 - 2013-09-22)

  • Start work on trying to detect openings in walls.
  • Start working on code for corridor competition.
  • Continue thinking about maze solving strategy.

Week 4 (2013-09-23 - 2013-09-29)

  • Decide which maze solving strategy we are going to use/implement.

Week 5 (2013-09-30 - 2013-10-06)

  • To be determined.

Week 6 (2013-10-07 - 2013-10-13)

  • To be determined.

Week 7 (2013-10-14 - 2013-10-20)

  • To be determined.

Week 8 (2013-10-21 - 2013-10-27)

  • To be determined.

Progress

Week 2

State diagram made of nodes Localisation and Situation

Software architecture

Software architecture.jpg

IO Data structures

# Datatype Published by Topic Description
A LaserScan Pico /pico/laser Laser scan data. For info click here
B Int32MultiArray lineDetector /HoughLines Every 4 elements represent a line element i.e. [x,y,x',y',...] with a maximum of 5 lines. Hence the array will at most contain 20 elements.
C Int32MultiArray
D Custom message (3x booleans, 1x Float32)
E
F Custom message (3x Float32)
G Custom message (2x Float32)

Software development

Localisation.gif

Situation corridor challenge.gif


localisation code (matlab generated)

clc %%x is driving direction!

Y1_1=-5; X1_1=-2;

Y1_2=-6; X1_2=6;


Y2_1=6; X2_1=-5;

Y2_2=5; X2_2=-6;

rc1=(X1_1-X1_2)/(Y1_1-Y1_2) %%of left-hand line
rc2=(X2_1-X2_2)/(Y2_1-Y2_2) %%of right-hand line

%%##determine relative driving angle
Theta=tan(rc1+rc2)/2

%%##determine distance to left wall
offset1=X1_1-Y1_1*rc1;
Y1=-offset1/rc1

%%##determine distance to right wall
offset2=X2_1-Y2_1*rc2;
Y2=-offset2/rc2

Theory

include hough transform here

Usefull links