CHAI3DCHAI3D

normal About setProxyGlobalPosition function

More
26 May 2016 09:49 #1

Hello,

We are trying to translate a tool's Haptic Interaction Point (HIP) from its default position, using the setProxyGlobalPosition function:

secondaryTool->m_hapticPoint->m_algorithmFingerProxy->setProxyGlobalPosition(secondaryTool->getDeviceGlobalPos() + cVector3d(0, 0, 0.02));

But it's not working ok, because the haptic device behaves now like it has 2 HIPs - the original and the translated one (I am using this function inside the haptic rendering loop).

Is there another way to translate the HIP ?

Thank you.

Please Log in or Create an account to join the conversation.

More
27 May 2016 21:33 #2

Are you trying to modify the position of the proxy in order to model a haptic effect? Or are you trying to shift the proxy in order to access a different part of the workspace? Thanks for clarifying.

Please Log in or Create an account to join the conversation.

More
30 May 2016 10:20 #3

Hi Francois, sorry for not replying earlier.

Right now, we are trying to move the HIP a little bit towards the user (chai3d's positive x axis) because we are using two devices (Phantom Omnis) and the tips of the grips are colliding with each other when the user is working with both of them in a small area.

In the future, we would like also to add more haptic points (if it's possible) to each tool to simulate and get force feedback from a "haptic volume" and not just a haptic point as it is now.

I hope I managed to clarify my questions. If not, I could make a picture diplaying the problem.

Thank you for your time.

Please Log in or Create an account to join the conversation.

More
01 Jun 2016 08:39 #4

A simple way would be to slightly shift the tools within the world:

tool0->setLocalPos(0.0,-0.1, 0.0);
tool1->setLocalPos(0.0, 0.1, 0.0);
Since each tool is connected to a haptic device, you can easily offset them by adjusting the position of the tool in the world.
Does this accomplish what you are trying to achieve?

Please Log in or Create an account to join the conversation.

More
05 Jun 2016 12:57 #5

I tried the setLocalPos() solution, but this moves the whole tool and its HIP at the same time. So it's essentially the same thing as before.
We would like to move only the HIP/proxy of the device/tool, so it will change the tool's point where the user feels the interaction with other objects in the scene.

Please Log in or Create an account to join the conversation.

More
07 Jun 2016 23:16 #6

I am not sure if I quite understand what you are trying to accomplish
Do the following points summarizes the problem?

  • your haptic device is grounded to your desk
  • you have positioned the virtual tool inside the virtual world
  • the HIP is controlled by moving the handle of your haptic device
  • the accessible workspace of the HIP is limited due to the physical workspace of the haptic device
  • you would like to shift the HIP to access a different area of the workspace.
If this is the case, how would you like to shift HIP? Should the HIP be shifted without moving the haptic devices? Would you like to shift the workspace in a similar fashion as "lifting" a computer mouse?

Please Log in or Create an account to join the conversation.