# Robot 6-Axe

This page is a translated version of the page Robot 6-Axis and the translation is 100% complete.

Other languages:
čeština • ‎Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎română • ‎русский • ‎svenska • ‎Türkçe

Topic
Robot Workbench
Level
Intermediate
Time to complete
Unknown
Author
Example File(s)

## Contents

Acest articol este despre aducerea unui robot standard cu 6 axe în FreeCAD pentru simulare

Descrierea urmează Denavit-Hartenberg Parameter sistemul este de asemenea descris de către John J. Craigs în cartea "Introduction to Robotics".

## Examplul Kuka

### Kinematic

3D applications
Segment Parameter Description
Base konfiguration

$\theta_{1} = q_{1}$

$d_{1} = 675 mm$

$a_{1} = 260 mm$

$\alpha_{1} = −90$°

Segment 1

$\theta_{2} = q_{2} - 90$°

$d_{2} = 0 mm$

$a_{2} = 680 mm$

$\alpha_{2} = 0$°

Segment 2

$\theta_{3} = q_{3}$

$d_{3} = 0 mm$

$a_{3} = 0 mm$

$\alpha_{3} = 90$°

Segment 3

$\theta_{4} = q_{4}$

$d_{4} = -670 mm$

$a_{4} = 0 mm$

$\alpha_{4} = -90$°

Segment 4

$\theta_{5} = q_{5}$

$d_{5} = 0 mm$

$a_{5} = 0 mm$

$\alpha_{5} = 90$°

Segment 5

$\theta_{6} = q_{6}$

$d_{6} = 0 mm$

$a_{6} = -158 mm$

$\alpha_{6} = 180$°

Segment 6

Kinematik table
$i$ $\theta$ $d$ $a$ $\alpha$
1 q1 675 mm 260 mm -90°
2 q2 - 90° 0 mm 680 mm
3 q3 0 mm 0 mm 90°
4 q4 -670 mm 0 mm -90°
5 q5 0 mm 0 mm 90°
6 q6 -158 mm 0 mm 180°

Since the Kuka robots do not have all axis to 0 in the drawn L-Position, we have to change axis 2 & 3 by 90°.

Kinematik table
$i$ $\theta$ $d$ $a$ $\alpha$
1 q1 675 mm 260 mm -90°
2 q2 0 mm 680 mm
3 q3 - 90° 0 mm 0 mm 90°
4 q4 -670 mm 0 mm -90°
5 q5 0 mm 0 mm 90°
6 q6 -158 mm 0 mm 180°

That leads to this complete table:

Kinematik table
$i$ $\theta$ $d$ $a$ $\alpha$ $\theta_{min}$ $\theta_{max}$ Axis Speed
1 0 675 260 -90 -185 185 156
2 0 0 680 0 -155 35 156
3 - 90 0 0 90 -130 154 156
4 0 -670 0 -90 -350 350 330
5 0 0 0 90 -130 130 330
6 0 -158 0 180 -350 350 615

### Visual representation

FreeCAD poate genera o vizualizare exagerată din tabelul cinematic. Dar dacă doriți mai aproape de realitate, puteți folosi un fișier VRML cu forma robotului pentru simulare. De exemplu. Kuka furnizează pentru fișierele sale VRML. Fișierul VRML se încarcă în timpul creării robotului specific în FreeCAD. Pentru ca FreeCAD să poată muta axa trebuie să editați fișierul VRML și să inserați noduri de transformare speciale pe care FreeCAD le poate găsi și manipula.

Again shown by the example Kuka KR 16. Beginning from line 1:

#VRML V2.0 utf8
#
# This VRML97 file was exported using eM-Workplace
# (c) Tecnomatix Technologies GmbH & Co. KG
#     Heisenberg-Bogen 1
#     D-85609 Aschheim-Dornach
#     GERMANY
#
#Background
#{
#   skyColor   [0.752941 0.752941 0.752941]
#}
Transform
{
#rotation 1 0 0 -1.5707963
#scale .001 .001 .001
children
[
DEF AOBJ_0001_000_TRAFO Transform
{
children
[
...


Vedeți că acest fișier este exportat cu un software de simulare robot numit Tecnomatix. Eliminați această notificare și introduceți o adresă URL de unde primiți acest fișier, deoarece Tecnomatix nu are drepturi de autor asupra conținutului fișierului. Este doar un convertor! Mai întâi eliminăm nodul 'Background' .Then remove the rotation and scale node to get the model to mm and upright Z.

Right at the end:

  ] }
] }
] }
]
}
#ROUTE SENS_04_OBJ.rotation_changed TO AXIS_04_OBJ.rotation
#ROUTE SENS_27_OBJ.rotation_changed TO AXIS_27_OBJ.rotation
#ROUTE SENS_32_OBJ.rotation_changed TO AXIS_32_OBJ.rotation
#ROUTE SENS_44_OBJ.rotation_changed TO AXIS_44_OBJ.rotation
#ROUTE SENS_46_OBJ.rotation_changed TO AXIS_46_OBJ.rotation
#ROUTE SENS_49_OBJ.rotation_changed TO AXIS_49_OBJ.rotation
#DEF AnySIMTimer TimeSensor
#{
#   cycleInterval 1.000000
#   loop          TRUE
#}


Comentează TimeSensor și cele 6 rute. Aceste 6 linii vă oferă un indiciu în care axa reală a robotului este! Prima căutare pentru "AXIS_04_OBJ" care te aduce în acel loc:

...
Transform { rotation 1 0 0 1.570796 children [
DEF SENS_04_OBJ-0001 CylinderSensor
{
diskAngle 1.570796
minAngle  -3.228859
maxAngle  3.228859
offset    0.000000
}
DEF FREECAD_AXIS1 Transform { rotation 0 1 0 0 children [
DEF AXIS_04_OBJ-0001 Transform
{
children
[
Transform { rotation 1 0 0 -1.570796 children [
DEF AOBJ_0001_003_TRAFO Transform
{
rotation 1.000000 0.000000 0.000000 3.141593
translation -600.000000 500.000000 300.000000
children
[
...


Trebuie să introduceți exact deasupra definiției acestui nod linia "DEF FREECAD_AXIS1 Transform { rotation 0 1 0 0 children [" care este ancora pentru FreeCAD pentru a muta axa.

You can load the VRML by instantiating the robot:

App.activeDocument().addObject("Robot::RobotObject","Robot")


which should give you that result:

### KR 210

Kinematik table
$i$ $\theta$ $d$ $a$ $\alpha$ $\theta_{min}$ $\theta_{max}$ Axis Speed
1 0 750 350 -90 -185 185 156
2 0 0 1250 0 -155 35 156
3 - 90 0 0 90 -130 154 156
4 0 -1100 0 -90 -350 350 330
5 0 0 0 90 -130 130 330
6 0 -230 0 180 -350 350 615

### KR 500

Kinematik table
$i$ $\theta$ $d$ $a$ $\alpha$ $\theta_{min}$ $\theta_{max}$ Axis Speed
1 0 1045 500 -90 -185 185 156
2 0 0 1300 0 -155 35 156
3 - 90 0 0 90 -130 154 156
4 0 -1025 0 -90 -350 350 330
5 0 0 0 90 -130 130 330
6 0 -250 0 180 -350 350 615