Project 1' PHANToM Premium with GHOST SDK - PowerPoint PPT Presentation

1 / 9
About This Presentation
Title:

Project 1' PHANToM Premium with GHOST SDK

Description:

requires PHANToM Device Driver 4.08 version. The characteristics. Object ... int pid = gstInitializePhantom('Default PHANToM'); gstIsPhantomResetNeeded(pid) ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 10
Provided by: poste5
Category:

less

Transcript and Presenter's Notes

Title: Project 1' PHANToM Premium with GHOST SDK


1
Project 1. PHANToM Premium with GHOST SDK
  • Jaeyoung Cheon
  • VRPM Lab, Dept. of CSE, POSTECH
  • 2006. 4. 3

2
Introduction
  • PHANToM
  • GHOST SDK
  • The characteristics of GHOST SDK
  • Real-Time issues
  • Prototypical Application
  • Simple Codes
  • The simple program

3
1. PHANToM
  • And..
  • Impedance Type
  • Pen-based Interaction
  • Serial Linkage

4
2. GHOST SDK
  • GHOST (General Haptic Open Software Toolkit)
  • is commercial product.
  • works with MSVC 6.0 only because of STL problem.
  • requires PHANToM Device Driver 4.08 version.
  • The characteristics
  • Object-oriented Toolkit
  • Scene graph based
  • Easy manipulation
  • Automatic force computation in the scene graph
  • Using SCP (Surface Contact Point) for force
    computation
  • Special support for VRML Version 2.0

5
2. GHOST SDK (ctd.)
  • Real-Time issues
  • Real time requirements
  • At a periodic rate of 1kHz, the servo loop
    function has, at most, 1 millisecond to finish
    operations before the next servo loop begins.
  • The GHOST SDK imposes a limit on the amount of
    processor time that may be used by a single
    iteration of the servo loop.
  • Information sharing
  • Multiple, successive calls to access the state of
    a scene node are not guaranteed to occur within
    the same iteration of the simulation loop.
  • It can be resolved by using graphic callback.
  • Callback mechanisms should be used to get
    information concerning the haptic scene.

6
2. GHOST SDK (ctd.)
  • Prototypical Application
  • Create a haptic environment through the
    specification of a haptic scene graph
  • Start the haptic simulation process (the servo
    control loop)
  • Perform application-specific (core) functions
  • Communicate with the haptic simulation process as
    needed
  • Perform clean-up operations when the application
    ends

7
2. GHOST SDK (ctd.)
Scene
  • Simple Code
  • main()
  • gstScene scene new gstScene
  • gstSeparator root new gstSeparator
  • gstSphere sphere new gstSphere
  • sphere-gtsetRadius(20)
  • gstPHANToM phantom new gstPHANToM("PHANTOM
    name")
  • root-gtaddChild(phantom)
  • root-gtaddChild(sphere)
  • scene-gtsetRoot(root)
  • scene-gtstartServoLoop()
  • ghostGLUTManager glutManager
    ghostGLUTManagerCreateInstance(argc, argv,
    "Hello GhostGL")
  • glutManager-gtloadScene(myScene)
  • glutKeyboardFunc(keypress)
  • glutManager-gtstartMainloop()

root
sphere
PHANToM
8
2. GHOST SDK (ctd.)
  • Simple Code (Low Level APIs)
  • main()
  • int pid gstInitializePhantom("Default
    PHANToM")
  • gstIsPhantomResetNeeded(pid)
  • gstResetPhantomEncoders(pid)
  • gstEnablePhantomForces(pid)
  • gstInitServoScheduler()
  • gstStartServoScheduling(servoLoopCallBackFunction
    , NULL)
  • // application loop here (ex. graphic loop)
  • GST_SCHEDULER_CALLBACK servoloopCallBAckFunction
    (void pUserData)
  • gstUpdatePhantom(pid)
  • gstGetPhantomPosition(pid, pPos)
  • calcForce_sphere()
  • gstSetPhantomForce(pid, pForce)

9
3. The simple program
  • Collision Detection
  • Distance lt Radius
  • Force Rendering
  • Force Stiffness (HIP-Center)
Write a Comment
User Comments (0)
About PowerShow.com