Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UR5 filtering with Kinectv2 crashing on startup #19

Open
budekatude opened this issue Sep 20, 2017 · 5 comments
Open

UR5 filtering with Kinectv2 crashing on startup #19

budekatude opened this issue Sep 20, 2017 · 5 comments

Comments

@budekatude
Copy link

budekatude commented Sep 20, 2017

Hi all,

I've been trying to create a collision map of the surroundings (with rtabmap) for a Universal Robot ur5 using a Microsoft Kinect v2 mounted to an elbow close to the end effector of the robot. I am using ROS Indigo and Ubuntu 14.04.

The mapping works fine but the robot will still see itself from time to time, which will create artifacts within the created map. These I want to filter from the images with the help of this filter.

I am calling the filter module in my .launch file:

<!--Filter robot from depth images with realtime urdf filter package-->
<node pkg="realtime_urdf_filter" type="realtime_urdf_filter" name="realtime_urdf_filter" output="screen">
    <remap from="~input_depth" to="/kinect2/qhd/image_depth_rect"/>
    <remap from="~output_depth" to="/realtime_urdf_filter/robot_filtered" />
    <remap from="~output_mask" to="/urdf_filtered_mask" />
    <rosparam command="load" file="$(find realtime_urdf_filter)/launch/filter_parameters.yaml"/>
</node>

I've set up the filter_parameters.yaml file accordingly:

fixed_frame: /world
camera_frame: /kinect2_base_link
camera_offset:
  translation: [0.0, 0.0, 0.0]
  rotation:    [0.0, 0.0, 0.0, 1]
# There is one entry for each URDIF that should be filtered
models: 
- model: "/robot_description"
  tf_prefix: "/base_link"
# how far in front of the robot model is still deleted? (e.g. 0.05 = 5cm)
depth_distance_threshold: 0.05
show_gui: false
filter_replace_value: 5.0

However every time I start the filter, it crashes immediately creating the following error code:

[realtime_urdf_filter-13] process has died [pid 7618, exit code -6, cmd /home/matthias/catkin_ws/devel/lib/realtime_urdf_filter/realtime_urdf_filter ~input_depth:=/kinect2/qhd/image_depth_rect ~output_depth:=/realtime_urdf_filter/robot_filtered ~output_mask:=/urdf_filtered_mask __name:=realtime_urdf_filter __log:=/home/matthias/.ros/log/eb3857ca-9d56-11e7-998d-68f7289ab1c5/realtime_urdf_filter-13.log].
log file: /home/matthias/.ros/log/eb3857ca-9d56-11e7-998d-68f7289ab1c5/realtime_urdf_filter-13*.log

Any suggestions what it could be related to? Have I set it up correctly? If not... any hints on where it might be set up incorrectly or where to look would really make my day!

Thanks so much in advance!

Edit: I have checked if ./Protonect gl works as suggested in issue #17, and all four different camera pictures show up correctly....

@JimmyDaSilva
Copy link
Contributor

This package requires the following: 3rd party libraries

GLSL (GL Shader Language) version 1.40 support or greater
GLEW (GL Extension Wrangler) version 1.6
NOTE: Trying to use thie package with GLEW 1.5 wil result in a segmentation fault.

Did you check your installation of GLSL and GLEW? Are the nvidia drivers installed or are you using nouveau ?

@budekatude
Copy link
Author

budekatude commented Sep 20, 2017

Hi Jimmy,
thanks so much for your quick reply!
I have checked my OpenGL version and it seems like its outdated. Even after updating the drivers it doesn't seem to change even though the table on Wikipedia says it should support up to version 4.2.

$ glxinfo | grep 'version'
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.3.2
OpenGL core profile shading language version string: 3.30
OpenGL version string: 3.0 Mesa 10.3.2
OpenGL shading language version string: 1.30

Not using any Nvidia drivers. I have a Thinkpad T440p with Intel Haswell Mobile graphics and an Intel Core i5-4210M CPU @ 2.60GHz × 4 CPU.

Edit: Considering there not being any possibility to update it any further... Does there happen to be any kind of workaround?

@JimmyDaSilva
Copy link
Contributor

I don't know anything about opengl computation so I cannot be of any help with that. Also the packager owner is not really maintaining the package.
I suggest you try to update your opengl drivers.

@lyh458
Copy link

lyh458 commented Apr 1, 2021

I had the same error with you, my solution is switch to Nvidia GPU in NVIDIA X Server Settings instead of using the integrated GPU.

@lyh458
Copy link

lyh458 commented Jun 12, 2021

If you only have integrated GPU, except for switching to Nvidia GPU, you can also try the solution in #26 . In details, see here. For me, I just create a new file ~/.drirc and paste the following code in:

<driconf>
  <device driver="loader" kernel_driver="i915">
    <option name="dri_driver" value="iris" />
  </device>
</driconf>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants