Giter Club home page Giter Club logo

Comments (4)

goretkin avatar goretkin commented on August 25, 2024

Thanks! Yeah, that seems to be exactly the reason why.

Are you using this package? I am not currently developing it, but would certainly welcome contributions / encourage a fork.

from bullet.jl.

wbthomason avatar wbthomason commented on August 25, 2024

I was trying it out - I'd love to use Julia for writing robot planners, but I haven't found a good package for collision checking yet. I use Bullet in C++ and Python, so I'd be interested in wrapping it for Julia. This seemed like it might be a good option.

Do you think the changes necessary to get this package working would be minimal, or might it be better to start from a blank slate?

from bullet.jl.

goretkin avatar goretkin commented on August 25, 2024

Do you think the changes necessary to get this package working would be minimal, or might it be better to start from a blank slate?

Getting the C interface working I'd say is pretty minimal. The package also demonstrates how to access Bullet with Cxx, and this is harder to get working.

The C interface, if I'm recalling, is via Bullet's "command processor". So there's some overhead. Whether this is significant for the purposes of collision checking, I'm not sure, but I do prefer the idea of accessing the functions directly, instead of using Bullet's bespoke IPC.

I came across https://github.com/ros-industrial-consortium/tesseract/tree/master/tesseract_collision . I think they perhaps copied Bullet and FCL collision checking code (or do they just interface to it? I didn't grasp it.) In any case, it might be worth interfacing to that instead, using CxxWrap.jl. (On the other hand, it's convenient that Bullet let's you, in addition to performing collision checking, also load URDFs and visualize them.)

A side issue is that anything that uses Bullet should really rely on https://github.com/JuliaPackaging/BinaryBuilder.jl . It looks like I had tried but ran into some issue due to OpenGL:

#=
I haven't worked out how to use BinaryBuilder for Bullet, because of the OpenGL dependency.
This is a stop-gap. You will have to manually deploy to GitHub.
=#
import BinaryBuilder: triplet, platform_key_abi, package
import BinaryProvider: Prefix
archive_dir = triplet(platform_key_abi())
mkpath(archive_dir)
for d = ["data", "include", "lib"]
cp(joinpath("usr", d), joinpath(archive_dir, d), force=true)
end
package(Prefix(archive_dir), "Bullet", VersionNumber("0.0.0"))

I don't know if that issue still persists today.

from bullet.jl.

wbthomason avatar wbthomason commented on August 25, 2024

Thanks, this is all very helpful! If I end up having time to try either fixing this package or making my own Bullet wrapper, I'll let you know!

Feel free to close this issue if you'd like, or leave it in case anyone else comes along trying to use/revive the package.

from bullet.jl.

Related Issues (3)

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.