Tuesday, March 20, 2012

Collision Avoidance in Mining Conference

I gave a presentation on the Transmin Rocklogic rockbreaker collision avoidance system at the 3rd Collision Avoidance in Mining Conference held in Fremantle.

The speakers were:
  • Simon Ridge - Department of Mines and Petroleum: provided an overview of regulation and risk management in WA.
  • Stewart Bell - Department of Employment, Economic Development and Innovation: provided an overview of collision incidents in Queensland, and made an announcement indicating Queensland may make collision avoidance technology mandatory.
  • David Quayle - Industrea: discussed systems integration issues in mining, and contrasted it with aerospace and the automotive industry.
  • Patrick Glynn - CSIRO: provided an overview of the development of collision avoidance technology in mining, and discussed CSIRO's old LHD automation project.
  • Luke Schelosky - SafeMine: discussed SafeMine's proximity / collision detection products.
  • Marcus Punch: discussed functional safety standards (e.g. SIL), the standards that the industry is moving towards, and the "Proven-In-Use" clause for the latest 61508.2 standard.
  • Matthew Watson - Rio Tinto Iron Ore: discussed issues in rolling out technology and how it affects operators ('users'), managers, and maintenance personal.
  • Rhys Sherborne - APS: gave an overview of Automated Positioning System machine guidance products.
  • Harland Attwood - Javpac: introduced a new physical barrier product designed to separate heavy vehicle traffic.
  • Peter Woodford - LSM: discussed cameras and operator visibility.
  • Elliot Duff - CSIRO: gave an overview of projects at the Autonomous Systems Laboratory.
  • Nicky Guenther - SICK: presented a new range of SICK products for proximity detection and provided a comparison with RADAR products.
  • Adrian Boeing - Transmin: Rocklogic collision avoidance system, and installation case study.
  • Robin Burgess-Limerick - UQ: Operator cognitive load.
  • Natalie Tindale - MB solutions: Operator fatigue.
For me the highlight was CSIRO's Autonomous Systems Labs robotics and SLAM work, particularly on the North Parkes mine site. Since they don't have a YouTube video of their work on the ASL channel, here is something similar:

Wednesday, February 22, 2012

Blender 2.49 and intersecting objects

Blender is a great tool for the price (free), but it is certainly very difficult to use, especially in an engineering context. So here are a few scripts and techniques to make life a little easier.

First, boolean operations are useful in a number of situations, such as welding or splitting faces based on intersecting objects. An example:
  • Create two planes (create plane, create another plane and rotate/translate it so they intersect (g-grab to translate, r-to rotate))
  • Select both objects (note: if you want to split a single mesh, switch to edit mode, select one set of the faces you want to intersect, and split the mesh ('p' to separate), then later you can re-join objects into a single mesh with 'ctrl j')
  • Select the boolean operations (press w) and choose 'intersect' this will create a third object.
You may want this intersection point in the original two planes. If so, select the intersection and duplicate it (shift-d) chose the intersection, and join it to one of the planes, then choose the duplicate intersection and join it to the other plane. If you want one object with both these planes as one mesh, then just join (ctrl j) all objects. Edit the mesh, and create new faces (use f) by selecting the appropriate vertices.

And thats it. (Note: I triangulated my mesh.)

Now for some scripts:

Thursday, January 12, 2012

Kinect viewer with HTML5 canvas

I wanted to create a web-based Kinect viewer that would work on multiple platforms, including Android mobile phones and iPhones. To this end, I created a HTML5 canvas particle viewer for Kinect data using my very limited javascript knowledge and a lot of Mr. doob's knowledge.
Kinect HTML5 particle image

Take a look at the HTML5 Kinect particle image viewer.

Using libfreenect I captured the depth and color data, used Imagemagik and an Automator script to process and stich the images, and threejs to render.

You can extract data from an image by rendering it to a hidden canvas element, and then reading the canvas image data. To avoid errors, the image data should only be read after the full image has been loaded, as per the callback function in loadTexture.

function getImageData( image ) {
var canvas = document.createElement( 'canvas' );
canvas.width = image.width;
canvas.height = image.height;
var context = canvas.getContext( '2d' );
context.drawImage( image, 0, 0 );
return context.getImageData( 0, 0, image.width, image.height );
}

function getPixel( imagedata, x, y ) {
var position = ( x + imagedata.width * y ) * 4, data = imagedata.data;
return { r: data[ position ], g: data[ position + 1 ], b: data[ position + 2 ], a: data[ position + 3 ] };
}

var texture, imagedata;
texture = THREE.ImageUtils.loadTexture( "textures/sprites/spark1.png", new THREE.UVMapping(), function ( event ) {
imagedata = getImageData( texture.image );
} );


To run the system locally, avoiding some of Chromes very annoying security settings, you can just use python to run a simple webserver:

python -m SimpleHTTPServer


I recorded a short data sequence and rendered to sprites to create this final 3d home move with the Kinect (too slow for my phone to render). I believe this is the first web-based kinect video ever made, youtube3d anyone?



Animated 3D kinect data with HTML sprites

Next time, I might try WebGL...

Wednesday, January 11, 2012

2011 Wrapup

Looking back, 2011 was certainly a quieter year than 2010. Personal life got busy in the later half of the year, so less was posted. My job also took a less technical turn as I moved away from software development.
By far my most popular posts concerned my analysis of some popular demo scene effects and WebGL:
Otherwise, a survey / summary post on exe compression for multiple platforms was well read, and my Civ 5 casual game mod proved popular too.

I will try to post a bit more about work and the mining industry, not because these are popular posts, but because there is so little information about this field on the web. I hope to post more about robotics and graphics (raytracing), and will try to open source and post about some of my past work.

Monday, December 12, 2011

GPU and Graphics catchup post

It has been a long while since I've done a graphics related post, so here is a bit of a backlog from the last few months of graphics and GPU links:
Finally, I'll leave you with a fantastic 64kb demo by Fairlight and Alcatraz that placed 2nd at Assembly 2011.

Tuesday, November 29, 2011

Remotely Operated Mining

I gave a presentation on the Transmin Rocklogic rock breaker automation system at the Remotely Operated Mining Projects conference. All in all it was a fairly decent conference focused around the theme of remote operations for mining, focusing predominantly on integrated planning, remote operation technology, and the design and construction of remote operation centers.

Talks were given by:
  • Greg Lilleyman, Rio Tinto - an overview of remote operations
  • Matthew Michalewicz, SolveIT - integrated planning for mature organizations, interesting overview of some of the wine industry supply chain issues
  • Patrick Warrand, Wesfarmers Premier Coal - a open overview of issues for 'small' mining operations (Note: Small is of course a relative term compared to the massive operations of BHP and Rio)
  • Jeremy Newman, Schneider Electric - a suppliers point of view to automation
  • Jock Cunningham, CSIRO - an overview of CSIRO activity in mining, and their SLAM technology. (WAMBOT was multi-agent SLAM, CSIRO does automotive SLAM and a novel handheld indoor SLAM 'Zebedee')
  • Brendon, Leica Geosystems - an overview of Autonomous Solutions Inc (they do lots of autonomous systems for military and agriculture), and Locata - a GPS alternative
  • David Beck, Beck Engineering - a case study of Simulation Aided Engineering
  • Adrian Boeing, Transmin - remotely operated rockbreaking
  • David Cavanagh, Integrated Energy - an overview of remote operation center designs for oil and gas, and mining
  • Lucas van Latum, Modular Mining - Goal orientated planning and the Observe-Orientate-Decide-Act loop
  • Reuben Kooperman and Peter Hunt - architecture for Remote Operation Centers (or Integrated Planning Centers) - including two buildings I go past on a regular basis and never fully realised what goes on inside - the City of Stirling building, and the ECU Joondalup library.
  • Mike Lomman, OpX Solutions - planning considering bottlenecks
  • Andrew Jessett, MineWare - realtime dragline and shovel monitoring and support/maintenance orientated ROC's.
  • David Hattrick, Oracle Corporation - Oracles approach to managing mining data and information
  • Richard Taylor, Concept AV - Video walls
I put the Rocklogic animation up on youtube, it's pretty neat. Gives a short overview of the systems features - Remote operation, collision avoidance, automated movements (auto-park, auto-deploy), etc.

Wednesday, November 23, 2011

PDF tools

PDF files are the standard document distribution format. PDF has long left other file formats in the dust. However, there are always a number of operations that people like to make to PDF's ranging from just creating them, to splitting or merging to applying a watermark or foreground stamp.

There are a number of great free tools to do all this work.

  • PDF Creator lets you create PDF files in Windows. Another popular alternative is CutePDF. For Apple Mac, under OSX you can simply print straight to PDF.

  • Splitting/bursting and merging/combining PDFs I feel is best done with a dedicated tool, PDFSAM - Split and Merge. Under OSX, you can actually use the sidebar of preview to move pages around, and drag in PDFs to merge, or pages to remove. If you have a lot of pages to do PDFSAM is a wiser choice, otherwise for smaller tasks Preview is fine.

  • Compression of PDFs under OSX is also straight forward, you just need to open the PDF in preview, and then under Quartz filter choose "Reduce File Size". Under windows, you can use PDFTK, more on this later.

  • Annotation of PDFs, again with OSX, preview gives you a small set of annotation tools. Under windows, you can use PDFTK. (Low cost / free for some-things aternatives are PDF-Xchange viewer and Foxit Reader)

  • Watermarking and Stamps are best done with PDFTK.

  • Encryption can be done with PDFTK, and under OSX, preview has an encrypt option.



  • Of course for those with cash, Adobe's tools are the best choice, but pdftk is a fantastic free alternative, if you don't mind a bit of command line typing.

    An example of putting a foreground stamp onto every PDF with pdftk:
    • Generate a PDF where you would like to apply the stamp to (i.e. the source)
    • Create a stamp PDF. This should have the stamp you wish to apply (e.g. "DRAFT") and be a transparent PDF. Microsoft Word will generate transparent PDFs by default, so you can create your stamp in Word.
    • Apply the stamp to the source PDF using pdftk, for example:
      pdftk in.pdf stamp stamp.pdf output out.pdf
      

    Enjoy!