Robot 6-Axis/tr: Difference between revisions

From FreeCAD Documentation
(Created page with "=== Kinematik ===")
No edit summary
(34 intermediate revisions by the same user not shown)
Line 28: Line 28:


{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="5" cellspacing="0" border="1"
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="5" cellspacing="0" border="1"
|+ '''3D applications'''
|+ '''3D Uygulamalar'''
|-
|-
! Segment
! Bölüm
! Parametre
! Parameter
! Açıklama
! Description
|-
|-
| [[Image:KukaBase.jpg]]
| [[Image:KukaBase.jpg]]
||
||
|| Base konfiguration
|| Temel Yapılandırma
|-
|-
| [[Image:KukaSegment1.jpg]]
| [[Image:KukaSegment1.jpg]]
Line 48: Line 48:
<math>\alpha_{1} = −90</math>°
<math>\alpha_{1} = −90</math>°


|| Segment 1
|| Bölüm 1
|-
|-
| [[Image:KukaSegment2.jpg]]
| [[Image:KukaSegment2.jpg]]
Line 61: Line 61:
<math>\alpha_{2} = 0</math>°
<math>\alpha_{2} = 0</math>°


|| Segment 2
|| Bölüm 2
|-
|-
| [[Image:KukaSegment3.jpg]]
| [[Image:KukaSegment3.jpg]]
Line 74: Line 74:
<math>\alpha_{3} = 90</math>°
<math>\alpha_{3} = 90</math>°


|| Segment 3
|| Bölüm 3
|-
|-
| [[Image:KukaSegment4.jpg]]
| [[Image:KukaSegment4.jpg]]
Line 87: Line 87:
<math>\alpha_{4} = -90</math>°
<math>\alpha_{4} = -90</math>°


|| Segment 4
|| Bölüm 4
|-
|-
| [[Image:KukaSegment5.jpg]]
| [[Image:KukaSegment5.jpg]]
Line 100: Line 100:
<math>\alpha_{5} = 90</math>°
<math>\alpha_{5} = 90</math>°


|| Segment 5
|| Bölüm 5
|-
|-
| [[Image:KukaSegment6.jpg]]
| [[Image:KukaSegment6.jpg]]
Line 113: Line 113:
<math>\alpha_{6} = 180</math>°
<math>\alpha_{6} = 180</math>°


|| Segment 6
|| Bölüm 6
|}
|}


Bu, aşağıdaki tabloya yol açar:
This leads to following table:


{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="5" cellspacing="0" border="1"
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="5" cellspacing="0" border="1"
|+ '''Kinematik table'''
|+ '''Kinematik Tablo'''
|-
|-
! <math>i</math> !! <math>\theta</math> !! <math>d</math> !! <math>a</math> !! <math>\alpha</math>
! <math>i</math> !! <math>\theta</math> !! <math>d</math> !! <math>a</math> !! <math>\alpha</math>
Line 136: Line 136:
|}
|}


Kuka robotları, çizilen L-Konumunda tüm eksenleri 0'a sahip olmadığından, eksen 2 ve 3 ' ü, 90° değiştirmek zorundayız
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°.




{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="5" cellspacing="0" border="1"
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="5" cellspacing="0" border="1"
|+ '''Kinematik table'''
|+ '''Kinematik Tablo'''
|-
|-
! <math>i</math> !! <math>\theta</math> !! <math>d</math> !! <math>a</math> !! <math>\alpha</math>
! <math>i</math> !! <math>\theta</math> !! <math>d</math> !! <math>a</math> !! <math>\alpha</math>
Line 158: Line 157:
|}
|}


Veri sayfasında, eksen hakkında ek bilgi bulabilirsiniz:
In the data sheet we find additional information about the axis:


[[Image:KukaAxisData.jpg]]
[[Image:KukaAxisData.jpg]]


Bu, tam tabloya götürür:
That leads to this complete table:
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="5" cellspacing="0" border="1"
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="5" cellspacing="0" border="1"
|+ '''Kinematik table'''
|+ '''Kinematik Tablo'''
|-
|-
! <math>i</math> !! <math>\theta</math> !! <math>d</math> !! <math>a</math> !! <math>\alpha</math> !! <math>\theta_{min}</math> !! <math>\theta_{max}</math> !! Axis Speed
! <math>i</math> !! <math>\theta</math> !! <math>d</math> !! <math>a</math> !! <math>\alpha</math> !! <math>\theta_{min}</math> !! <math>\theta_{max}</math> !! Axis Speed
Line 181: Line 180:
|}
|}


=== Visual representation ===
=== Görsel gösterim ===


FreeCAD, kinematik tablodan kaba bir görsel üretebilir. Ancak gerçeğe daha yakın olmak istiyorsanız, simülasyon için robot şeklinde bir VRML dosyası kullanabilirsiniz. Örneğin. [http://kuka.com Kuka], model VRML dosyaları için sunar. FreeCAD'de belirli robotun oluşturulması sırasında VRML dosyası yüklenir. FreeCAD'in ekseni hareket ettirebilmesi için VRML dosyasını düzenlememiz ve FreeCAD'in bulabileceği ve üzerinde değişiklik yapabileceği özel dönüşüm düğümleri eklemeniz gerekir.
FreeCAD can generate a rough visual out of the kinematic table. But if you want closer to reality you can use a VRML file with the robot shape for the simulation.
E.g. [http://kuka.com Kuka] delivers for its model VRML files.
The VRML file gets loaded while the creation of the specific robot in FreeCAD. In order to allow FreeCAD to move the axis we have to edit the VRML file and insert special transformation nodes FreeCAD can find and manipulate.


Again shown by the example Kuka KR 16.
Yine örnek Kuka KR 16 ile gösterilmiştir.
1. satırdan başlayarak:
Beginning from line 1:


#VRML V2.0 utf8
#VRML V2.0 utf8
Line 213: Line 210:
[
[
...
...
Bu dosyanın Tecnomatix adında bir robot simülasyon yazılımı ile verildiğini görüyorsunuz. Bu bildirimi kaldırın ve bu dosyayı alacağınız bir URL'yi girin, çünkü Tecnomatix dosya içeriğinde telif hakkı yoktur. Bu sadece bir dönüştürücü! Öncelikle '''Arka Plan''' düğümünü kaldırıyoruz. Ardından, modeli mm ve dik Z'ye getirmek için '''dönme''' ve '''ölçek''' düğümünü kaldırın.
You see this file is exported with a robot simulation software called Tecnomatix. Remove this notice and put in a URL where you get this file from, because Tecnomatix has no copyright in the file content. It's only a converter! First of all we remove the '''Background''' node. Then remove the '''rotation''' and '''scale''' node to get the model to mm and upright Z.


Sonunda:
Right at the end:
] }
] }
] }
] }
Line 233: Line 230:
#}
#}


Comment out the '''TimeSensor''' and the 6 routes. This 6 lines give you a hint where the actual axis of the robot are! First search for "AXIS_04_OBJ" that brings you to that place:
'''TimeSensor''' ve 6 güzergahını yorumlayın. Bu 6 çizgi size robotun asıl ekseninin nerede olduğuna dair bir ipucu verir! Sizi o yere getiren "AXIS_04_OBJ" için ilk arama:
...
...
Transform { rotation 1 0 0 1.570796 children [
Transform { rotation 1 0 0 1.570796 children [
Line 256: Line 253:
[
[
...
...
You have to insert exactly above the definition of this node the line '''"DEF FREECAD_AXIS1 Transform { rotation 0 1 0 0 children ["''' which is the anchor for FreeCAD to move the axis.
Bu düğümün tanımının tam üstüne satır eklemek zorundasınız. '''"DEF FREECAD_AXIS1 Transform { rotation 0 1 0 0 children ["''' bu da FreeCAD'in ekseni hareket ettirmesi için bir çapa.


Now do the same for '''FREECAD_AXIS2''','''FREECAD_AXIS3''','''FREECAD_AXIS4''','''FREECAD_AXIS5''' and '''FREECAD_AXIS6'''.
Şimdi '''FREECAD_AXIS2''', ''' FREECAD_AXIS3 ''',''' FREECAD_AXIS4 ''',''' FREECAD_AXIS5 ''' ve ''' FREECAD_AXIS6 ''' için de aynısını yapın. Dosyanın sonundaki kapanış parantezlerini unutmayın, işte bitti!
Don't forget the closing brackets at the end of the file and you're done!


Robotu başlatarak VRML'yi yükleyebilirsiniz:
You can load the VRML by instantiating the robot:
App.activeDocument().addObject("Robot::RobotObject","Robot")
App.activeDocument().addObject("Robot::RobotObject","Robot")
App.activeDocument().Robot.RobotVrmlFile = "C:/_Projekte/FreeCAD0.9_build/mod/Robot/Lib/Kuka/kr16.wrl"
App.activeDocument().Robot.RobotVrmlFile = "C:/_Projekte/FreeCAD0.9_build/mod/Robot/Lib/Kuka/kr16.wrl"
size bu sonucu vermeli:
which should give you that result:
[[Image:KukaKR16FreeCAD.jpg]]
[[Image:KukaKR16FreeCAD.jpg]]


Line 272: Line 268:


{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="5" cellspacing="0" border="1"
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="5" cellspacing="0" border="1"
|+ '''Kinematik table'''
|+ '''Kinematik Tablo'''
|-
|-
! <math>i</math> !! <math>\theta</math> !! <math>d</math> !! <math>a</math> !! <math>\alpha</math> !! <math>\theta_{min}</math> !! <math>\theta_{max}</math> !! Axis Speed
! <math>i</math> !! <math>\theta</math> !! <math>d</math> !! <math>a</math> !! <math>\alpha</math> !! <math>\theta_{min}</math> !! <math>\theta_{max}</math> !! Axis Speed
Line 295: Line 291:


{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="5" cellspacing="0" border="1"
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="5" cellspacing="0" border="1"
|+ '''Kinematik table'''
|+ '''Kinematik Tablo'''
|-
|-
! <math>i</math> !! <math>\theta</math> !! <math>d</math> !! <math>a</math> !! <math>\alpha</math> !! <math>\theta_{min}</math> !! <math>\theta_{max}</math> !! Axis Speed
! <math>i</math> !! <math>\theta</math> !! <math>d</math> !! <math>a</math> !! <math>\alpha</math> !! <math>\theta_{min}</math> !! <math>\theta_{max}</math> !! Axis Speed

Revision as of 20:21, 24 January 2019

Kılavuz
Konu
Robot Tezgahı
Seviye
Orta düzey
Tamamlanma süresi
Bilinmiyor
Yazarlar
FreeCAD Sürümü
Örnek dosyalar
Ayrıca bakınız
None

Bu makale, standart 6 Eksenli endüstri robot simülasyonunu FreeCAD'e getirmekle ilgilidir.

John J. Craigs kitabında "Robotiğe Giriş" bölümünde de açıklandığı gibi Denavit-Hartenberg Parametre sistemini izlemektedir.

Kuka Örneği

The Kuka KR-16

Kinematik

3D Uygulamalar
Bölüm Parametre Açıklama
Temel Yapılandırma

Failed to parse (syntax error): {\displaystyle \alpha_{1} = −90} °

Bölüm 1

°

°

Bölüm 2

°

Bölüm 3

°

Bölüm 4

°

Bölüm 5

°

Bölüm 6

Bu, aşağıdaki tabloya yol açar:

Kinematik Tablo
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°

Kuka robotları, çizilen L-Konumunda tüm eksenleri 0'a sahip olmadığından, eksen 2 ve 3 ' ü, 90° değiştirmek zorundayız


Kinematik Tablo
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°

Veri sayfasında, eksen hakkında ek bilgi bulabilirsiniz:

Bu, tam tabloya götürür:

Kinematik Tablo
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

Görsel gösterim

FreeCAD, kinematik tablodan kaba bir görsel üretebilir. Ancak gerçeğe daha yakın olmak istiyorsanız, simülasyon için robot şeklinde bir VRML dosyası kullanabilirsiniz. Örneğin. Kuka, model VRML dosyaları için sunar. FreeCAD'de belirli robotun oluşturulması sırasında VRML dosyası yüklenir. FreeCAD'in ekseni hareket ettirebilmesi için VRML dosyasını düzenlememiz ve FreeCAD'in bulabileceği ve üzerinde değişiklik yapabileceği özel dönüşüm düğümleri eklemeniz gerekir.

Yine örnek Kuka KR 16 ile gösterilmiştir. 1. satırdan başlayarak:

#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
              [
...

Bu dosyanın Tecnomatix adında bir robot simülasyon yazılımı ile verildiğini görüyorsunuz. Bu bildirimi kaldırın ve bu dosyayı alacağınız bir URL'yi girin, çünkü Tecnomatix dosya içeriğinde telif hakkı yoktur. Bu sadece bir dönüştürücü! Öncelikle Arka Plan düğümünü kaldırıyoruz. Ardından, modeli mm ve dik Z'ye getirmek için dönme ve ölçek düğümünü kaldırın.

Sonunda:

  ] }
  ] }
  ] }
  ]
}
#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
#}

TimeSensor ve 6 güzergahını yorumlayın. Bu 6 çizgi size robotun asıl ekseninin nerede olduğuna dair bir ipucu verir! Sizi o yere getiren "AXIS_04_OBJ" için ilk arama:

...
    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
              [
...

Bu düğümün tanımının tam üstüne satır eklemek zorundasınız. "DEF FREECAD_AXIS1 Transform { rotation 0 1 0 0 children [" bu da FreeCAD'in ekseni hareket ettirmesi için bir çapa.

Şimdi FREECAD_AXIS2, FREECAD_AXIS3 , FREECAD_AXIS4 , FREECAD_AXIS5 ve FREECAD_AXIS6 için de aynısını yapın. Dosyanın sonundaki kapanış parantezlerini unutmayın, işte bitti!

Robotu başlatarak VRML'yi yükleyebilirsiniz:

App.activeDocument().addObject("Robot::RobotObject","Robot")
App.activeDocument().Robot.RobotVrmlFile = "C:/_Projekte/FreeCAD0.9_build/mod/Robot/Lib/Kuka/kr16.wrl"

size bu sonucu vermeli:

KR 210

Data sheet

Kinematik Tablo
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

Data sheet

Kinematik Tablo
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