Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Flight Club

Revision as of 12:14, 15 October 2012 by Unnamed Poltroon (Talk)

Welcome to the Flight Club wiki page!

Here you will find information about participating in Flight Club, the EclipseCon Europe 2012 programming competition.


The challenge

The challenge is to control the camera mount so that the video image remains stable while the Aibot is moving. The Flight Club Aibot will transmit an image from its camera to a nearby beamer. Participants will have access to all sensor data and to an interface that controls the camera mount.

Example Project:

You need a 32bit Java sdk and Eclipse on Windows XP or higher. Unfortunately we have so far only experience with Windows 7. About Feedback with other operating systems, we would be very pleased.

This sample project in the first step needs no radio module and no Aibot. It loads a DLL and simulated sensor data. With this project, the first steps can prepared and tested at home.

Media:FlightClub1.zip

Functions

int
init(int tabletID, String dev)
opens the connection to Aibot
int
initSim()
works without an Aibot and send fake data
int deinit() close the connection to Aibot
int
getDCMRoll()
returns Roll Angle in 1/100 degrees (1800 = 18°)
int
getDCMNick()
returns Nick Angle in 1/100 degrees
int setCamRoll(int value) send new setpoint Roll to the camera mount. See Table 1.
int setCamNick(int value) send new setpoint Nick to the camera mount.


Table 1
camera mount angle
Setpoints
Nick
Roll
CamNick
CamRoll
0
10
-30
190
0
20
60
370
0
-10
40
-190
0
-20
90
-390
0
0
0
0


Roll 0°
Roll 10°
Roll 20°
Roll -10°
Roll -20°


The value to be set, is calculated from an offset and the value from the table. For Example setCamNick(3850+90);
Unfortunately, the offsets are different for each Aibot. All offsets will be announced shortly before the contest.


Example Datas

Here are some example data. In this example the camera wasn't in the center of the camera mount and the reference lines was in a distance about 30cm. This explains the influence of the DCMRoll value on the CamNick value.

These values ​​keep the camera mount in a stable position.


Table 2
Sensor Input
Camera
DCMNick
DCMRoll
CamNick
CamRoll
-421
794
-45
100
-398
1143
-80
170
-711
1541
-120
250
-558
-6
-40
-70
-550
-389
-70
-130
-584
-948
-110
250
-473
287
0
0
-37
284
50
0
842
288
180
30
997
322
-150
0
2078
168
390
20
-2910
391
-730
-20

Tasks

  1. The position of the Aibots is changed to a fixed position. The camera have to be re-stabilized within 3 seconds, by using all sensor data.
  2. While the position of the Aibots is changing, the camera should be stabilized at any time.
  3. Same Taks as 1, but without using the precalculated DCM Datas. For this Taks it could be enough, to use the Accelerometer.
  4. Same Taks as 2, but without using the precalculated DCM Datas. But at the latest now you need a kind of sensor fusion.


When we have time and content, we will put more on this page.

Questions? Email Anne.

Back to the top