robodk
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
robodk [2023/05/23 21:07] – [Going further] admin | robodk [2024/03/13 10:40] (versione attuale) – [Introduction to RoboDK] admin | ||
---|---|---|---|
Linea 3: | Linea 3: | ||
===== Introduction to RoboDK ===== | ===== Introduction to RoboDK ===== | ||
- | [[https:// | + | [[https:// |
- | RoboDK is used to simulate a robot station, that is a robot and its work environment. This allows for testing multiple scenarios before deploying the robot in production and avoid possible mistakes. A large library of robots from different manufacturers is available and, other than simulating them, RoboDK can generate software you can run on the actual robot, thereby acting as a vendor-independent off-line programming tool. | + | RoboDK is used to simulate a robot station, that is a robot and its working |
- | More interesting | + | Further significant |
* GUI based, no programming skills needed | * GUI based, no programming skills needed | ||
* [[https:// | * [[https:// | ||
* extensive support ([[https:// | * extensive support ([[https:// | ||
- | At the moment | + | At the moment this software |
===== Lesson 1: Adding a robot and its tool ===== | ===== Lesson 1: Adding a robot and its tool ===== | ||
- | Let's launch RoboDK and start our first project. The user interface is quite simple: there are a menu and a toolbar on top, a tree view of the robot station on the left and, when opened, a window on the right to manage object | + | Let's launch RoboDK and start our first project. The user interface is quite simple: there are a menu and a toolbar on top, a tree view of the robot station on the left and, when opened, a window on the right to manage object |
{{:: | {{:: | ||
- | Every project | + | Every project |
* the robot | * the robot | ||
* the robot tool | * the robot tool | ||
* a list of targets for the robot tool | * a list of targets for the robot tool | ||
- | * programs with joint movements and other instructions | + | * programs with joint movements and further |
- | In an empty project only one thing is shown: | + | An empty project only shows the origin of the robot station with its //reference frame//. A reference frame is a coordinate system that allows placing objects in a 3D space with respect to it. It appears on screen as a set of three arrows with: |
* the x axis in red | * the x axis in red | ||
* the y axis in green | * the y axis in green | ||
* the z axis in blue | * the z axis in blue | ||
- | The axes names can be shown ticking an option in the //Display// tab reached from // | + | The axes names can be shown by ticking an option in the //Display// tab reached from // |
A Reference Frame defines the location of an item with respect to another item, with a given position and orientation. An item can be an object, a robot or another reference frame. It must be noted that when a reference frame is moved every nested object moves along with it. | A Reference Frame defines the location of an item with respect to another item, with a given position and orientation. An item can be an object, a robot or another reference frame. It must be noted that when a reference frame is moved every nested object moves along with it. | ||
Linea 40: | Linea 40: | ||
==== Adding a robot ==== | ==== Adding a robot ==== | ||
- | Robots can be added to the project with the //Open robot library// button in the toolbar (it' | + | Robots can be added to the project with the //Open robot library// button in the toolbar (it is the world shaped one). By clicking |
* a reference frame for the robot base | * a reference frame for the robot base | ||
* the robot itself | * the robot itself | ||
- | A double click on these object opens a side window on the right. The //base frame details// window shows its coordinates with respect to the station reference frame. A different reference frame and alternate coordinates formats are available clicking the respective drop-down buttons. It is also possible to move the base frame entering new values in the coordinates fields. The //robot panel// window has similar reference frame information as well as controls for joint axes movements. | + | A double click on these object opens a side window on the right. The //base frame details// window shows its coordinates with respect to the station reference frame. A different reference frame and alternate coordinates formats are available |
- | Now in the main window two new sets of arrows are also shown: the //robot base// and the //robot flange// reference frames. | + | Now in the main window two new sets of arrows are shown: the //robot base// and the //robot flange// reference frames. |
==== Navigation ==== | ==== Navigation ==== | ||
- | Before adding a tool to the robot let's see how navigation in the 3D space works. The main actions are: | + | Before adding a tool to the robot let's see how navigation in a 3D space works. The main actions are: |
* select, clicking the left button of the mouse | * select, clicking the left button of the mouse | ||
* pan, clicking the scroll wheel button and moving the mouse | * pan, clicking the scroll wheel button and moving the mouse | ||
Linea 55: | Linea 55: | ||
* zoom, using the mouse wheel | * zoom, using the mouse wheel | ||
Two buttons in the toolbar can be used to set default views: | Two buttons in the toolbar can be used to set default views: | ||
- | * fit all (the one with the four arrows) | + | * fit all (the one with four arrows) |
- | * default views (the one with the blue cube and the drop.down list) | + | * default views (the one with a blue cube and drop.down list) |
==== Adding a tool ==== | ==== Adding a tool ==== | ||
- | A robot is useless without an end-effector. Tools ca be added from the robot library just like we did before, just choose //tool// in the //type// filter of the library. For our example project let's look for the //Generic Dispenser// tool and click //open//. The tool is automatically added to the flange of the robot and a new reference frame is displayed on its end. This new frame is called //TPC// (//tool center point//) and is positioned and oriented according to the tool' | + | A robot is useless without an end-effector. Tools ca be added from the robot library just like we've done before, just choose //tool// in the //type// filter of the library. For our example project let's look for the //Generic Dispenser// tool and click //open//. The tool is automatically added to the flange of the robot and a new reference frame is displayed on its end. This new frame is called //TCP// (//tool center point//) and is positioned and oriented according to the tool task. This is the place where the tool action is performed and is the only frame we need to move and control to get the robot job done. On the robot panel window we can see how its pose is defined with respect to the robot flange or some other reference frame. |
===== Lesson 2: programming the robot ===== | ===== Lesson 2: programming the robot ===== | ||
- | In a typical robot application you define targets to be reached then write a program | + | In a typical robot application you define targets to be reached then write a program |
* joint movements to reach these targets | * joint movements to reach these targets | ||
* actions to be performed | * actions to be performed | ||
- | Targets are defined manually moving the robot to the desired position then clicking the //add new target for the selected robot// button in the toolbar. It is good practice to define these targets with respect to some reference frame other than the robot base frame. Such additional frame can be created clicking the //add reference frame// button in the toolbar and setting its position according to the robot work environment. It could be a corner of a table where object | + | Targets are defined |
==== Moving the robot ==== | ==== Moving the robot ==== | ||
- | In a moment we' | + | In a moment we will see how to move the robot but first it should be noted that every robot imported from the library has its own home position. When first imported in the project the robot is drawn in default position, but you can always move it back there: |
- | * right-clicking on the robot name in the station tree and choosing //Move home// | + | * by right-clicking on the robot name in the station tree and choosing //Move home// |
- | * clicking the //Home// button in the //Joint Axis jog// panel in the robot panel window | + | * by clicking the //Home// button in the //Joint Axis jog// panel in the robot panel window |
There are different methods to move the robot: | There are different methods to move the robot: | ||
* using the //joint axis jog// section of the robot panel, where every axis can be moved independently | * using the //joint axis jog// section of the robot panel, where every axis can be moved independently | ||
- | * selecting one translation/ | + | * selecting one translation/ |
- | * typing-in the coordinates in the //cartesian jog// section (you' | + | * typing-in the coordinates in the //cartesian jog// section (you will want to use the //tool frame with respect to reference frame// fields) |
- | * holding down the //Alt// button on the keyboard((or clicking the middle white-arrow button in the toolbar)) and than, for any reference frame, dragging the arrows, to move along a particular axis or dragging any of the three colored squares, to move in a particular plane | + | * holding down the //Alt// button on the keyboard((or |
The last method is by far the most convenient, especially when using the TCP reference frame. | The last method is by far the most convenient, especially when using the TCP reference frame. | ||
==== Adding an object ==== | ==== Adding an object ==== | ||
- | Now that we know how to move the robot let's add a new reference frame, an object and some targets. | + | Now that we know how to move the robot, let's add a new reference frame, an object and some targets. |
- | To add a reference frame just click the //Add a Reference Frame// button in the toolbar (three arrows and a plus sign). Now rename it to //object frame// right-clicking it in the station tree and choosing //Rename//. Next change its position double-clicking its name in the station tree and entering '' | + | To add a reference frame just click the //Add a Reference Frame// button in the toolbar (three arrows and a plus sign). Now rename it to //object frame// |
To add a new object click the //Open robot library// button then choose //Box// in the //Type// section to filter results. Now open the first item, //Box 12x7in (Closed)//. The new object should be nested in the new reference frame. If it's not, drag-and-drop it in the //object frame// from the station tree((now you could try moving the //object frame// and see how the nested box moves with it)). | To add a new object click the //Open robot library// button then choose //Box// in the //Type// section to filter results. Now open the first item, //Box 12x7in (Closed)//. The new object should be nested in the new reference frame. If it's not, drag-and-drop it in the //object frame// from the station tree((now you could try moving the //object frame// and see how the nested box moves with it)). | ||
Linea 93: | Linea 93: | ||
==== Adding targets ==== | ==== Adding targets ==== | ||
- | We' | + | We will now add some targets so that the robot will move to the corner in the top of the box then travels along the four edges and finally comes back to its home position. This kind of path could be used to seal the top of an object |
- | Let's add the first target. | + | Let's add the first target. |
- | We now need four more targets at each corner of the box. Getting their exact position manually moving the robot could be tricky; that' | + | We now need four more targets at each corner of the box. Getting their exact position |
==== Movements and programs ==== | ==== Movements and programs ==== | ||
- | Once targets are added you can click them, one after another, to move the robot to their respective position. This is indeed useful to preview robot movements. Now it' | + | Once targets are added you can click on them, one after the other, to move the robot to their respective position. This is indeed useful to preview robot movements. Now it is time to precisely define the robot behavior |
- | Movement instructions are added selecting a target then clicking one of the three move buttons in the toolbar (the ones with the yellow arrows): | + | Movement instructions are added by selecting a target then clicking one of the three move buttons in the toolbar (the ones with yellow arrows): |
* //Move Joint// results in a curved movement between two joints | * //Move Joint// results in a curved movement between two joints | ||
- | * //Move Linear// results in a curved | + | * //Move Linear// results in a straight |
- | * //Move Circular// results in a circular movement starting from a target and going through two more | + | * //Move Circular// results in a circular movement starting from a target and going through two extra ones |
- | Joint movements are the most used but for certain applications, | + | Joint movements are the most used but for certain applications, |
- | Let's add a new program and call it //box//. One at a time, select the three remaining targets on the box and than the first one again. Add //Move Linear// | + | Let's add a new program and call it //box//. One at a time, select the three remaining targets on the box and then the first one again. Add //Move Linear// |
- | There' | + | There' |
===== Going further ===== | ===== Going further ===== | ||
- | That's it for now. This was a very brief introduction to RoboDK usage. You can learn more on robot simulation | + | That's it for now. This was a brief introduction to RoboDK usage(({{ ::clil.zip |here}} you can download the project we just created)). You can learn more on robot simulation from the Resources section of [[https:// |
robodk.1684876066.txt.gz · Ultima modifica: 2023/05/23 21:07 da admin