hojonathanho / bulletsim Goto Github PK
View Code? Open in Web Editor NEWSimulation environment with Bullet physics
Simulation environment with Bullet physics
I have compile the code. The bin file can run normally. But it exists error when I use python to import it.
The error information is as below:
โ ~ python
Python 2.7.12 (default, Apr 15 2020, 17:07:12)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import bulletsimpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/zxy/learning-code/bulletsim/bulletsimpy/__init__.py", line 1, in <module>
from cbulletsimpy import *
ImportError: /home/zxy/learning-code/bulletsim/build/lib/cbulletsimpy.so: undefined symbol: _ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE
>>>
Hi,
I'm no expert, but I have a keen interest in helping support you develop on the mac.
I have followed the linux compile instructions you posted and get 99% the way through. The first error I encountered was:
-soname not supported or something.....
I tracked this down to a Mac specific issue. the mac equivalent is:
-install_name
which I replaced in the makefile.
I now have the error:
ld: symbol(s) not found for architecture x86_64
but I'm stumped on how to fix this. Any guidance or discussion would be greatly appreciated.
We need a logging system, e.g. glog
Typical output:
[plugindatabase.h:548] Failed to create name ode, interface collisionchecker
[plugindatabase.h:548] Failed to create name base_stereo_camera, interface sensor
[colladareader.cpp:1988] cannot find instance_sensor for attached sensor pr2:wide_stereo_optical_sensor
[plugindatabase.h:548] Failed to create name base_stereo_camera, interface sensor
[colladareader.cpp:1988] cannot find instance_sensor for attached sensor pr2:narrow_stereo_optical_sensor
[xmlreaders.cpp:3293] sensor args has been deprecated.
[xmlreaders.cpp:3293] sensor args has been deprecated.
[xmlreaders.cpp:3293] sensor args has been deprecated.
[xmlreaders.cpp:3293] sensor args has been deprecated.
[ikfastproblem.h:367] executing shell command:
openrave.py --database inversekinematics --getfilename --robot="robots/pr2-beta-sim.robot.xml" --manipname=leftarm --iktype=Transform6d
[ikfastproblem.h:167] /home/joschu/.openrave/kinematics.c45a6ca7742b52feb0b51dbc6c01064f/ikfast49.Transform6D.x86_64.15_16_18_19_20_21_f17.so: cannot open shared object file: No such file or directory
[ikfastproblem.h:71] failed to load library /home/joschu/.openrave/kinematics.c45a6ca7742b52feb0b51dbc6c01064f/ikfast49.Transform6D.x86_64.15_16_18_19_20_21_f17.so
[ikfastproblem.h:367] executing shell command:
openrave.py --database inversekinematics --getfilename --robot="robots/pr2-beta-sim.robot.xml" --manipname=rightarm --iktype=Transform6d
[ikfastproblem.h:167] /home/joschu/.openrave/kinematics.ad4f1590d2a9b2079648c64e9db33191/ikfast49.Transform6D.x86_64.27_28_30_31_32_33_f29.so: cannot open shared object file: No such file or directory
[ikfastproblem.h:71] failed to load library /home/joschu/.openrave/kinematics.ad4f1590d2a9b2079648c64e9db33191/ikfast49.Transform6D.x86_64.27_28_30_31_32_33_f29.so
Closely related to #6 (centroids). Boxes are OK, but anything with a mesh is really bad. We probably also need some parameter tweaking, e.g. margins, damping, collision flags. It would also be nice to consolidate Jonathan's work on rigid body grasping. It's probably worth looking again at the OpenRAVE bullet plugin--apparently they've been working on it.
Currently when we load meshes, they have the wrong center of mass. I added a little code to compute the centroid (using vertices) and adjust the mesh coordinates. Now they look ok in the debug drawer (i.e., center of mass is roughly in the center of the object) but the osg rendering is in the wrong place.
Right now, we use PR2Manager to do two things: (1) has some convenient members and methods for loading the PR2 and accessing manipulators, (2) teleoperation with phantom omnis.
It would be better to separate these two responsibilities so we can (1) teleoperate with different devices, (2) use the teleoperation interfaces without the pr2. (e.g. with fake grippers)
So I propose the following: pull all the haptic stuff out of PR2Manager, and create some teleoperation classes e.g. PR2MouseController, PR2HydraController, PR2PhantomController. These controllers know how to register all the callback with the scene.
This isn't urgent because it's easy to hack in new control methods with the current code organization, but it would be nice to clean this up eventually.
Currently my (John's) python code is not part of this repository, even though some other components of the code call it.
I am trying to experiment a rope tracking by using source codes of "https://github.com/hojonathanho/bulletsim/tree/tracking-release".
My procedures are as follows:
I have done the following procedure written in README and cofirmed that some files (such as tracker_node) are copied to the /build/binary_symlinks/bin.
for node in $BULLETSIM_BUILD_DIR/bulletsim/bin/* ; do ln -s $node ; done
I have downloaded your bag files from http://rll.berkeley.edu/tracking/ and put them to my directory.
I want to simulate a rope tracking by using your unknot_*.bag.
Q1. To simulate a rope tracking by using your bag files, I must execute the following commad on the terminal. Is it correct ?
$BULLETSIM_BUILD_DIR/bulletsim/bin/tracker_node --cameraTopics=kinect1
roslaunch point_clouds.launch online:=false filename:=sample_rope
Q2. There are some bag files in the rope directory(for example, unknot_raw.bag and unknot_preprocessor.bag), which bag file should be specified to simulate it ?
Q3. To experiment a rope tracking by using my recorded bag file, what should I do ?
We need something that resembles a Cartesian controller--it's annoying when IK fails and the arm doesn't move at all, when we're only slightly outside of the reachable region.
Let's pick some indentation convention and reformat all the code with it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.