ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Yes and no.
As far as I can tell, your understanding of the RRT planner is correct. You can add 3 DOF for the base in your URDF, e.g. prismatic/prismatic/rotational or rotational/prismatic/rotational, modify the arm_navigation config files (output of the wizard) and let the OMPL planner of your choice do its work.
Actually, I did that and the result looks really fancy. :-) However, depending on your type of mobile base, the output plan may conflict with the constraints of your base. More specific, in my example I have a differential-drive base. The plan I get from the planner does not respect the "non-holonomic/rolling without slipping/don't move orthogonal to the current direction" constraint. The planner doesn't care about the transition from one point to the next. It only makes sure, each point its checking fulfils the constraints (e.g. joint limits, collisions).
In case you have a holonomic base, e.g. omni-wheels, powered casters, mercantum wheels, you might be able to do something useful with the output of the planner.
I think, MoveIt will be able to do you what you like to do. So, you could lean back and wait for the guys to do once again an awesome job, as they did with arm_navigation. :-)
2 | adds more information |
Yes and no.
As far as I can tell, your understanding of the RRT planner is correct. You can add 3 DOF for the base in your URDF, e.g. prismatic/prismatic/rotational or rotational/prismatic/rotational, modify the arm_navigation config files (output of the wizard) and let the OMPL planner of your choice do its work.
Actually, I did that and the result looks really fancy. :-) However, depending on your type of mobile base, the output plan may conflict with the constraints of your base. More specific, in my example I have a differential-drive base. The plan I get from the planner does not respect the "non-holonomic/rolling without slipping/don't move orthogonal to the current direction" constraint. The planner doesn't care about the transition from one point to the next. It only makes sure, each point its checking fulfils the constraints (e.g. joint limits, collisions).
In case you have a holonomic base, e.g. omni-wheels, powered casters, mercantum wheels, you might be able to do something useful with the output of the planner.
I think, MoveIt will be able to do you what you like to do. So, you could lean back and wait for the guys to do once again an awesome job, as they did with arm_navigation. :-)
/edit to answer your edit:
First, I modified my robot description (URDF) and added three fake joints (R-P-R) between a new "manip_start" frame/link and my robot's base_footprint link. Afterwards I built my custom arm_navigation from scratch using the arm_navigation_wizard. The only difference this time was, that I set the "manip_start" link as my new root (tip link stays the same). In this way the new fake joints get pulled in. Let me know how that goes.
In my case, I made it work for 8 DOF (3 in the arm, 2 in the torso, 3 in the fake base).