Buglist
June 30, 2009
- Switching multiview with a single Kenaf works fine, but with multiple robots only one image per robot is given. Maybe we should switch to the full camera-control mode.
June 10, 2009
- Run the competition code with the imageserver on 1024x768 resolution. After a while CameraData got a Memory problem (width and height were represented in hexadecimal numbers). Scaling back to 860x640 solved the issue. Maybe a good idea to check the different Disposes.
- Also the Form.Locked bug appeared.
- Added this piece of code:
If Me._Bitmap.PixelFormat = PixelFormat.Format24bppRgb Then
Dim bits As BitmapData = Me._Bitmap.LockBits(New Rectangle(0, 0, Me._Bitmap.Width, Me._Bitmap.Height), ImageLockMode.ReadOnly, Me._Bitmap.PixelFormat)
'From example http://www.bobpowell.net/mapfill.aspx
Dim offset As Integer = 0
Dim index As Integer = 0
For x As Integer = 0 To Me.Width - 1
For y As Integer = 0 To Me.Height - 1
offset = y * bits.Stride + (3 * x) '3 colors x 8 bits = 24bbp
_RawData(index) = Marshal.ReadByte(bits.Scan0, offset) 'red
_RawData(index + 1) = Marshal.ReadByte(bits.Scan0, offset + 1) 'green
_RawData(index + 2) = Marshal.ReadByte(bits.Scan0, offset + 2) 'blue
index += 3
Next 'y
Next 'x
Me._Bitmap.UnlockBits(bits)
ElseIf
Code works fine, but is extremely slow. Is _RawData actual used?
- RawData is used in WalkSquare, SkinDetector and ColorHistogram.
- Moved the conversion, works fine (rev. 1884).
- Found that ComputeArea was slowing down the Insertion of Patches on Manifold (rev. 1885).
Try to reproduce the All-Autonomous bug, but I couldn't.
May 11, 2009
- Try to reproduce the All-Autonomous bug, but I couldn't.
- Could not lift off when directly spawned (and CommStation active). Motors where not active after spawning Indirectly it worked fine.
- The AirRobot receives position updates from the CommStation, but the Commstation doesn't receive pose updates from the AirRobot.
- The AirRobot had no INS and GroundTruth in UsarBot.ini. Added INS, and activated INS processing when no LaserRange available. Should also add GPS handling (depending on SeedMode). Solved a mm-bug in the ProcessINS code (rev 1861).
- Remaining bug is that a ground-robot still receives fly commands. Are both panels in focus?
April 19, 2009
- In the honours-branch, get two exceptions without consequences:
A first chance exception of type 'System.ApplicationException' occurred in gdal_csharp.dll
A first chance exception of type 'System.FormatException' occurred in mscorlib.dll
- For two minutes, I received no images in my screen. After two minutes, they were back.
- Good news is that the honours-branch saves the maps. The bad news is that even with the Reset off, the first part of the map still looks very good (with Precision 100). The map was distorted, but mainly due to a collision in one of the small corridors.
April 17, 2009
- When using StartPose, also the RobotType and RobotNumber changes. Added SyncConfigWithGui. Creates side effect, old settings are loaded.Repaired it further, but couldn't load STARTPOSES from map.
- Give feedback about succesfull GETSTARTPOSES
- Serious bug: empty maps on save!
- Problems with wrong orientation of sonar in ConservativeTeleOp due tot GETGEO-bug.
- [RegularThread] UI Stopped Thread BaseStation
A first chance exception of type 'System.Threading.ThreadAbortException' occurred in System.Windows.Forms.dll
System.Threading.ThreadAbortException: Thread was being aborted.
at System.Windows.Forms.UnsafeNativeMethods.GetExitCodeThread(IntPtr hThread, UInt32& lpExitCode)
at System.Windows.Forms.Control.WaitForWaitHandle(WaitHandle waitHandle)
at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at System.Windows.Forms.Control.Invoke(Delegate method)
at UvARescue.Usar.Lib.ManifoldView.NotifyManifoldImageUpdated() in D:\svn\2009\competition\Usar\UsarLib\Views\ManifoldView.vb:line 78
at UvARescue.Agent.ManifoldImage.NotifyManifoldUpdated() in D:\svn\2009\competition\Agent\Map\Rendering\ManifoldImage.vb:line 550
at UvARescue.Agent.ManifoldImage.Manifold_AgentMoved(Agent agent, Pose2D pose) in D:\svn\2009\competition\Agent\Map\Rendering\ManifoldImage.vb:line 489
at UvARescue.Agent.Manifold.LocalizeAgent(Agent agent, Patch patch, Pose2D pose) in D:\svn\2009\competition\Agent\Map\Manifold.vb:line 224
at UvARescue.Slam.ManifoldSlam.ProcessLaserRangeData(Agent agent, LaserRangeData laser) in D:\svn\2009\competition\Slam\Slam\ManifoldSlam.vb:line 355
Added a Private Delegate Sub ManifoldImageUpdatedHandler()
Process still crashes, but Invoke is handled diffently
at System.Threading.WaitHandle.WaitOneNative(SafeWaitHandle waitHandle, UInt32 millisecondsTimeout, Boolean hasThreadAffinity, Boolean exitContext)
at System.Threading.WaitHandle.WaitOne(Int64 timeout, Boolean exitContext)
at System.Threading.WaitHandle.WaitOne(Int32 millisecondsTimeout, Boolean exitContext)
at System.Windows.Forms.Control.WaitForWaitHandle(WaitHandle waitHandle)
at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at System.Windows.Forms.Control.Invoke(Delegate method)
at UvARescue.Usar.Lib.ManifoldView.NotifyManifoldImageUpdated() in D:\svn\2009\competition\Usar\UsarLib\Views\ManifoldView.vb:line 81
- 'UsarCommander.vshost.exe' (Managed): Loaded 'C:\WINNT\assembly\GAC_MSIL\Accessibility\2.0.0.0__b03f5f7f11d50a3a\Accessibility.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
[RegularThread] Nameless Thread Started by Thread UI
A first chance exception of type 'System.OutOfMemoryException' occurred in MathNet.Neodym.dll
A first chance exception of type 'System.InvalidOperationException' occurred in System.Drawing.dll
MainForm.Designer.vb: Bitmap region already locked
Suggestions:
if you using the Graphics object after the GetHdc method, call ReleaseHdc.
When you run your code in the Visual Studio debugger, an InvalidOperationException is thrown if you access a UI element from any thread other than the one on which it was created. The debugger does this to warn you about a dangerous programming practice. UI elements are not thread-safe and should be accessed only on the thread that created them. For more information, see Multithreading in Visual Basic.
The MainForm doesn't load System.Drawing, nor the MapController. ManifoldView.vb loads System.Drawing.
Removed some dependencencies on MathNet.Neodym
- Got a new crash after 20 minutes:
FatalExecutionEngineError was detected
Message: The runtime has encountered a fatal error. The address of the error was at 0x7a095901, on thread 0xb8c. The error code is 0xc0000005. This error may be a bug in the CLR or in the unsafe or non-verifiable portions of user code. Common sources of this bug include user marshaling errors for COM-interop or PInvoke, which may corrupt the stack.
Managed debugging assistants (MDAs) are debugging aids that work in conjunction with the common language runtime (CLR) to provide information on runtime state. The assistants generate informational messages about runtime events that you cannot otherwise trap. You can use MDAs to isolate hard-to-find application bugs that occur when transitioning between managed and unmanaged code. You can enable or disable all MDAs by adding a key to the Windows registry or by setting an environment variable. You can enable specific MDAs by using application configuration settings. You can set additional configuration settings for some individual MDAs in the application's configuration file. Because these configuration files are parsed when the runtime is loaded, you must enable the MDA before the managed application starts. You cannot enable it for applications that have already started.
System.ExecutionEngineException was unhandled
Message: An unhandled exception of type 'System.ExecutionEngineException' occurred in Unknown Module.
Message: A first chance exception of type 'System.FormatException' occurred in mscorlib.dll
I suspect the System.DateTime.Now.Month.ToString("MMM"). With original string the automatic map saving works again.