-
Notifications
You must be signed in to change notification settings - Fork 26
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
URDF Issues #4
Comments
Which version of pyOpt did you install? You should install the one mentioned in the readme. Also, it seems that you have a zero mass somewhere in your model: |
I installed the one in the readme. Simply cloned it and ran
The zero mass has been fixed. Not getting any feasible solutions by the way. Even for the kuka URDF provided. |
@mouhyemen @kjyv You can avoid this problem by editing *.yaml config file. The cause of this problem: # amount of collision checks to be done
eff_links = self.model.num_links - len(self.config['ignoreLinksForCollision']) + len(self.world_links)
self.num_constraints = self.num_postures * (eff_links * (eff_links-1) // 2)
#get neighbors
nb_pairs = [] # type: List[Tuple]
for link in self.neighbors:
if link in self.config['ignoreLinksForCollision']:
continue
if link not in self.model.linkNames:
continue
nb_real = set(self.neighbors[link]['links']).difference(
self.config['ignoreLinksForCollision']).intersection(self.model.linkNames)
for l in nb_real:
if (link, l) not in nb_pairs and (l, link) not in nb_pairs:
nb_pairs.append((link, l))
self.num_constraints -= self.num_postures * (len(nb_pairs) + # neighbors
len(self.config['ignoreLinkPairsForCollision'])) # custom combination There is a bug when calculating the amount of collision checks to be done. self.config['ignoreLinksForCollision']
self.config['ignoreLinkPairsForCollision'] When the same link name occurs in these two items, the error you describe will happen. This error can be solved by improving the calculation logic of collision amounts. |
About no feasible solutions found: I guess this has to do with newer versions of the libraries and tool stack producing different output than 2 years ago etc. Not sure how to easily find this at the moment but to go through the intermediate steps and look for wrong data. This is not a fire and forget software I guess but if you want to use some of the algorithms, you can use it as a starting point (I'm not actively working on it anymore). Good find about the wrong calculation, for now it's best if you don't ignore links "twice" I guess :) |
I followed the kuka_lw4.urdf file provided in the repo. After running the ./trajectory.py script (with optional world.urdf model), no feasible solutions were found at the end.
Also, I am interested on my own URDF file for our robotic model and I followed the skeleton format of kuka_lwr4.urdf provided, I get the following error:
Note: If I do NOT include the world.urdf model, the above error is generated even for kuka_lw4r.urdf.
The text was updated successfully, but these errors were encountered: