Embedded Motion Control 2013 Group 5: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
No edit summary
Line 84: Line 84:
[[File:maze_lines.png|right|thumb|400px|Figure 2: Line detection]]
[[File:maze_lines.png|right|thumb|400px|Figure 2: Line detection]]
[[File:LinedetectionOpencv.png|right|thumb|400px|Figure 3: Line detection OpenCV]]
[[File:LinedetectionOpencv.png|right|thumb|400px|Figure 3: Line detection OpenCV]]
[[File:Example.jpg]]
[[File:rosgraph_corridor_strucure.png|right|thumb|400px|Figure 4: Structure ROS Corridor]]


=== Week 1 ===
=== Week 1 ===

Revision as of 16:23, 1 October 2013

Group members

Name: Student ID:
Arjen Hamers 0792836
Erwin Hoogers 0714950
Ties Janssen 0607344
Tim Verdonschot 0715838
Rob Zwitserlood 0654389


Tutor:
Sjoerd van den Dries

Planning

DATE TIME PLACE WHAT
September, 16th 15:30 GEM-N 1.15 Meeting
September, 23th 10:00 [unknown] Test on Pico
September, 25th 10:45 GEM-Z 3A08 Corridor competition
October, 23th 10:45 GEM-Z 3A08 Final competition

To do list

DATE WHO WHAT
asap Tim, Erwin Exit detection
asap Rob, Ties, Arjen Move through the corridor

Logbook

Figure 1: Laser data
Figure 2: Line detection
Figure 3: Line detection OpenCV
Figure 4: Structure ROS Corridor

Week 1

  • Installed the following software:
    • Ubuntu
    • ROS
    • SVN
    • Eclipse
    • Gazebo


Week 2

  • Did tutorials for ROS and the Jazz simulator.
  • Get familiar to 'safe_drive.cpp' and use this as base for our program.


Week 3

  • Played with the Pico in the Jazz simulator by adding code to safe_drive.cpp.
  • Translated the laser data to a 2d plot (see Figure 1).
  • Used the Hough transform to detect lines in the laser data. For the best result, the following steps are used:
    • Made an image of the laser data points.
    • Converted the RGB-image to grayscale.
    • Used a binary morphological operator to connect data points which are close to each other. This makes it easier to detect lines.
    • Detected lines using the Hough transform.
  • To implement this algorithm in C++ code OpenCV will be used.
  • The algorithm is implemented in the safe_drive.cpp.
  • The line detection method mentioned above works fine and is tested in the simulation (see figure 3,the green lines are the detected lines).


Some interesting reading

  • A. Alempijevic. High-speed feature extraction in sensor coordinates for laser rangefinders. In Proceedings of the 2004 Australasian Conference on Robotics and Automation, 2004.
  • J. Diaz, A. Stoytchev, and R. Arkin. Exploring unknown structured environments. In Proc. of the Fourteenth International Florida Artificial Intelligence Research Society Conference (FLAIRS-2001), Florida, 2001.
  • B. Giesler, R. Graf, R. Dillmann and C. F. R. Weiman (1998). Fast mapping using the log-Hough transformation. Intelligent Robots and Systems, 1998.
  • Laser Based Corridor Detection for Reactive Navigation, Johan Larsson, Mathias Broxvall, Alessandro Saffiotti http://aass.oru.se/~mbl/publications/ir08.pdf