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

pr2 arm-object collision check #206

Open
iKrishneel opened this issue Feb 3, 2016 · 5 comments
Open

pr2 arm-object collision check #206

iKrishneel opened this issue Feb 3, 2016 · 5 comments

Comments

@iKrishneel
Copy link

I want the pr2 arm not to collide with the table during manipulation and I tried to use pqp-collision-check method.

The problem is if the links of the arm is inside the cube (representing the table), collision check does not report collision as shown in the attached picture. However if the arm is on the edge of the cube, collision is reported.

Code for this is here:

How to work about this issue?

screenshot from 2016-02-03 19 19 29

@k-okada
Copy link
Member

k-okada commented Feb 4, 2016

nice catch, this is very complex problem which caused from conversion between urdf model and eus model. urdf model consists of several links with rotational joint and fixed joint whereas eus model originally assume a link is consists of one link, not a multiple link connected by fixed joint as urdf do.

see https://gist.github.com/k-okada/2d0e4eacd2f0f5278fa7 for templary workaround (and also i modifed for better visualization, please compare this with yours carefully)

For better solution, we'll continue discussion at ->
jsk-ros-pkg/jsk_model_tools#171

@chiwunau
Copy link
Contributor

chiwunau commented May 24, 2016

screenshot_from_2016-05-24 19 16 44
I have a similar problem, where I am trying to solve IK while avoiding the robot's arm and base collide with the door model. The screenshot shows the result when I put every pair of door links and links from (send *pr2* :link-list (send *pr2* :rarm :end-coords :parent)) to :collision-avoidance-link-pair of IK. (code)
It seems that when searching in null-space, It only consider collision of bodies in the link-list. In this case many parts of arm and base are missing. Any workaround for this problem? especially for the base...

P.S. temporarily I replaced (setq b_gkmodel0_base_footprint_geom0 (instance pr2_gkmodel0_base_link_geom0 :init)) in pr2.l

@k-okada
Copy link
Member

k-okada commented Jun 6, 2016

@chiwunau @iKrishneel
can we try "workaround" for this issue?

  1. create list contains "body object" for each links, manually
  2. create convex hull of these objects
  3. replace collision object for each links
  4. write this procedure within pr2-utils.l
    @furushchev can you help them?

@chiwunau
Copy link
Contributor

Thank you, I will get @furushchev help and try writing the code.

@chiwunau
Copy link
Contributor

chiwunau commented Jun 14, 2016

screenshot_from_2016-06-14 17 52 40
screenshot_from_2016-06-14 17 53 05

This change (#232) can avoid the problem, I tested for IK and pqp-collision-check.
here is the test code

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