Tag Archives: tech

IEEE Haptics – General impressions, Vendor demo highlights

Alright, well, with the combination of data corruption, poor battery life, poor usability (seriously, I have to transfer each photo off of my camera one at a time?), and an intense single-track conference, the well-intentioned “liveblogging” idea didn’t really come to pass. Nevertheless, I’ll share my general notes and vendor demo impressions photos with you here – summaries of the papers and demos will follow in the next post.

General impressions

  • Medical and dental applications of haptics seem to far outnumber immersive engineering applications. I don’t believe I saw a single CAD model during the whole conference. My intuitive hunch is that this is because spare parts for practice or testing are more feasible than spare people.
  • It seems I would be well-served to read a textbook or take a course in control theory: turns out that not only is most of the technical side of haptics based on it, I’ve been tiptoe-ing around it in my own work for a while.  Anyone have good suggestions on introductory texts (preferably written with a computer science perspective), now that I’ve finished Wikipedia’s content on the subject?
  • HAPI and H3D (open-source) from SenseGraphics seem to be the closest thing to a universal haptics software API out there at the moment, so I’ll definitely be looking in to it.
  • There’s a lot of neat techniques that caught my eye – it will be difficult trying to narrow my own research scope enough to have a doable Ph.D.

From the vendors…

  • SenseGraphics was showing off a haptic application written with their open source haptics scenegraph H3D: the demo was written in python, and is running here on an LCD-based stereo coincident workspace display.
    LCD-based stereo haptic coincident workspace from SenseGraphics

    A bit of an improvement over the CRT-based ReachIn systems, though apparently the conference exhibit room was not amenable to the nVidia glasses behaving nicely.

    SenseGraphics demo, from a user's perspective

  • Another exhibit from SenseGraphics – some kind of training app I didn’t get to try out.

    SenseGraphics H3D app - note the icons from the Tango Project

    SenseGraphics H3D app - note the icons from the Tango Project

  • Sensable brought its display: one of many dental applications, an improved version of the Phantom Desktop, and a demo using a Phantom Omni and 1.5 for teleoperation showing different control algorithms.
    Sensable's Haptic bite articulation demo

    One of the many dental (and medical) applications on display - Sensable

    New Phantoms - variant of Phantom Desktop with versatile mounting

    Sensable's "next big thing" - Phantom Desktops with screw holes for versatile mounting and an external control unit

  • Moog Inc. (not to be confused with synthesizer company Moog Music) showed off their extremely-stiff HapticMaster haptic device. They said that their force control style is is the difference from the Sensable devices that lets them simulate such stiffness. It was pretty good feeling, though the demo system’s lack of manipulator rotation dimmed the glow.The wonderfully-stiff Moog HapticMaster device
  • I tried out the ButterflyHaptics device. While it might be useful for precision medical simulations, its extremely limited working volume and rotational freedom (almost none – and it gets rather upset if you exceed it) seems to make it less applicable for haptic assembly applications.

    ButterflyHaptics maglev device

    ButterflyHaptics maglev device - sensitive, light, but restricted: promising with some polish

Git version control, Xcode, and Linux

Git and I

Within the last year, I’ve started to use Git (a distributed version control system) to manage changes to my personal and academic projects.  If you’ve used SVN or CVS before, the basic concept of storing multiple versions and committing changes is similar, but it’s otherwise a bit different: with Git, branching and merging is cheap (time-wise) and very easy, so you’re encouraged to branch and merge often.  This fosters a healthy “keep the master (trunk) branch stable” habit while you continue development of features, each in their own branch.  Additionally, Git has a concept of “staging” your changes – it doesn’t commit all of your modifications by default, so you can make sure that each commit is “atomic” – that it accomplishes only one thing.  Even when doing weekly class assignments now, I use Git as a way to track my progress, incentivize rapid progress (committing changes gives a rush of energy), and store working versions without making many messy copies of my source directory.  Read on for what I’ve learned and how to get started! Continue reading