changkyu / ralicra2019_changkyu

Inferring 3D Shapes of Unknown Rigid Objects in Clutter through Inverse Physics Reasoning - Changkyu Song
1 stars 1 forks source link

Documentation for Set-Up (issue with GLEW) #1

Open rachel-1 opened 3 years ago

rachel-1 commented 3 years ago

Hi, I'm hoping to try out this code for some research work, but there isn't a whole lot of documentation on how to get things started. A little more description in the README of how to run a demo would be great.

Here's my current process (after installing ROS and OpenCV): I am running Ubuntu xenial, though I installed ros from conda so I have ROS melodic. That meant I had to do some workarounds like rosdep init instead of sudo rosdep init, before doing rosdep update. I can switch to a normal install if need be, but it isn't obvious that's what's causing my issue. I then did:

git clone https://github.com/changkyu/ralicra2019_changkyu
cd ralicra2019_changkyu
cd software/ros-package
rosdep install --from-paths src --ignore-src -r -y
catkin_make

and got

-- +++ processing catkin package: 'siftgpu'
-- ==> add_subdirectory(perception/3rdparty/simtrack/siftgpu)
-- Checking for module 'glew'
--   No package 'glew' found
CMake Error at /juno/u/rachel0/anaconda3/envs/ros/share/cmake-3.18/Modules/FindPkgConfig.cmake:545 (message):
  A required package was not found
Call Stack (most recent call first):
  /juno/u/rachel0/anaconda3/envs/ros/share/cmake-3.18/Modules/FindPkgConfig.cmake:733 (_pkg_check_modules_internal)
  perception/3rdparty/simtrack/siftgpu/CMakeLists.txt:8 (pkg_check_modules)

I have checked that I have libglew-dev installed.

changkyu commented 3 years ago

Hi Rachel,

I am sorry for your inconvenience. I could not make decent documentation yet. I will definitely update it soon.

I guess CMake cannot find the glew package in your system, and it seems a CMake issue. Please make sure that you install the package correctly. If you are using "anaconda", it could be confused. Please make sure you installed the package on "anaconda" environment. Also, Please make sure that you have FindGLEW.cmake file in your system. (In my case, I can find /usr/share/cmake-3.10/Modules/FindGLEW.cmake). If you don't have that file, you can manually provide additional information to CMake.

Here is a solution I found in google. https://stackoverflow.com/questions/34230853/how-to-fix-could-not-find-glew-missing-glew-include-dir-glew-library

Just for your information, the code is not a standalone code. It is integrated for a specific robot system that our group is using (KUKA robot

Thank you.

On Wed, Oct 7, 2020 at 12:44 PM Rachel Gardner notifications@github.com wrote:

Hi, I'm hoping to try out this code for some research work, but there isn't a whole lot of documentation on how to get things started. A little more description in the README of how to run a demo would be great.

Here's my current process: I am running Ubuntu xenial, though I installed ros from conda https://medium.com/@wolfv/ros-on-conda-forge-dca6827ac4b6 so I have ROS melodic. That meant I had to do some workarounds like rosdep init instead of sudo rosdep init, before doing rosdep update. I can switch to a normal install if need be, but it isn't obvious that's what's causing my issue. I then did:

git clone https://github.com/changkyu/ralicra2019_changkyu cd ralicra2019_changkyu cd software/ros-package rosdep install --from-paths src --ignore-src -r -y catkin_make

and got

-- +++ processing catkin package: 'siftgpu' -- ==> add_subdirectory(perception/3rdparty/simtrack/siftgpu) -- Checking for module 'glew' -- No package 'glew' found CMake Error at /juno/u/rachel0/anaconda3/envs/ros/share/cmake-3.18/Modules/FindPkgConfig.cmake:545 (message): A required package was not found Call Stack (most recent call first): /juno/u/rachel0/anaconda3/envs/ros/share/cmake-3.18/Modules/FindPkgConfig.cmake:733 (_pkg_check_modules_internal) perception/3rdparty/simtrack/siftgpu/CMakeLists.txt:8 (pkg_check_modules)

I have checked that I have libglew-dev installed.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/changkyu/ralicra2019_changkyu/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABKQIJ5OQ4L3ZX7XQHZD3IDSJSLFBANCNFSM4SHUNMNA .

-- Best Regards,

Changkyu Song

rachel-1 commented 3 years ago

Thanks for the quick reply! I'm still working through the set-up process :) I can also document my experience once I get things working. To clarify, will it be possible to run a demo in Pybullet for the KUKA robot? I saw some of the control packages on your RSS 2020 repo, so I was planning on copying those over. I just wanted to get things working first, then modify from there.

changkyu commented 3 years ago

Yes, of course, you can. However, you need to understand the structure a little bit deeper. It is my bad having not written nice documentation. Now I am working on my thesis, so I am quite busy these days. After finishing my thesis, I will definitely provide a nice documentation and cleaned code. I will let you know once I have done that.

Roughly saying, it consists of three modules: Camera, Segmentation, and Shape Completion. Camera module provides RGB-D and Pointcloud data to the Segmentation module. Segmentation module segments the Pointcloud based on the proposed algorithm. Given the segmented pointcloud, Shape Completion module generates a number of hypotheses and tests in Simulation.

You can replace the Camera module with your own Camera module (maybe simulated camera data), and just provide RGB-D and Pointcloud to the Segmentation module. Each module is implemented independently as a ROS node, so you can communicate via ROS service call with them. If you don't want to use ROS service call, you can easily find the core function call which is inside of Segmentation node code. It also generates dynamic library for the core functions when compiling. You can call that function directly from your C++ or Python code (You can find many tutorials about how to call C++ function in Python).

By the way, the segmentation module has some hyperparameters needed to be tuned. If you cannot get a reasonable segmentation results, please contact me again. If you have further questions, please let me know. I can help you setup as much as I can.

Thank you.

On Wed, Oct 7, 2020 at 5:32 PM Rachel Gardner notifications@github.com wrote:

Thanks for the quick reply! I'm still working through the set-up process :) I can also document my experience once I get things working. To clarify, will it be possible to run a demo in Pybullet for the KUKA robot? I saw some of the control packages on your RSS 2020 repo, so I was planning on copying those over. I just wanted to get things working first, then modify from there.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/changkyu/ralicra2019_changkyu/issues/1#issuecomment-705205510, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABKQIJZ3I6DUQKNNLWMUT4TSJTM6FANCNFSM4SHUNMNA .

-- Best Regards,

Changkyu Song