Giter Site home page Giter Site logo

Comments (15)

MarviB16 avatar MarviB16 commented on September 22, 2024

The (maybe interesting) Error message is:
Could not open virtual device...
Could not initialize haptics.

from dimple.

radarsat1 avatar radarsat1 commented on September 22, 2024

Hi, first, which version are you testing? Did you build from master, are you trying the pre-built nightlies? (I would like to completely test it before "release" so your feedback is greatly appreciated.)

Now, it seems you have 2 problems, accessing the haptic device, and communication with PureData. For now I will assume you are using the binaries on http://radarsat1.github.io/dimple . These are what I have been working on the hardest lately so they are worth trying if you have not yet. Note that they are still experimental.

  1. In principle if the chai3d examples work with your haptic device then so should Dimple. You are using a Phantom Omni which I haven't tested the latest build on and unfortunately don't have access to. Please try the latest Chai3d release and test its examples. If they work but Dimple does not, there may be some DLLs in the chai3d bin directory that need to be copied to the same directory as dimple.exe.

  2. It's hard to tell directly what the issue is but some things to check are that both Dimple and Pure Data are not blocked by the firewall, and that Pure Data is correctly listening for messages. Liblo comes with a couple of tools that can help with this (oscsend and oscdump) but they are not required. You can also test that you can successfully send messages between Pure Data running on two different machines.

from dimple.

radarsat1 avatar radarsat1 commented on September 22, 2024

Ah, I forgot that the releases are currently in 'draft' mode meaning they are only visible to project members. I will add you so that you get access.

from dimple.

radarsat1 avatar radarsat1 commented on September 22, 2024

Hm, I apologize I cannot see how to give you access to the draft releases without giving push access to the repository. What I'll do then is mark a pre-release and make it public.

from dimple.

MarviB16 avatar MarviB16 commented on September 22, 2024

Hello, thanks for your help.
We are using the latest version from here: http://idmil.org/software/dimple .
I will try what you suggested for the first problem and then I will give feedback.
For the second problem I can try the newer (pre-release) version, but do in need any prerequisites installed? I only installed PD-Extended and downloaded DIMPLE.
I got it working that way on my laptop, though that has no firewire port, so I can't connect the Omni.

from dimple.

radarsat1 avatar radarsat1 commented on September 22, 2024

Okay so the bad news is you were using an old version that is known not to work, but the good news is that I have been actively working on rectifying that before HAID 2019, which came along very well a couple of months ago, and I think you should have better luck with the new version.. as I said, still didn't mark it as "released" because it doesn't include everything I want it to, but in that case you get to be a beta tester ;)

I have now marked a pre-release 0.1.0rc, please find it in the releases.
Please file any problems you have getting it installed and running.

If it doesn't work with the device right away, try to make sure at least examples from chai3d version 3.2 are working. Check if there is any DLL that is needed to be present alongside dimple.exe. I see for example that there is a file in chai3d's "bin" folder called hdPhantom64.dll that may not be included with Dimple, so you may need to drag it over and place it in the dimple directory in Program Files.

It would be great if you could verify this so I can fix things with respect to the Phantom Omni before doing a release.

from dimple.

MarviB16 avatar MarviB16 commented on September 22, 2024

Okay, so a small update:

  1. With the RC we got it working on Windows (the PureData -> Dimple Connection).
  2. The Phantom doesn't work with the chai3D software, so i need to investigate further this week.
  3. The Example in test/test.pd doesn't work anymore. I get a lot of couldn't create errors when i open up the script. Not sure if it is buggy or i need to install something else, but the old version from 0.0.9 does work fine. So i will use that one for now.

from dimple.

radarsat1 avatar radarsat1 commented on September 22, 2024

Thanks for testing!

  1. Great!
  2. Okay not sure, it should work with Open Haptics 3, I believe. You may need to make sure it loads that hdPhantom64.dll as well. Sorry, wish I could test on my end.
  3. The old version may not work as some of the messages have changed. What errors do you get, and with what version of Pure Data? The main thing apart from the actual messages that have been updated is that the patch now use's PureData's built-in OSC objects, so you would need a recent version of Pure Data. You can try the Max/MSP patches if you have that.

from dimple.

MarviB16 avatar MarviB16 commented on September 22, 2024
  1. Okay, I think I see the main problem here:
    We don't have OpenHaptics 3, we googled it earlier and as we see it it is not free. I now have asked for a demo and when I hear back from them with positive feedback it should work. I guess.

  2. When I am back at the lab I will post the specific error messages here.

from dimple.

MarviB16 avatar MarviB16 commented on September 22, 2024

Okay, so here is the error:

pdp: can't load library
oscformat /world/clear
... couldn't create
** ignoring width or font settings from future Pd version **
oscformat /world/leftside/texture/image
... couldn't create
oscformat /world/rightside/texture/image
... couldn't create
oscformat /world/backside/texture/image
... couldn't create
oscformat /world/frontside/texture/image
... couldn't create
oscformat /world/bottom/texture/image
... couldn't create
oscformat /world/fixed/create
... couldn't create
oscformat /world/bottom/size
... couldn't create
oscformat /world/leftside/size
... couldn't create
oscformat /world/rightside/size
... couldn't create
oscformat /world/backside/size
... couldn't create
oscformat /world/frontside/size
... couldn't create
oscformat /world/prism/create
... couldn't create
oscformat /world/sphere/create
... couldn't create
oscformat
... couldn't create
oscformat
... couldn't create
oscformat /world/collide
... couldn't create
oscformat
... couldn't create
Bad arguments for message 'netreceive' to object 'objectmaker'
netreceive -u -b
... couldn't create
oscparse
... couldn't create
Bad arguments for message 'netsend' to object 'objectmaker'
netsend -u -b
... couldn't create
oscformat /haptics/enable
... couldn't create
oscformat /graphics/enable
... couldn't create
oscformat /world/s1/collide/get
... couldn't create
oscformat /world/s2/collide/get
... couldn't create
oscformat /world/s3/collide/get
... couldn't create
oscformat /world/sphere/create
... couldn't create
oscformat /world/s1/force
... couldn't create
oscformat /world/s2/force
... couldn't create
oscformat /world/s3/force
... couldn't create
oscformat /world/3s/destroy
... couldn't create
oscformat /world/3s/velocity/magnitude/get
... couldn't create
oscformat /world/3s/acceleration/magnitude/get
... couldn't create
oscformat /world/prism/create
... couldn't create
oscformat /world/stick/size
... couldn't create
oscformat /world/stick/mass
... couldn't create
oscformat /world/hinge/create
... couldn't create
oscformat /world/c1/response/spring
... couldn't create
oscformat /world/stick/force/magnitude/get
... couldn't create
oscformat /world/c1/torque/get
... couldn't create
oscformat /world/sphere_proxy/position
... couldn't create
oscformat /world/sphere/create
... couldn't create
oscformat /world/sphere_proxy/radius
... couldn't create
oscformat /world/sphere_proxy/grab
... couldn't create
oscformat /world/sphere_proxy/mass
... couldn't create
oscformat /world/prism/create
... couldn't create
oscformat /world/box_proxy/size
... couldn't create
oscformat /world/box_proxy/mass
... couldn't create
oscformat /world/box_proxy/color
... couldn't create
oscformat /world/box_proxy/destroy
... couldn't create
oscformat /world/box_proxy/grab
... couldn't create
oscformat /world/drop
... couldn't create
oscformat /world/grab/feedback
... couldn't create
oscformat /world/grab/stiffness
... couldn't create
oscformat /world/grab/stiffness
... couldn't create
oscformat /world/hinge/create
... couldn't create
oscformat
... couldn't create
oscformat /world/test/grab
... couldn't create
oscformat /world/test/velocity
... couldn't create
oscformat /world/mesh/create
... couldn't create
oscformat /world/test/size
... couldn't create
oscformat /world/test/position
... couldn't create
oscformat /world/test/mass
... couldn't create
oscformat /world/t1/texture/image
... couldn't create
oscformat /world/fixed/create
... couldn't create
oscformat /world/prism/create
... couldn't create
oscformat /world/fixed/create
... couldn't create
oscformat /world/prism/create
... couldn't create
oscformat /world/fixed/create
... couldn't create
oscformat /world/prism/create
... couldn't create
oscformat /world/t2/texture/image
... couldn't create
oscformat /world/t3/texture/image
... couldn't create
oscformat /world/t2/size
... couldn't create
oscformat /world/t1/size
... couldn't create
oscformat /world/t3/size
... couldn't create
oscformat /world/t1/texture/level
... couldn't create
oscformat /world/t2/texture/level
... couldn't create
oscformat /world/t3/texture/level
... couldn't create
oscformat /world/prism/create
... couldn't create
oscformat /world/fixed/create
... couldn't create
oscformat /world/bottom/size
... couldn't create
oscformat /world/leftside/size
... couldn't create
oscformat /world/rightside/size
... couldn't create
oscformat /world/backside/size
... couldn't create
oscformat /world/frontside/size
... couldn't create
oscformat /world/top/size
... couldn't create
oscformat /world/bottom/color
... couldn't create
oscformat /world/leftside/color
... couldn't create
oscformat /world/rightside/color
... couldn't create
oscformat /world/backside/color
... couldn't create
oscformat /world/frontside/color
... couldn't create
oscformat /world/top/color
... couldn't create
oscformat /world/prism/create
... couldn't create
oscformat /world/gravity
... couldn't create
oscformat /world/stiffness
... couldn't create

We use the current version of PD-Extended. (0.43.4)

from dimple.

radarsat1 avatar radarsat1 commented on September 22, 2024

It looks like oscformat was introduced in 0.46: https://puredata.info/downloads/pure-data/releases/0.46.0
and that PD-extended is no longer being updated: https://puredata.info/downloads/pd-extended

from dimple.

MarviB16 avatar MarviB16 commented on September 22, 2024

Okay, so the current status is, that we are waiting on the Demo for the OpenHaptics software, so that we can test DIMPLE with the Phantom.

But I have two more questions, which came up while playing around in puredata. Not sure where I should ask them, because it seems that the original mailing list is down.

I now load a mesh, which is shown properly, but the marbles are falling through it.

  1. How do I prevent them from falling through? (They are not falling through the (create-)box, but there is nothing in the createbox patch that indicates a collision detection).
  2. How can I detect a collision and then play a sound? (The beepcollide patch is doing precisely that, though I can't really find a documentation about how to use it properly)

Thanks

from dimple.

radarsat1 avatar radarsat1 commented on September 22, 2024

we are waiting on the Demo for the OpenHaptics software

ok!

Not sure where I should ask them, because it seems that the original mailing list is down.

Shame, but I don't have access to my old McGill email any more so the link should be changed, sorry about. Here on issues is a fine place to ask.

  1. This sounds like a bug. The collision detection may be incorrect.

  2. Collision events are requested by /world/<object name>/collide 1 (or 0 to turn it off), or alternatively request all collisions by /world/collide 1 -- this is done in createmarble subpatch. Then, beepcollide subpatch listens for messages /world/<object name>/collide which has a string and a float as argument. The string is the name of the object that was collided with, and the float is the magnitude of their difference in velocity.

from dimple.

MarviB16 avatar MarviB16 commented on September 22, 2024

Okay, yes I also think it's a bug. When I make the pool table 0.03 "thick" (same as the demo box) collision works, but if I make it any thinner it stops working.

from dimple.

radarsat1 avatar radarsat1 commented on September 22, 2024

Ah, interesting, could be a limitation in ODE physics then. I might have to experiment. Keep in mind that I don't think mesh dynamics works, that is mesh objects must be fixed as far as I remember. By the way I'll close this for now, feel free to open new issues for each topic.

cheers

from dimple.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.