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
Use Descartes on a 6-dof robot with linear track? #210
Comments
The IKFastStateAdapter will handle it natively if you add the free joint in IKFast. You have limited-ish control over the discretization by default. If you write an extension to the robot model class, then you can probably implement more intelligent search policies if you need them. I have used this with real hardware. |
@Jmeyer1292 Thanks for the feedback! I'll implement it and come back with feedback to close this issue. |
@Jmeyer1292: Take the following 6-axis IRB6640 + linear axis for an example, the links info is:
A snapshot of the dae visualization: I have tried
My question is: What would be the role of thumb in setting up this free index in ikfast generation for our 6-index industrial robot + linear axis setup, which is quite common in many real-world applications? I was following up the recent A5 development and found that a5_ikfast_lift_manipulator_plugin [1] did exactly what I want to achieve here. I'd really appreciate it if anyone could share your experience on this. Thank you! EDIT: The error mentioned above:
is actually due to incorrect sympy version. While the default sympy version in Xenial is Correction: However, the ikfast popped up another error:
I'm still confused about the [1] https://github.com/ros-industrial-consortium/A5/tree/master/a5_ikfast_lift_manipulator_plugin |
Many thanks to @gavanderhoorn for pointing me to the In the hope of helping someone else who encounters this problem, I've documented the resolution in an updated moveit-ikfast tutorial here (You can use With this, I'll thank everyone here for helping me and close the issue. [1] https://answers.ros.org/question/285611/set-free_index-for-7-dof-robots-ikfast-moveit-plugin-generation/?answer=285712#post-id-285712 |
Good to hear you got something to work, but why 'fork' that MoveIt tutorial? If you feel that this method works better than the one that is currently documented, it might be worthwhile to suggest that to the MoveIt developers and submit a PR with your updates. |
I would actually also suggest to really use the Docker image. Installing OpenRave just to generate an IKFast plugin is not something I would recommend (or do). Using the Docker image completely removes the need to go through that. |
I feel like my "fork" of the documentation is probably too wordy and it is written in a short amount of time just to record everything I did to make it work. And in my tutorial, I put a strong emphasis on 6+1 dof setting (and too many ABB examples from a private repo doesn't sound good for the official Moveit! tutorial), which might be only of interest within the ROS-I community. But I'll definitely work on submitting a PR to contribute to the original Moveit! tutorial after I polish it a little bit...
But I think we don't have ROS-kinetic + Openrave docker image, do we? In my case, I really didn't want to reinstall ROS on my machine and I decided to give my existing src-built openrave a try, and surprisingly it worked like a charm. Thus, I documented it and I made a clear suggestion at the very beginning of the tutorial:
PS: In the ROS answer post [1], @hamzamerzic posted a very interesting online ikfast generator [2]. Although I haven't tested it yet, I think a web-based tool like this would be very helpful for many people who might suffer on the ikfast generation process. [1] https://answers.ros.org/question/263925/generating-an-ikfast-solution-for-4-dof-arm/ |
@yijiangh wrote:
I'm not sure why we would need one?
I'm not sure why you'd need to do that either.
Of course. There is nothing magic about the OpenRave provided by the Docker image. The point is to be able to avoid 'polluting' your system with all the dependencies that are needed just to get OpenRave to compile, and then only use all of that for the 10 minutes you use OpenRave to generate your IKFast plugin. I'd rather do a |
@gavanderhoorn wrote:
I have limited knowledge on docker but it seems to be very cool and convenient to use! (I did suffer from this kind of polluting in the past) Thank you for clarifying this. I will give it a try and update the tutorial accordingly. |
Is it possible to adapt descartes to plan for a 6-dof robot on a linear track (e.g., the snapshot from stomp demo [1] below)?
I think the key technical barrier would be the IKfast configuration. Is it possible to configure IKfast for this setup?
Thanks!
[1] https://github.com/ros-industrial/industrial_moveit
The text was updated successfully, but these errors were encountered: