Hi,
In the documentation it says that the FindIKSolution call should return the closest solution to the current joint angles of the robot. But I am experiencing problems with that. Attached is an example python script, where the solution found is far away. Note that if I do FindIKSolutions to get all the solutions, I am able to find a configuration that is actually very close to the current configuration. Thanks, mehmet  This SF.net Dev2Dev email is sponsored by: Show off your parallel programming skills. Enter the Intel(R) Threading Challenge 2010. http://p.sf.net/sfu/intelthreadsfd _______________________________________________ Openraveusers mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/openraveusers validateIkSolver.py (1K) Download Attachment 
Administrator

hi mehmet,
This is an excellent question. As you know, the default iksolver has free parameters for arms with more than 6 joints. It discretizes these free parameters and tests them in the order of proximity to the current free parameters set. So if the current free parameter is 0, openrave will test: 0, 0.1, 0.1, 0.2, 0.2, 0.3, 0.3 ... if the discretization is 0.1 In your example, the default robot values are: [0.8726, 0.657, 2.64, 0.5726, 2.763, 0.523, 2.801]; and the returned ik fast solution is: [ 2.37, 0.5 , 2.64 , 1.033 , 2.615, 0.234, 0.580] Because the free parameter for the barrett wam is the 3rd joint, the closest 3rd joint value is found such that a solution exists. And if you will notice, the 3rd joint of both solutions match. This however is not the closest solution in terms of the entire arm joints. In order for you to compute that, you will have to call FindAllIkSolutions and test each one, which could take a long time. If you want to prioritize the first joint, then you can create a new ik solver with the free parameter being the first joint. rosen, 2010/9/9 mehmet dogar <[hidden email]>: > Hi, > In the documentation it says that the FindIKSolution call should > return the closest solution to the current joint angles of the robot. > But I am experiencing problems with that. Attached is an example > python script, where the solution found is far away. Note that if I do > FindIKSolutions to get all the solutions, I am able to find a > configuration that is actually very close to the current > configuration. > > Thanks, > mehmet > >  > This SF.net Dev2Dev email is sponsored by: > > Show off your parallel programming skills. > Enter the Intel(R) Threading Challenge 2010. > http://p.sf.net/sfu/intelthreadsfd > _______________________________________________ > Openraveusers mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/openraveusers > >  Automate Storage Tiering Simply Optimize IT performance and efficiency through flexible, powerful, automated storage tiering capabilities. View this brief to learn how you can reduce costs and improve performance. http://p.sf.net/sfu/dellsfdev2dev _______________________________________________ Openraveusers mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/openraveusers 
Administrator

hi mehmet,
There was in fact a couple of places where prioritizations of the solutions could have been computed better. After working on them a little, your example now works (r1728). I don't think it should affect speed that much, but please tell me if you notice anything. thanks! rosen, 2010/9/11 Rosen Diankov <[hidden email]>: > hi mehmet, > > This is an excellent question. As you know, the default iksolver has > free parameters for arms with more than 6 joints. It discretizes these > free parameters and tests them in the order of proximity to the > current free parameters set. So if the current free parameter is 0, > openrave will test: > > 0, 0.1, 0.1, 0.2, 0.2, 0.3, 0.3 ... > > if the discretization is 0.1 > > In your example, the default robot values are: > > [0.8726, 0.657, 2.64, 0.5726, 2.763, 0.523, 2.801]; > > and the returned ik fast solution is: > > [ 2.37, 0.5 , 2.64 , 1.033 , 2.615, 0.234, 0.580] > > Because the free parameter for the barrett wam is the 3rd joint, the > closest 3rd joint value is found such that a solution exists. And if > you will notice, the 3rd joint of both solutions match. > > This however is not the closest solution in terms of the entire arm > joints. In order for you to compute that, you will have to call > FindAllIkSolutions and test each one, which could take a long time. > > If you want to prioritize the first joint, then you can create a new > ik solver with the free parameter being the first joint. > > rosen, > > 2010/9/9 mehmet dogar <[hidden email]>: >> Hi, >> In the documentation it says that the FindIKSolution call should >> return the closest solution to the current joint angles of the robot. >> But I am experiencing problems with that. Attached is an example >> python script, where the solution found is far away. Note that if I do >> FindIKSolutions to get all the solutions, I am able to find a >> configuration that is actually very close to the current >> configuration. >> >> Thanks, >> mehmet >> >>  >> This SF.net Dev2Dev email is sponsored by: >> >> Show off your parallel programming skills. >> Enter the Intel(R) Threading Challenge 2010. >> http://p.sf.net/sfu/intelthreadsfd >> _______________________________________________ >> Openraveusers mailing list >> [hidden email] >> https://lists.sourceforge.net/lists/listinfo/openraveusers >> >> >  Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing http://p.sf.net/sfu/novellsfdev2dev _______________________________________________ Openraveusers mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/openraveusers 
Thanks! I will give it a try and let you know.
mehmet On Sat, Sep 11, 2010 at 11:48 AM, Rosen Diankov <[hidden email]> wrote: > hi mehmet, > > There was in fact a couple of places where prioritizations of the > solutions could have been computed better. After working on them a > little, your example now works (r1728). I don't think it should affect > speed that much, but please tell me if you notice anything. > > thanks! > rosen, > > 2010/9/11 Rosen Diankov <[hidden email]>: >> hi mehmet, >> >> This is an excellent question. As you know, the default iksolver has >> free parameters for arms with more than 6 joints. It discretizes these >> free parameters and tests them in the order of proximity to the >> current free parameters set. So if the current free parameter is 0, >> openrave will test: >> >> 0, 0.1, 0.1, 0.2, 0.2, 0.3, 0.3 ... >> >> if the discretization is 0.1 >> >> In your example, the default robot values are: >> >> [0.8726, 0.657, 2.64, 0.5726, 2.763, 0.523, 2.801]; >> >> and the returned ik fast solution is: >> >> [ 2.37, 0.5 , 2.64 , 1.033 , 2.615, 0.234, 0.580] >> >> Because the free parameter for the barrett wam is the 3rd joint, the >> closest 3rd joint value is found such that a solution exists. And if >> you will notice, the 3rd joint of both solutions match. >> >> This however is not the closest solution in terms of the entire arm >> joints. In order for you to compute that, you will have to call >> FindAllIkSolutions and test each one, which could take a long time. >> >> If you want to prioritize the first joint, then you can create a new >> ik solver with the free parameter being the first joint. >> >> rosen, >> >> 2010/9/9 mehmet dogar <[hidden email]>: >>> Hi, >>> In the documentation it says that the FindIKSolution call should >>> return the closest solution to the current joint angles of the robot. >>> But I am experiencing problems with that. Attached is an example >>> python script, where the solution found is far away. Note that if I do >>> FindIKSolutions to get all the solutions, I am able to find a >>> configuration that is actually very close to the current >>> configuration. >>> >>> Thanks, >>> mehmet >>> >>>  >>> This SF.net Dev2Dev email is sponsored by: >>> >>> Show off your parallel programming skills. >>> Enter the Intel(R) Threading Challenge 2010. >>> http://p.sf.net/sfu/intelthreadsfd >>> _______________________________________________ >>> Openraveusers mailing list >>> [hidden email] >>> https://lists.sourceforge.net/lists/listinfo/openraveusers >>> >>> >> > >  Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing http://p.sf.net/sfu/novellsfdev2dev _______________________________________________ Openraveusers mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/openraveusers 
Free forum by Nabble  Edit this page 