Labbook SmartInside
Created 2011 Labbook.
28 December, 2010
- Checked the html5-code which makes use of the geolocation-API.
- Code works, location found as Geversstraat, Oegstgeest (as my HTC mostly thinks).
23 December, 2010
- Was able to connect to the AR.Drone with the Windows example. Didn't had gamepad, and program didn't respond to the keyboard. This was the screen:
.
- Looked in the code (and set some breakpoints). Only 4 types of GamePads are supported: GAMEPAD_LOGITECH_PRECISION,
GAMEPAD_RADIO_GP,
GAMEPAD_PLAYSTATION3,
JOYSTICK_CYBORG_X. When running no DxGamepad is found (as expected), but a DxKeyboard is added. Yet, the code didn't break on keys that should be known (TAB,space,ESC).
- Found the nice site DroneHacks, with a full .Net interface to the AR.Drone.
10 December, 2010
- InitializeCondition seems to be a WindowsVista feature. Included in _WIN32_WINNT=0x503 in the two projects, but still same error. When setting the advance option 'Show include files on', it is clear that Windows\V6.0A\include\windows.h is loaded. Inside Tools->Options->Projects->VC++-directories $(WindowsSdkDir)\include is used. Couldn't find this definition (not in registry), so replaced it explicitely to C:\Program Files\Microsoft SDKs\Windows\v5.0. Now I receive many errors, but this is due to what is described in the Installation.pdf (chose between USE_WINDOWS_CONDITION_VARIABLES (Vista) and USE_PTHREAD_FOR_WIN32 (XP). I had selected both. Now it works and the program reports that it can't find the drone.
9 December, 2010
- Followed the instructions in ARDrone_SDK_1_5_Version_20101004\Examples\Win32\VCProjects\Installation.pdf, which describes the setup for VC2008 Express. I use VC2005, so I edited Examples\Win32\VCProjects\ARDrone\ArDrone_properties.vsprops.
- Added via Tools->Options->Project and Solutions->VC++-directories the include-directory ARDroneLib\VLIB and Examples\Win32\sdk_demo\Sources and library-directory ARDroneLib\Soft\Lib.
- Uncommented USE_PTHREAD_FOR_WIN32 in VP_SDK\VP_OS\win32\vp_os_signal_dep.h
- Renamed the directory from ARDrone_SDK_1_5_Version_20101004 to Parrot (and updated the ArDrone_properties), and now the ArDroneAPI compiles. One error:
Cannot open include file: 'SDL/SDL.h' from \programs\parrot\ardronelib\vp_sdk\vp_stages\vp_stages_o_sdl.h.
- Downloaded SDL libary, added the directory to VC2005 VC++-directories, made a copy SDL\SDL.h inside the include-directory. ArDroneAPI compiles succesfully.
- Compiling Win32Client fails on d3dx9.h. Downloaded DirectX SDK. Version is quite new (June 2010). Because this SDK is huge, I also tried the redistribution. Yet, it seems that the redistributable doesn't contain the d3dx9 includes. The version should be quite stable, in August 2006 d3dx10 was introduced and in November 2008 d3dx11. Luckely, I had already a D:\Programs\Microsoft DirectX SDK. Added the include and library directories to VC2005 VC++-directories.Compiling succeeds, linking fails on dinput8.lib. This was solved by specifying the architecture x86 for the library-directory. Next failure was on pthreadVC2.lib. Also here I had already a download at D:\packages\phtreads-w32-2.8.0. Added those directories to VC++-directories and also Win32client works. Next time I will do a test with the AR.Drone.
- Running the Win32Client gives the error:
entry point InitializeConditionVariable could not be located in the dynamic link library KERNEL32.dll.
To be checked tomorrow.
4 December, 2010
- Bug in BufferedLayer is still there. Bug is due to a Reset of the TransformationOffset in the FreeSpaceLayer, because the first patch has a huge EstimatedOrigin. To be checked.
24 November, 2010
- Chad Jenkens gave the tip that there is now a ROS-driver for the AR.Drone. Brown university also released the code to track a AR Tag with this driver. To be checked.
22 November, 2010
- Read the AR.Drone development Guide (SDK 1.5). The AR.Drone has a USB-interface, which is disabled according to the manual. Some hackers used pin 4-6 to create a USB/TTL-serial converter and to login to a console shell with Hyper Terminal.
- According to the F.A.Q., the Android example is incomplete because the Android OS doesn't allow the use of ad-hoc connections.
17 November, 2010
- AR.Drone arrived. Downloaded ARDrone AP. Followed the instructions in Examples\Android\ardrone\INSTALL.
- Download rev. 4b from Android's Native Development Tool. Read the NDK docs\INSTALL.TXT, which describes that the command host-setup.sh is not longer needed.
- Building the ARDroneLib under cygwin fails. Should first read the development document for Windows development.
15 November, 2010
4 November, 2010
- Received the HTC Desire. Telephone has Android 2.2. Configured eduroam and Micosoft ActiveSync.
- Downloaded the AndroidSensor software from Bas Terwijn.
- Read the Readme, and installed Android SDK Tools, rev. 7 and Apache Ant (rev 1.8.1).
- To have the SDK manager working, I had to manually add a platforms and add-ons directory.
- Finally, I could build the software with the command ant debug -lib D:\Programs\android-sdk-windows\tools\lib\anttasks.jar -lib D:\Programs\android\tools\lib\sdklib.jar
- To get the build software on the HTC Desire, I had to install the Windows ADB drivers. Strange enough, the official package doesn't know the desire, the following line is missing:
; HTC Desire
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C87&MI_01
Luckily, this tutorial pointed to package contained the drivers for the HTC Desire.
15 October, 2010
- Ppm is rather a simple format: just a header of two bites indicating the type of data (black/white, gray, color), directly followed by the raw data. Should also look at assistance2186, where a whole new chain from LogDriver to Camera was made.
- Inspection showed that the ppm's from the NewBuilding have a header of 3 lines:
P6
1024 768
- Made code to inspect the header of the ppm, but now suddenly there is an error in rendering the FreeSpace.
- Added comments to the logfiles (there is a second powerfailure in the sonar0file!), but this doesn't solve this bug. Inspect the latest commits.
13 October, 2010
- Starting to analyze the recording made in the NewBuilding. The odometry and sonar data is combined. Strange enough, SynchronizeNomad in the experimental-branch doesn't contain the code to parse sonar data. Also couldn't find the code in other branches.
- Looked wrong, ParseSonar and ParseCameraLine could perfectly used. Only had to write the rigth synchronization loop.
- Removed from OdoSonar.txt the last half sentence and added a CommentChar '#' in front of the first line. Also put the comment at the first line of OmniCam.txt. Unfortunatelly, I couldn't unzip the image file.
- First run (Deadreckoning on INS) gave nice results, although in the long straight corridor the robot diverces to the right, and in the beginning there is a lot of clutter. With DeadReackoning with WSM (instead of IDC), the map is better!
- Discussed the localization algorithm with Bas. We decided on a multi-level approach: first learning the wireless signatures and signal strength, second augmenting this map with location information (metric and/or segmented), third estimating the access point location if enough metric points are given in step 2, fourth estimating new location based on triangulation from known access point locations.
- The logfile of the building is correctly parsed, only when I encounter the powerfailure in the upper-right corner the reading of the camfile seems get into an endless loop. Should restart the system, because system is too slow now. Committed rev. 2190.
29 September, 2010
15 September, 2010