Control robot and turn table through python api- Printable Version +- RoboDK Forum (//www.sinclairbody.com/forum) +-- Forum: RoboDK (EN) (//www.sinclairbody.com/forum/Forum-RoboDK-EN) +--- Forum: RoboDK API (//www.sinclairbody.com/forum/Forum-RoboDK-API) +--- Thread: Control robot and turn table through python api (/Thread-Control-robot-and-turn-table-through-python-api) |
Control robot and turn table through python api-David-03-01-2022 Hello everyone, I'm doing a project involving external axis. A turn table is synchronized with robot. The target trajectory requires to slope the turning disc and cotrol the tool in parallel to the surface of the rotating disc. The tool moves by steps, and for each step the turndisc moves from -180° to 180°. The trajectory is as depicted in attached file. I'm wondering how to manage external axis in this case ? The rdk is in attached file. Thanks, RE: Control robot and turn table through python api-Albert-03-01-2022 You should create target items and move to those targets to have control over the tool position, orientation and joint axes for external axes. This thread shows how to deal with targets and external axes: //www.sinclairbody.com/forum/Thread-External-Rail-programmation-with-the-Python-API?pid=4304#pid4304 This is a similar example closer to what you need:
Code:
# Set the value of the external axis
RE: Control robot and turn table through python api-David-03-04-2022 (03-01-2022, 02:58 PM)Albert Wrote:You should create target items and move to those targets to have control over the tool position, orientation and joint axes for external axes. Thanks Albert for your reply. How to move one joint of turntable according to a reference rotational speed ? The others joints should not change. RE: Control robot and turn table through python api-David-03-04-2022 Thanks Albert for your help. How to move one joint of turntable according to a reference rotational speed ? The others joints should not change. RE: Control robot and turn table through python api-Albert-03-06-2022 You can calculate the position of the turntable for each point in your path. If you keep the pose constant, the relationship between the tool and your part should not change. RE: Control robot and turn table through python api-David-03-10-2022 Thank you very much for your help Albert. It works fine ! RE: Control robot and turn table through python api-David-04-05-2022 (03-06-2022, 09:28 AM)Albert Wrote: I reactivate this thread, because I have issue with Joints movement. In simulation it works, but in pactice at the step of "MoveJ(t.Joints)", the joint of tool changes with the move of turntable. Would you like to explain me how to keep the pose constant. In other words, how to move only the joints of external axes and keep fixe the pose ? RE: Control robot and turn table through python api-Albert-04-06-2022 You can simply retrieve the current robot joints and modify the external axes. Example:
Code:
joints = robot.Joints() # retrieve the current position
RE: Control robot and turn table through python api-David-04-06-2022 Thanks Albert for your answer. For example, with program in bellow, I get the result in the attached file. My purpose, is to have x,y,z,w,p,r format at P[3] and avoit joint fomat in GP1. p_home = Fanuc_2_Pose([Ox,Oy,Oz,0,0,90]) robot.MoveL(p_home) p_target = Fanuc_2_Pose([Ox+170,Oy,Oz,0,0,90]) robot.MoveL(p_target) # Set the value of the external axis e6 = 30 # in deg for a turntable e7 = 180 # in deg for a turntable # Create target and set the desired external axes and pose t = RDK.AddTarget("Start", reference, robot) t.setJoints([0,0,0,0,0,0, e6, e7]) t.setPose(robot.Pose()) t.setAsCartesianTarget () t.Joints() jnts = t.Joints() print(t.Name() + "-Joints: " + str(jnts.list())) robot.MoveJ(t) |