Embedded Motion Control 2013 Group 1: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 110: Line 110:


[[File:Software architecture.jpg]]
[[File:Software architecture.jpg]]
=== IO Data structures ===
{| border="1" cellpadding="5" cellspacing="0" style="width:100%;border-collapse:collapse;"
|-
| style="width:70%" style="background: #D3D3D3;"  | '''#'''
| style="width:20%" style="background: #D3D3D3;"  | '''Datatype'''
| style="width:10%" style="background: #D3D3D3;"  | '''Node'''
| style="width:10%" style="background: #D3D3D3;"  | '''Topic'''
|-
| A
| [http://docs.ros.org/api/sensor_msgs/html/msg/LaserScan.html LaserScan]
| lineDetector
| HoughLines
|-
| B
| [http://docs.ros.org/api/std_msgs/html/msg/Int32MultiArray.html Int32MultiArray]
|
|
|-
| C
| [http://docs.ros.org/api/std_msgs/html/msg/Int32MultiArray.html Int32MultiArray]
|
|
|-
| D
| 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
| n.a. yet
| n.a. yet
| n.a. yet 
|-
| F
| Custom message (3x [http://docs.ros.org/api/std_msgs/html/msg/Float32.html Float32])
|
|
|-
| G
| Custom message (2x [http://docs.ros.org/api/std_msgs/html/msg/Float32.html Float32])
|
|
|}


<table border="1" cellpadding="5" cellspacing="0" style="width:100%;border-collapse:collapse;">
<table border="1" cellpadding="5" cellspacing="0" style="width:100%;border-collapse:collapse;">

Revision as of 13:33, 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 Node Topic
A LaserScan lineDetector HoughLines
B Int32MultiArray
C Int32MultiArray
D Custom message (3x booleans, 1x Float32)
E n.a. yet n.a. yet n.a. yet
F Custom message (3x Float32)
G Custom message (2x Float32)


Line: Data type: Ros stack/msg: Ros topic:
A -
B float-32 multi array (cart. points)
C float-32 multi array (cart. points)
D 3x boolean + 1 float32
E -
F 3x float32
G float-32 float-32

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