Login
Username:

Password:

Remember me



Lost Password?

Register now!
Main Menu
H3D.org Feeds
H3D.org Forum Index
   OpenHaptics
     OpenHaptics and Haptic Drivers are not open ...
Register To Post

Threaded | Oldest First Previous Topic | Next Topic | Bottom
Poster Thread
lepalom
Posted on: 2009/5/6 15:54
Not too shy to talk
Joined: 2008/2/14
From:
Posts: 17
Re: OpenHaptics and Haptic Drivers are not open ...
Sorry for the long delay!!

I didn't notice this answer. If I'm not wrong, in the OpenHaptics sdk the source is included, at least some part.

We needed it to recompile for VisualStudio and I recompile it for g++-4.3.

The files included are:

.
|-- HDU
| |-- Makefile
| |-- hdu.cpp
| |-- hduAfx.cpp
| |-- hduAfx.h
| |-- hduDecompose.cpp
| |-- hduDecompose.h
| |-- hduDecompose.o
| |-- hduError.cpp
| |-- hduHapticDevice.cpp
| |-- hduLine.cpp
| |-- hduLineSegment.cpp
| |-- hduMatrix.cpp
| |-- hduPlane.cpp
| |-- hduQuaternion.cpp
| `-- hduRecord.cpp
|-- HLU
| |-- Makefile
| |-- hlu.cpp
| |-- hluAfx.cpp
| `-- hluAfx.h
|-- SnapConstraints
| |-- CompositeConstraint.cpp
| |-- ConstraintHolder.cpp
| |-- LineConstraint.cpp
| |-- Makefile
| |-- PlaneConstraint.cpp
| |-- PointConstraint.cpp
| |-- SnapConstraint.cpp
| |-- SnapConstraintsAPI.cpp
| |-- SnapConstraintsAfx.cpp
| `-- SnapConstraintsAfx.h
`-- include
|-- HD
| |-- hd.h
| |-- hdCompilerConfig.h
| |-- hdDefines.h
| |-- hdDevice.h
| |-- hdExport.h
| `-- hdScheduler.h
|-- HDU
| |-- hdu.h
| |-- hduBoundBox.h
| |-- hduError.h
| |-- hduGenericMatrix.h
| |-- hduHapticDevice.h
| |-- hduLine.h
| |-- hduLineSegment.h
| |-- hduMath.h
| |-- hduMatrix.h
| |-- hduPlane.h
| |-- hduQuaternion.h
| |-- hduRecord.h
| |-- hduVector.h
| `-- hduVector.inl
|-- HL
| |-- hl.h
| |-- hlCompilerConfig.h
| |-- hlDefines.h
| |-- hlExport.h
| `-- hlTypes.h
|-- HLU
| `-- hlu.h
`-- SnapConstraints
|-- CompositeConstraint.h
|-- ConstraintHolder.h
|-- ISnapConstraintsAPI.h
|-- LineConstraint.h
|-- PlaneConstraint.h
|-- PointConstraint.h
|-- SnapConstraint.h
`-- StickToConstraint.h

Hope this helps.

Regards,

Leo
MartinD
Posted on: 2008/8/18 15:06
Just can't stay away
Joined: 2007/9/13
From: Germany
Posts: 73
Re: OpenHaptics and Haptic Drivers are not open ...
Quote:

It's curios. I have studied the source of OpenHaptics (they provide it).


Could you elaborate on that? I suspect you did not mean Sensables' OpenHaptics?


----------------
Martin D.

lepalom
Posted on: 2008/7/17 1:02
Not too shy to talk
Joined: 2008/2/14
From:
Posts: 17
Re: OpenHaptics and Haptic Drivers are not open ...
Quote:

karlsvec wrote:
Hi,<br /><br />I've also gone through the painful realization that OpenHaptics is mostly required for SensAble devices, even in H3D.<br /><br />


Really I don't understand the Sensable position.

Quote:

There actually *is* an <a href="http://www.fi.muni.cz/~xslaby/phantom.html" target="_blank">open source driver</a> for PCI-based Phantom devices. So, if your Phantom Premium uses a PCI card, you may be in luck. Otherwise, you're stuck with OpenHaptics.<br /><br />I think this driver only does 3 degrees of freedom (only forces, no torques), so you'll have to decide how important torques are to your application. Also, the open source driver won't perform as well as the OpenHaptics one:<br /><br />


Sadly no. There are some models of Sensable with 6DOF that doesn't have the PCI option, only parallel. I would prefer to have the PCI option because at least you can improve the OSS driver, not like the Sensable. The OpenHaptics could be improved as H3D have done in some things. IMHO. maybe if we press a bit Sensable ...

Quote:

Quote:<div class="xoopsQuote"><blockquote><br />It is free driver for Sensable PHANToM device. Feel free to use it, but do not expect the best performance, since Sensable hasn't released a specification, and hence driver uses timer workaround.<br /></blockquote></div><br /><br />
Note that this driver has a companion userspace library, libphantom. To use it with H3D, all you'd need to do (theoretically) is subclass H3DHapticsDevice and use libphantom to talk to the haptics device.<br /><br />Hope this helps,<br /><br />Karl


It's curios. I have studied the source of OpenHaptics (they provide it). The binaries are linked to the libphantom but in their code there's no any call function outside, or at least I have seen. Maybe (and probably) the code is not complete. I'm worried about libphantom, not OpenHaptics. In the libphantom are the loop to control the haptic.

Any comment helps ... thanks
karlsvec
Posted on: 2008/7/16 21:27
Quite a regular
Joined: 2008/7/1
From:
Posts: 51
Re: OpenHaptics and Haptic Drivers are not open ...
Hi,

I've also gone through the painful realization that OpenHaptics is mostly required for SensAble devices, even in H3D.

There actually *is* an open source driver for PCI-based Phantom devices. So, if your Phantom Premium uses a PCI card, you may be in luck. Otherwise, you're stuck with OpenHaptics.

I think this driver only does 3 degrees of freedom (only forces, no torques), so you'll have to decide how important torques are to your application. Also, the open source driver won't perform as well as the OpenHaptics one:

Quote:

It is free driver for Sensable PHANToM device. Feel free to use it, but do not expect the best performance, since Sensable hasn't released a specification, and hence driver uses timer workaround.


Note that this driver has a companion userspace library, libphantom. To use it with H3D, all you'd need to do (theoretically) is subclass H3DHapticsDevice and use libphantom to talk to the haptics device.

Hope this helps,

Karl
Markus
Posted on: 2008/7/16 8:54
Webmaster
Joined: 2006/3/27
From: SenseGraphics
Posts: 2239
Re: OpenHaptics and Haptic Drivers are not open ...
Ok, then I think it is all clear up to now :).

Well. To answer your question, if you just install the unmodified H3DAPI 2.0 Beta or build from source then it is not possible to avoid OpenHaptics to communicate with devices from SensAble. You do not have to use the Renderer part of OpenHaptics since the other renderers can be used with devices from SensAble, but you do need to have OpenHaptics installed in order for H3DAPI to communicate with devices from SensAble, at least the HD-part of OpenHaptics is needed.

Theoretically there is nothing that stops you from making your own way of connection to haptics devices regardless of which manufacturer the hardware comes from. So if that is desired H3DAPI can be extended by you.
lepalom
Posted on: 2008/7/15 18:32
Not too shy to talk
Joined: 2008/2/14
From:
Posts: 17
Re: OpenHaptics and Haptic Drivers are not open ...
Quote:

No, now I was unclear or you misunderstand again.


probably both

Quote:

We have not concentrated our effort to provide a renderer for other kind of haptics. All renderers provide the same basic functions which is the fact that you can touch what you see on screen. The renderers features differs a bit at the moment though, OpenHapticsRenderer is the only one that has a "MagneticSurface" while the "DepthMapSurface" only works on our internal renderers.


when I was saying that you concentrated your effort on provide a rendered for other kind of haptic, I was referring that you grow the H3D code with renderers for other device that the Sensable, and not to provide a Open Sotware alternative to OpenHaptic.

Quote:

So the other renderers can be seen as alternatives to OpenHaptics internal haptics rendering. It is up to the user to decide which one to use, all renderers have pros and cons. The whole point is that if you program through H3D you can choose to use any of the renderers depending on what you have on your system.


So, my question is:
We have a Phantom Premium 1.56dof device and we want to use H3D suite (and I hope with linux ....) can we use H3D _without_ the OpenHaptics library, so using the _others_ renderers?



Markus
Posted on: 2008/7/15 16:26
Webmaster
Joined: 2006/3/27
From: SenseGraphics
Posts: 2239
Re: OpenHaptics and Haptic Drivers are not open ...
No, now I was unclear or you misunderstand again. We have not concentrated our effort to provide a renderer for other kind of haptics. All renderers provide the same basic functions which is the fact that you can touch what you see on screen. The renderers features differs a bit at the moment though, OpenHapticsRenderer is the only one that has a "MagneticSurface" while the "DepthMapSurface" only works on our internal renderers.

So the other renderers can be seen as alternatives to OpenHaptics internal haptics rendering. It is up to the user to decide which one to use, all renderers have pros and cons. The whole point is that if you program through H3D you can choose to use any of the renderers depending on what you have on your system.

You can also extend the renderers with new algorithms to do research and easily compare to the existing renderers. For most people this is never needed since the existing ones are sufficient, but in some cases.
lepalom
Posted on: 2008/7/15 10:29
Not too shy to talk
Joined: 2008/2/14
From:
Posts: 17
Re: OpenHaptics and Haptic Drivers are not open ...
So,

as I can see you have concentrated your afford to provide a renderer to other kind of haptics, in the way to use H3D, and not to make an alternative to the Sensable renderer, don't you?

Otherwise, thanks for your patience .

Regards,

Leo
Markus
Posted on: 2008/7/15 8:26
Webmaster
Joined: 2006/3/27
From: SenseGraphics
Posts: 2239
Re: OpenHaptics and Haptic Drivers are not open ...
I am saying that in the new version of H3DAPI you can compile H3DAPI without having OpenHaptics installed and still have support for haptics feedback from 3d-geometry (haptics surface rendering), but you will not have support for devices from SensAble, only from other manufacturers.

In previous versions of H3DAPI the only way of generating feedback from 3d-geometry was through OpenHaptics and as such at that time only devices from SensAble had fully supported haptics features.

I hope that clarifies what I mean. And yes, you are correct, H3DAPI now uses HAPI which has similar features as OpenHaptics and can give the user a choice of which type of algorithm to use for haptics force feedback from 3d-geomtry. These are called renderers. There are four to choose from, two of which we have implemented. The user can add their own if they want to.

I am saying that if you add (don't modify, better to add) some classes to H3D and if you know how to interface with devices from SensAble without the use of OpenHaptics then yes, you could get the same functionality that H3DAPI (and HAPI) can give to non-sensable-devices.

The whole idea of HAPI, which H3DAPI is built on, is to give the user a lot of choices. Choices regarding which devices to use, which haptics renderer to use and also allow for extendability.

On a side not, if you do compile H3DAPI without OpenHaptics you can still use H3DAPI on systems that does not have OpenHaptics installed as long as you do not use any features that require OpenHaptics, such as OpenHapticsRenderer and PhantomDevice.
lepalom
Posted on: 2008/7/14 22:21
Not too shy to talk
Joined: 2008/2/14
From:
Posts: 17
Re: OpenHaptics and Haptic Drivers are not open ...
Quote:

Ah sorry, you mean like that. No, if you want to run devices from SensAble with H3DAPI (without any modification to H3DAPI) you will have to have OpenHaptics installed. You will at least need the HDAPI part of OpenHaptics, and I do not think you can install only one part. If you want to avoid using OpenHaptics with devices from SensAble in some way you would have to write your own device interface and use that one instead of PhantomDevice.


I don't understand this. Could you explain a bit more? In a previous message you have said that in the new version of H3D, there's an alternative to OpenHaptics (OH). I have compile h3D without OH, but it complains about the device.
So, are you saying that if I modify the H3D source PhantomDevice, it could be possible to have a functional H3D for a Sensable hardware without OH? Because, the same functionality of OH have been developed in H3D, no?

Quote:

I do not know of any open source driver for devices from SensAble. You would have to check around, and if you use such an open source driver you never know if you might get problems with SensAble. It all depends on what it is used for.


I don't understand Sensable. In one hand is sponsoring H3D, free Software, etc but, on the other hand is making problems to their own devices. Really is a sad thing to have a very expensive device and couldn't be able to use it in Linux...
(1) 2 »
Threaded | Oldest First Previous Topic | Next Topic | Top

Register To Post
 



(C) 2012 SenseGraphics AB    ---    Powered by XOOPS