Pick and Place with 6D pose estimation network (DenseFusion) and Panda robot arm simulator (ROS+GAZEBO)
- Ubuntu 16.04
- ROS Kinetic
- Gazebo 7.0
- Basically follow the installation guide on this repo
- install libfranka ( install from source recommended )
- franka-ros v0.6.0 ( install from source )
- clone this repo, make sure using the kinetic-devel branch
cd <catkin_ws>/src
git clone https://github.com/justagist/panda_simulator -b kinetic-devel
- run
./build_ws.sh
from <catkin_ws>/src/panda_simulator
- panda_robot: add this repo to your <catkin_ws> and build it
- quaternion
pip install numpy-quaternion
- pyquaternion
pip install pyquaternion
- numba (optional)
python -m pip install llvmlite==0.31.0 pip install numba
- scipy (optional)
pip install scipy
- put IMR_PICK_AND_PLACE.launch under
<catkin_ws>/src/panda_simulator/panda_gazebo/launch
- put IMR_PICK_AND_PLACE.world under your
$GAZEBO_RESOURCE_PATH
-
catkin build problem
- this repo uses
catkin build
instead ofcatkin_make
, you need to delete /build and /devel folder in your <catkin_ws> or simplycatkin clean
if you're originally using catkin_make to build the package.
- this repo uses
-
franka-ros problem
-
this repo uses franka-ros 0.6.0, check the version before moving on to further step, you may need to reinstall libfranka, follow build from source
-
in the install guide, use
catkin build
instead ofcatkin_make
rosdep install --from-paths src --ignore-src --rosdistro kinetic -y --skip-keys libfranka catkin build -DCMAKE_BUILD_TYPE=Release -DFranka_DIR:PATH=/path/to/libfranka/build
-
-
libfranka problem - problem: apt-get installs a non-working version of libfranka - I use libfranka 0.7.0 build from source, make sure the /common folder is not empty before building libfranka
-
demo goal: using franka robot arm to grab linemod-dataset-objects with kinect_ros camera attach to the gripper of franka robot arm
- Start demo world
roslaunch panda_gazebo IMR_PICK_AND_PLACE.launch
- Start the object-robot interface
python object_interface_server.py
- Attach the camera to the robot arm
python attach_camera.py
- Start camera viewer
python img_saver.py
- Run pick and place demo
python pick_and_place_demo.py
- Start demo world
- Put densefusion package under /home
- build with dockerfile in /home/DenseFusion
sudo docker run -it -v ~/DenseFusion:/home/DenseFusion df_docker
- start the docker
sudo docker run -it --name df_test --runtime=nvidia -v ~/DenseFusion:/home/DenseFusion df_docker
- Start demo world
roslaunch panda_gazebo IMR_DF_PICK_AND_PLACE.launch
- Start the object-robot interface
python object_interface_server.py
- Attach the camera to the robot arm
python attach_camera.py
- Start camera viewer
python img_saver.py
- Run pick and place demo
python df_pick_and_place_demo.py