Title: LamEGO
1LamE-GO
-
- a Lego RCX 2.0 Project
- with Network Remote Controlling
- Video Streaming and Image Processing
- Point-2-Go Navigation
2Project Team Members
- Finland
- Teppo Kurki (Team Leader)
- Antti Levo
- Sweden
- Daniel Holm
- Fredrik Höglin
- Björn Magnusson
- Joel Samuelsson
3Problem Statement Refinement
- Client Server Communications
- Provides means to send control messages between
server and client - Server Application
- Communicates with client and robot
- Controls video streaming, image processing and
navigation - Video Streaming
- RTP Transmitter at the server and receiver at the
client - An ability to take screenshots
- Navigation Point-2-Go -interface
- Image processing
- Detect obstacles from a still image and generate
a map - Find the robots location and orientation
- Actual navigation
- Receive target coordinates from the client
- Calculate a path and control the robot to reach
the target coordinates
4Problem Statement Refinement
- Client Application
- A single window. Shows all control buttons and
video stream - Server Robot Communications
- Allows the robot and the server to send messages
to each other over IR-link - Robot Software
- Controls the robots movement according to
received messages - Reacts to sensor inputs
- Two touch sensors to detect collisions front
and rear - Light sensor to prevent dropping off a table
5Milestone Meeting 1 (Teppo)
- First official IRC meeting on 25.1.
- Team members got to know each other
- Team leader was selected
- Persons responsible for Milestone meetings and
reports were selected
- An attempt to prepare the SVN for use was
unsuccessful - First rough draft of the high-level
- architecture was made
- First development decisions
- Java for client and server applications
- RCX 2.0 kit for the robot
- Lejos for the robot software
6Milestone Meeting 2 (Björn, Joel)
- Progress
- Design Document
- Working groups
7Milestone Meeting 2 - Design
- Client -gt Server communication
- Server Application
- Video Streaming
- Client GUI
- Server -gt Robot communication
- Robot
- Robot AI
- Excellence areas
8Milestone Meeting 3 (Antti, Teppo)
9Milestone Meeting 3 - ?
10Milestone Meeting 4 (Daniel, Fredrik)
- Setbacks
- Robot Communications
- Point-2-Go
- Video Streaming
- Achievements
- Redesign
- Integration
- Testing
11High-level System Design
12Division of labor
- Integration done in co-operation with the
applicable subteams
13Details on Design, Version Control, Documentation
and Packaging
- High-level design and communication interfaces
were agreed on among all members of the group - More detailed design done by each subteam
independently - Version control using SVN
- If there was a need to modify other subteams
code, the corresponding subteam was consulted
before committing changes - Elaborate documentation to each file using
JavaDoc the actual documentation is easy to
generate - No actual software packages were created only
three sets of files
Client
Robot
Server
14Client Application
15Client GUI
- Working as intended
- Biggest problem
- Desired functionality
16Robot - Server Communications Current Version
17Robot Server Communications - Previous Version
- No Concurrency - RCX locks up
- Threads - Many problems.
- No timeout on messages
- Other problems (compiling, testing)
18Robot AI
19Robot AI - Progress
- Success
- Problems
- Solutions
20Server Application
21Client Server Communications
- First ready part of the project!
- Communicating classes implemented as threads
- Simple design using java.net.Socket
- No notable problems in implementation
22Point-2-Go Navigation
- Our objective was to allow user to click on the
video at the client end, and then the server-side
software would simply control the robot to reach
the clicked point, while avoiding obstacles - Consists of two parts Image Processing and Path
Calculation - Path Calculation also includes the robot
controlling logic - Image Processing
- ImageProcessor gets as an input a still image
from the VideoHandler - Generates a map from the image with convolution
and thresholding - Finds the robot which is equipped with green and
blue pieces in the front and back, respectively - Determines the robots direction
- Offers this information to be used by Path
Calculation - Image Processing parts are fully implemented and
functional, although results may be susceptible
to lighting of the environment - For reasonable results, the operating area should
be free of other green- or blue-coloured objects
23Point-2-Go Navigation
24Video Streaming Slide 1
25Video Streaming Slide 2
26The End
- Questions ?
- Comments ?
- -
- Feel free to provide both !