Open wbthomason opened 3 years ago
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.
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?
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 don't know if that issue still persists today.
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.
This line https://github.com/goretkin/Bullet.jl/blob/ed9072b0f2a3f7be2660a64b8698aaf3cfb9fe00/src/bullet_julia_types.jl#L9 now seems to cause an error on package load because
Rotations
is not defined onCoordinateTransformations
(possibly due to https://github.com/JuliaGeometry/CoordinateTransformations.jl/pull/63 or related).