Quantcast
Channel: ROS Answers: Open Source Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 1441

Planning workflow of product positioning with

$
0
0
Hi, With some breaks I've been working towards an application for my robot where I want to position holes/locations in a product to a specific point in space. I've been digging around and i'd like to check that what I'm trying to do is possible at all, and I hope somebody can confirm if i'm on the right track and if needed nudge me into the right direction. While I've got multiple questions, these all have a common cause, therefore I hope it's OK to pose them all together. I've made a 4DOF robot where I will pick up different products and bring the holes in that product to a location where a tool will add a feature to that hole. The product cannot be rotated in it's own plane (around its frame z-axis). I would like to position these holes to a specified location one by one. Preferably with Python. I've made a the [robot moveit package](https://github.com/luminize/matilda_moveit_config) and [a robot_support package](https://github.com/luminize/matilda_support) Below a simple representation: ![4DOF robot](https://snag.gy/FmsxNw.jpg) After a lot of searching I think I have 2 possible solutions: - Add a `hole` frame to my `tool0` frame of the end-effector, make that the tip of my kinematics chain and have moveit plan that frame to the specified location. - I could generate a new tool for each product (with a frame at each hole location) and load them with different launch files, but that would give me a new tool for each new product i want to handle and I'm not sure I want the burden of maintaining all those tools. One hurdle I encounter at trying to position the end effector (just the robot end effector, no extra frames/product) to a point in space with the ros_commander python api is that I can't get the plan to succeed (I try to follow [the moveit tutorial](http://docs.ros.org/hydro/api/pr2_moveit_tutorials/html/planning/scripts/doc/move_group_python_interface_tutorial.html) example). [link to gist of plan.py](https://gist.github.com/luminize/795ca34fc93e0e57fc70cfe694ab2ce4) [link to terminal output](https://gist.github.com/luminize/f3cc5470ce905cdd998bbad428c4982a) but I get errors telling me the plan isn't solvable. [ INFO] [1493551548.788745043]: Planning request received for MoveGroup action. Forwarding to planning pipeline. [ INFO] [1493551548.859191599]: Planner configuration 'manipulator[RRTkConfigDefault]' will use planner 'geometric::RRT'. Additional configuration parameters will be set when the planner is constructed. [ INFO] [1493551548.859571195]: manipulator[RRTkConfigDefault]: Starting planning with 1 states already in datastructure [ INFO] [1493551558.859673954]: manipulator[RRTkConfigDefault]: Created 114272 states [ INFO] [1493551558.859745128]: No solution found after 10.000228 seconds [ INFO] [1493551558.869263246]: Unable to solve the planning problem [ INFO] [1493551558.987668538]: Planning request received for MoveGroup action. Forwarding to planning pipeline. [ INFO] [1493551559.063110536]: Planner configuration 'manipulator[RRTkConfigDefault]' will use planner 'geometric::RRT'. Additional configuration parameters will be set when the planner is constructed. [ INFO] [1493551559.063482002]: manipulator[RRTkConfigDefault]: Starting planning with 1 states already in datastructure [ INFO] [1493551569.063481304]: manipulator[RRTkConfigDefault]: Created 111517 states [ INFO] [1493551569.063716649]: No solution found after 10.000282 seconds [ INFO] [1493551569.081697521]: Unable to solve the planning problem I guess that's because I cannot get to that position because the robot only has 4 DOF and cannot rotate the part. I've been searchin a lot and I've got a lot pieces of the puzzle, but some final pieces seem missing yet. planning to a pose consisting of joint values work btw. pose_1 = [1.9, 0.785, -0.785, -1.57] group.set_joint_value_target(pose_1) plan3 = group.plan() group.go() moves the robot as expected My questions in a nutshell: - Is this 4DOF type of planning of a frame to cartesian coordinates possible at all? - If I need to provide the exact position of the end effector frame (so also roll/pitch/yaw) for the product ens position, which knowledge/info/examples do I need to consume to implement that. - regarding planning with just the stock robot (no tools on the end effector) I could add 2 extra DOF to the tip of the end-effector, with zero length links. Would that be a satisfactory setup to get solutions? - If I were to generate (from CAD) a new tool for each new product. Is there a way to switch tools at run-time instead of in my launch file? Where should I look for further info regarding that. - As an alternative, can I change link lenghts of the loaded URDF at run-time? - I know how to add a frame to the `tool0` frame of my robot, but It does not seem to be a frame I can use for planning purposes because while it is viewable in Rvis (add tf plugin) it does not show up in the moveit kinematics chain. Is there a way to add and remove links from the kinematics chain? Where do I need to look Thanks in advance, Regards, Bas

Viewing all articles
Browse latest Browse all 1441

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>