7. Casos de FRCap
7.1. FAIRINO Palletizer (Empilhador)
Após fazer o upload, registrar e ativar o arquivo «Palletizer.plugin» (Empilhador) localizado na pasta build do projeto no WebApp, ele estará pronto para uso.
Figura 7.1 Uso do FRCap de Empilhamento
7.1.1. Configuração da Peça para Empilhamento
Nome da instrução: palletizing_config_box.
Parâmetros da instrução:
1/**
2* @param int length Comprimento da peça
3* @param int width Largura da peça
4* @param int height Altura da peça
5* @param int payload Carga da peça
6* @param string grip_point Ponto de agarramento da peça
7* /
Exemplo da instrução:
1{
2 cmd: "palletizing_config_box",
3 data: {
4 length: 800,
5 width: 615,
6 height: 312,
7 payload: 2.34,
8 grip_point: "grippoint"
9 }
10}
Retorno da instrução:
1/**
2* @return status:200 "success"
3* @return status:404 "fail"
4*/
7.1.2. Configuração do Palete para Empilhamento
Nome da instrução: palletizing_config_pallet.
Parâmetros da instrução:
1/**
2* @param int front Frente do palete
3* @param int side Lateral do palete
4* @param int height Altura do palete
5* @param int left_pallet Habilitar palete esquerdo
6* @param int right_pallet Habilitar palete direito
7*/
Exemplo da instrução:
1{
2 cmd: "palletizing_config_pallet",
3 data: {
4 front: 1200,
5 side: 1000,
6 height: 110,
7 left_pallet: 0,
8 right_pallet: 1
9 }
10}
Retorno da instrução:
1/**
2* @return status:200 "success"
3* @return status:404 "fail"
4*/
7.1.3. Configuração Avançada para Empilhamento
Nome da instrução: palletizing_advanced_cfg.
Parâmetros da instrução:
1/**
2* @param string height Altura de elevação do ponto de agarramento do empilhamento
3* @param string x1 Ponto de aproximação 1 do empilhamento: deslocamento na direção x, unidade mm
4* @param string y1 Ponto de aproximação 1 do empilhamento: deslocamento na direção y, unidade mm
5* @param string z1 Ponto de aproximação 1 do empilhamento: deslocamento na direção z, unidade mm
6* @param string x2 Ponto de aproximação 2 do empilhamento: deslocamento na direção x, unidade mm
7* @param string y2 Ponto de aproximação 2 do empilhamento: deslocamento na direção y, unidade mm
8* @param string z2 Ponto de aproximação 2 do empilhamento: deslocamento na direção z, unidade mm
9* @param string time Tempo de espera para sucção, unidade ms
10*/
Exemplo da instrução:
1{
2 cmd: "palletizing_advanced_cfg",
3 data: {
4 height: "1000",
5 x1: "100",
6 y1: "100",
7 z1: "100",
8 x2: "10",
9 y2: "10",
10 z2: "10",
11 time: "1"
12 }
13}
Retorno da instrução:
1/**
2* @return status:200 "success"
3* @return status:404 "fail"
4*/
7.1.4. Configuração das Dimensões do Equipamento de Empilhamento
Nome da instrução: palletizing_config_device.
Parâmetros da instrução:
1/**
2* @param int x Valor absoluto na direção x do ponto do canto superior direito do palete esquerdo em relação ao sistema de coordenadas base do robô
3* @param int y Valor absoluto na direção y do ponto do canto superior direito do palete esquerdo em relação ao sistema de coordenadas base do robô
4* @param int z Valor absoluto na direção z do ponto do canto superior direito do palete esquerdo em relação ao sistema de coordenadas base do robô
5* @param int angle Ângulo de rotação durante a instalação do robô
6*/
Exemplo da instrução:
1{
2 cmd: "palletizing_config_device",
3 data: {
4 x: 2400,
5 y: 1800,
6 z: 120,
7 angle: 0
8 }
9}
Retorno da instrução:
1/**
2* @return status:200 "success"
3* @return status:404 "fail"
4*/
7.1.5. Configuração do Padrão de Empilhamento
Nome da instrução: palletizing_config_pattern.
Parâmetros da instrução:
1/**
2* @param int layers Número de camadas do empilhamento
3* @param int box_gap Espaçamento entre os pontos da peça, unidade: mm
4* @param string sequence Sequência do modo de trabalho do empilhamento
5* @param int pattern_b_enable Se o padrão b está ativado, 1: ativado, 0: desativado
6* @param string left_pattern_a Coordenadas cartesianas do padrão a para o posto esquerdo
7* @param string left_pattern_b Coordenadas cartesianas do padrão b para o posto esquerdo
8* @param string right_pattern_a Coordenadas cartesianas do padrão a para o posto direito
9* @param string right_pattern_b Coordenadas cartesianas do padrão b para o posto direito
10* @param string origin_pattern_a Coordenadas cartesianas do padrão a inicial
11* @param string origin_pattern_b Coordenadas cartesianas do padrão b inicial
12*/
Exemplo da instrução:
1{
2 cmd: "palletizing_config_pattern",
3 data: {
4 layers: 8,
5 box_gap: 0,
6 sequence: "a,b,a,b,a,b,a,b",
7 pattern_b_enable: 1,
8 left_pattern_a: "{\"1\": [[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3]]}",
9 "left_pattern_b": "{\"1\": [[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3]]}",
10 "right_pattern_a": "{\"1\": [[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3]]}",
11 "right_pattern_b": "{\"1\": [[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3]]}",
12 "origin_pattern_a": "[]",
13 "origin_pattern_b": "[]"
14 }
15}
Retorno da instrução:
1/**
2* @return status:200 "success"
3* @return status:404 "fail"
4*/
7.1.6. Geração do Programa de Empilhamento
Nome da instrução: generate_palletizing_program.
Parâmetros da instrução:
1/**
2* @param string palletizing_name Nome do empilhamento
3* @param string depalletizing_name Nome do desempilhamento
4* @param string flag Se o programa de empilhamento ou desempilhamento será gerado, 0-não gerar, 1-gerar
5*/
Exemplo da instrução:
1{
2 cmd: "generate_palletizing_program",
3 data: {
4 palletizing_name: "palletizing_1",
5 depalletizing_name:"depalletizing_1",
6 flag:"[0,1]"
7 }
8}
Retorno da instrução:
1/**
2* @return status:200 "success"
3* @return status:404 "fail"
4*/
7.1.7. Obter Receita de Empilhamento
Nome da instrução: get_palletizing_formula.
Parâmetros da instrução:
1/**
2* @param string name Nome da receita de empilhamento
3*/
Exemplo da instrução:
1{
2 cmd: "get_palletizing_formula",
3 data: {
4 name: "palletizing_1"
5 }
6}
Retorno da instrução:
1/**
2* @return status:200
3* @param object box_config Configuração da peça
4* @param object pallet_config Configuração do palete
5* @param object device_config Posição do equipamento instalado
6* @param object pattern_config Configuração do padrão
7* @param object program_config Configuração da geração do programa
8* @param object lefttransitionpoint Coordenadas cartesianas do ponto de transição esquerdo
9* @param object righttransitionpoint Coordenadas cartesianas do ponto de transição direito
10* @param object advanced_config Configuração avançada
11* @return status:404 "fail"
12*/
Exemplo de retorno da instrução:
1{
2 "box_config": {
3 "flag": 1,
4 "length": 200,
5 "width": 400,
6 "height": 300,
7 "payload": 2.34,
8 "grip_point": "grippoint"
9 },
10 "pallet_config": {
11 "flag": 1,
12 "front": 1000,
13 "side": 1200,
14 "height": 110,
15 "left_pallet": 0,
16 "right_pallet": 1
17 },
18 "device_config": {
19 "flag": 1,
20 "x": 2400,
21 "y": 1800,
22 "z": 120,
23 "angle": 0
24 },
25 "pattern_config": {
26 "flag": 1,
27 "layers": 8,
28 "box_gap": 0,
29 "sequence": "a,b,a,b,a,b,a,b",
30 "pattern_b_enable": 1,
31 "left_pattern_a": "{\"1\": [[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3]]}",
32 "left_pattern_b": "{\"1\": [[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3]]}",
33 "right_pattern_a": "{\"1\": [[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3]]}",
34 "right_pattern_b": "{\"1\": [[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3],[1,2,3,0.1,0.2,0.3]]}",
35 "origin_pattern_a": "[]",
36 "origin_pattern_b": "[]"
37 },
38 "program_config": {
39 "palletizing_name": "palletizing_1",
40 "depalletizing_name":"depalletizing_1",
41 "flag":"[0,1]"
42 },
43 "lefttransitionpoint":{
44 "j1":"120",
45 "j2":"120",
46 "j3":"120",
47 "j4":"120",
48 "j5":"120",
49 "j6":"120"
50 },
51 "righttransitionpoint":{
52 "j1":"120",
53 "j2":"120",
54 "j3":"120",
55 "j4":"120",
56 "j5":"120",
57 "j6":"120"
58 },
59 "advanced_config":{
60 "height": "1000",
61 "x1": "100",
62 "y1": "100",
63 "z1": "100",
64 "x2": "10",
65 "y2": "10",
66 "z2": "10",
67 "time": "1"
68 }
69}
7.1.8. Obter Lista de Nomes de Receitas de Empilhamento Existentes
Nome da instrução: get_palletizing_formula_list.
Parâmetros da instrução: Nenhum.
Exemplo da instrução:
1{
2 cmd: "get_palletizing_formula_list"
3}
Retorno da instrução:
1/**
2* @return status:200
3* @param Array ${name} Lista de nomes de empilhamentos
4* @return status:404 "fail"
5*/
Exemplo de retorno da instrução:
1["palletizing1"]