Examples: Basics ========================== In this file, two short programs are implemented & commented in order to help you understand the philosophy behind the PyNiryo package. .. danger:: If you are using the real robot, make sure the environment around it is clear. Your first move joint --------------------------- The following example shows a first use case. It's a simple MoveJ. :: from pyniryo import * robot = NiryoRobot("10.10.10.10") robot.calibrate_auto() robot.move_joints(0.2, -0.3, 0.1, 0.0, 0.5, -0.8) robot.close_connection() Code Details - First Move J ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ First of all, we import the library to be able to access functions. :: from pyniryo import * Then, we instantiate the connection and link the variable ``robot`` to the robot at the IP Address ``10.10.10.10``. :: robot = NiryoRobot("10.10.10.10") Once the connection is done, we calibrate the robot using its :meth:`~.api.tcp_client.NiryoRobot.calibrate_auto` function. :: robot.calibrate_auto() As the robot is now calibrated, we can do a Move Joints by giving the 6 axis positions in radians! To do so, we use :meth:`~.api.tcp_client.NiryoRobot.move_joints`. :: robot.move_joints(0.2, -0.3, 0.1, 0.0, 0.5, -0.8) Our process is now over, we can close the connection with :meth:`~.api.tcp_client.NiryoRobot.quit`. :: robot.close_connection() Your first pick and place ------------------------------- In the second example, we are going to develop a pick and place algorithm. :: from pyniryo import * robot = NiryoRobot("10.10.10.10") robot.calibrate_auto() robot.update_tool() robot.release_with_tool() robot.move_pose(0.2, -0.1, 0.25, 0.0, 1.57, 0.0) robot.grasp_with_tool() robot.move_pose(0.2, 0.1, 0.25, 0.0, 1.57, 0.0) robot.release_with_tool() robot.close_connection() Code Details - First Pick And Place ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ First of all, we import the library and start the connection between our computer and the robot. We also calibrate the robot. :: from pyniryo import * robot = NiryoRobot("10.10.10.10") robot.calibrate_auto() Then, we equip the tool with :meth:`~.api.tcp_client.NiryoRobot.update_tool`. :: robot.update_tool() Now that our initialization is done, we can open the gripper (or push air from the vacuum) with :meth:`~.api.tcp_client.NiryoRobot.release_with_tool`, go to the picking pose via :meth:`~.api.tcp_client.NiryoRobot.move_pose` & then catch an object with :meth:`~.api.tcp_client.NiryoRobot.grasp_with_tool`! :: robot.release_with_tool() robot.move_pose(0.2, -0.1, 0.25, 0.0, 1.57, 0.0) robot.grasp_with_tool() We now get to the place pose, and place the object. :: robot.move_pose(0.2, 0.1, 0.25, 0.0, 1.57, 0.0) robot.release_with_tool() Our process is now over, we can close the connection. :: robot.close_connection() Notes --------- | You may not have fully understood how to move the robot and use PyNiryo and that is totally fine because you will find more details on the next examples page! | The important thing to remember from this page is how to import the library, connect to the robot & call functions.