Você comanda o chão de um armazém onde cerca de 24 robôs móveis autônomos (AMRs) levam caixas dos corredores de estoque até quatro células de embalagem com cobôs. Cada pedido é uma viagem de 240 m — 200 m por corredores só de robôs, 40 m pela área compartilhada onde pessoas trabalham — e uma separação em uma célula. O modelo calcula minuto a minuto filas, congestionamento, deadlocks, distâncias de parada, energia das baterias e potência dos carregadores, e o efeito das versões de software nas paradas, com base em normas publicadas e fórmulas de livros-texto. É um modelo de princípios de operação: não roda software de robôs, e os números são genéricos, não de algum produto. Simulação apenas educacional — locais reais seguem a sua própria avaliação de riscos.
O que vai aprender
Por que muitas vezes os carregadores, e não os robôs, são o gargalo — e como o carregamento oportunista e carregar só até a fase de corrente constante acumulam energia antes de um pico.
Como os deadlocks se formam nos cruzamentos, por que reservar as zonas à frente antes de entrar os evita e por que um robô nunca deve andar mais rápido do que o seu campo de segurança consegue pará-lo onde há pessoas.
Como uma implantação canário compara alguns robôs atualizados com o restante da frota, quando reverter e por que as atualizações saem em ondas.
Simulador
Tempo 0 min
▶Andando com uma tarefa
⚙Em uma célula de cobô
⇥Esperando uma célula
·Ocioso
⚡Carregando
⌛Esperando um carregador
↻Atualizando software
!Parado (link ou localização)
⛔Preso em deadlock
∅Sem carga, rebocado
✓Zona sem pessoas
⚠Pessoas na zona, velocidade dentro do campo
⛔Rápido demais para o campo onde há pessoas
☺Pessoa em uma célula de cobô
✕Carregador fora de operação
Controles
Robôs reserva são ativados no depósito; robôs estacionados não consomem energia. Cada robô em operação custa uma hora-robô por hora.
A zona A é fechada para pessoas, então os robôs podem andar rápido. Se pessoas entrarem, a velocidade precisa voltar a caber no campo de detecção de pessoas.
Aqui sempre há pessoas trabalhando. A distância de parada nesta velocidade precisa caber dentro do campo de detecção de pessoas de 1,3 m.
Livre: os robôs só desviam uns dos outros localmente — rápido, mas dois ou mais podem se bloquear de vez. Reserva de zona: um robô só entra em um cruzamento depois que as zonas à frente dele estão reservadas para ele — sem deadlocks, uma espera curta em cada cruzamento.
Libera agora todos os robôs em deadlock. Custa 2 minutos de operador por robô liberado; não impede que novos deadlocks se formem.
Um robô que termina uma tarefa com esta carga ou menos entra na fila do carregador. Um valor menor aproveita mais a bateria, mas um robô que espera demais pode ficar sem carga.
Os carregadores entregam potência total até cerca de 70 %; acima disso a corrente vai caindo. Parar mais cedo libera o carregador antes.
Robôs sem tarefa vão para qualquer carregador livre em vez de esperar parados, e voltam ao trabalho assim que houver pedidos esperando e estiverem 20 % acima do nível de envio para carga.
Velocidade da ferramenta enquanto ninguém está dentro da célula. Uma caixa de 10 itens leva 25 s a 1 m/s.
Limitação de potência e força: uma mão presa contra uma caixa não pode sentir mais de 140 N (o limite quase estático, usado de forma conservadora), o que permite no máximo 0,67 m/s aqui.
Mover o controle deslizante instala a build publicada mais nova nessa parcela da frota (os primeiros robôs, em ordem); o restante roda a v1. Uma build publicada depois só é instalada quando você move o controle de novo. Cada robô que troca de versão fica fora de operação por 4 minutos.
Indicadores
Caixas embaladas
360/h
normal
Tempo de atendimento do pedido
0,0min
normal
Robôs disponíveis
100%
normal
Margem de parada onde há pessoas
0,27m
normal
Pedidos em espera
0
Margem de velocidade do cobô (limite de potência e força)
0,17 m/s
Carga média da bateria
67 %
Menor carga de bateria
42 %
Robôs esperando carregador
0
Robôs carregando
0
Robôs sem carga (rebocados)
0
Robôs presos em deadlocks
0
Deadlocks formados
0
Paradas de navegação (link ou localização)
0
Paradas por hora-robô, build mais nova
0,0 /h
Paradas por hora-robô, restante da frota
0,0 /h
Frota na build mais nova
0 %
Frota na v2.0
0 %
Robôs atualizando
0
Velocidade ajustada na zona A
1,5 m/s
Tempo de operador gasto com robôs
0 min
Horas-robô usadas
0 h
Robôs em operação
24
Robôs andando
0
Velocidade real na zona A
1,50 m/s
Espera por travessia de cruzamento
0,0 s
Consumo de potência da frota
0,00 kW
Potência de carga entregue
0,00 kW
Células de cobô ocupadas
0 %
Tendência
Cenários de crise
Nível 1 · Metade dos carregadores falha antes do pico de pedidos
Turno da manhã, 24 robôs em operação, cerca de 3,7 pedidos por minuto. Depois de uma noite movimentada, a frota começa o turno com 60 % de carga em média. No minuto 15 uma falha elétrica tira quatro dos seis carregadores de operação pelo resto do turno. No minuto 90 começa o pico de pedidos (+25 % por duas horas). Mantenha os pedidos fluindo, entre no pico com a frota carregada, não deixe nenhum robô ficar sem carga e fique dentro do orçamento de robôs do turno.
Tempo médio de atendimento durante e após o pico ≤ 3,5 min
Frota com pelo menos 49 % de carga média quando o pico começar
Nenhum robô fica sem carga
No máximo 97 horas-robô no turno
Distância de parada sempre dentro do campo onde há pessoas
Cobô nunca mais rápido que o limite de potência e força com uma pessoa dentro
Nível 2 · Um corredor fecha, os robôs travam e uma equipe entra na zona A
Cerca de 4,2 pedidos por minuto, 24 robôs, controle de tráfego em circulação livre. No minuto 10 um corredor é fechado para reorganização das estantes: menos cruzamentos, mais encontros de frente e nenhum desvio. No minuto 60 uma equipe de manutenção entra na zona A, só de robôs, por 40 minutos. Mantenha os pedidos andando com pouco tempo de operador, mantenha toda distância de parada dentro do campo de segurança onde há pessoas e volte a rodar a zona A em velocidade máxima assim que ela estiver livre.
Tempo médio de atendimento ≤ 6 min
Zona A de volta a ≥ 1,4 m/s em média depois que a equipe sair
No máximo 1 deadlock formado
No máximo 20 minutos de operador com robôs
Distância de parada sempre dentro do campo onde há pessoas
Cobô nunca mais rápido que o limite de potência e força com uma pessoa dentro
Nível 3 · Implantação canário de um novo software de navegação
Os corredores foram reorganizados ontem à noite, e os robôs com o software atual (v1) perdem a posição ali com mais frequência; cada perda exige um operador. A versão v2.0 corrige isso e já roda em 10 % da frota como canário. Dê ao canário tempo suficiente para avaliá-lo, compare-o com o restante da frota, decida se amplia ou reverte, e leve a frota para uma build boa — em etapas, sem tirar robôs demais de operação ao mesmo tempo.
Canário mantido rodando nos primeiros 12 minutos (≥ 5 % da frota na v2.0)
Fora da v2.0 com defeito do minuto 30 ao 49 (≤ 1 % da frota nela, em média)
Hotfix em no máximo 20 % da frota nos seus primeiros 10 minutos
Hotfix implantado rápido: em média ≥ 55 % da frota nele após a publicação
Pelo menos 90 % da frota na build mais nova no final
Pelo menos 60 % dos robôs disponíveis o tempo todo
Distância de parada sempre dentro do campo onde há pessoas
Cobô nunca mais rápido que o limite de potência e força com uma pessoa dentro
Base — o modelo por trás dos números
Todas as relações que o simulador usa, com a respetiva fonte. As constantes marcadas como pressupostos são calibrações ilustrativas.
Lei de Little: todos os pedidos ainda não embalados — em espera ou já em um robô — divididos pela taxa em que as caixas são de fato embaladas dão o tempo de atendimento.
lead time W = L / X, L = orders waiting + orders on a robot, X = totes packed per minute (smoothed, τ = 10 min)[5]
A velocidade cai à medida que mais robôs dividem os corredores (relação linear velocidade–densidade de Greenshields).
v_eff = v · max(0.1, 1 − n_moving / N_jam), N_jam = 120 robots (80 with an aisle closed)[7][9]Valores ilustrativos, não de um local ou produto real. Locais reais definem campos, velocidades e limites a partir da sua própria avaliação de riscos e dos dados do fabricante.
Sem reserva, dois robôs podem esperar cada um pelo espaço que o outro ocupa — uma espera circular. Os encontros crescem com o quadrado do número de robôs andando.
free traffic: P(new deadlock in a minute) = 1 − e^(−κ·n_moving²/n_I), κ = 0.00001 (× 300 with an aisle closed, n_I = 6 → 4); a robot behind joins with p = 0.5 (≤ 8); the fleet manager re-plans with p = 0.2/min (0.03/min with no detour)[8][10]Valores ilustrativos, não de um local ou produto real. Locais reais definem campos, velocidades e limites a partir da sua própria avaliação de riscos e dos dados do fabricante.
Reserva de zona: um robô só entra quando as zonas à frente dele estão reservadas para ele (todas de uma vez, em uma ordem fixa), o que elimina a espera circular; cada cruzamento passa a se comportar como uma fila de servidor único com tempo de travessia fixo.
zone reservation: a robot enters only when the zones ahead are granted to it → no circular wait; each crossing W = ρτ / (2(1 − ρ)), ρ = λ_I·τ, τ = 2 s, 6 crossings per task[8][6][9]Valores ilustrativos, não de um local ou produto real. Locais reais definem campos, velocidades e limites a partir da sua própria avaliação de riscos e dos dados do fabricante.
Onde pode haver pessoas, a distância de parada — percurso de reação mais frenagem — precisa caber dentro do campo de detecção de pessoas.
d_stop = v·t_r + v²/(2a) + C ≤ F (t_r = 0.3 s, a = 0.8 m/s², C = 0.1 m, F = 1.3 m ⇒ v ≤ 1.17 m/s where people can be)[1][2]Valores ilustrativos, não de um local ou produto real. Locais reais definem campos, velocidades e limites a partir da sua própria avaliação de riscos e dos dados do fabricante.
Limitação de potência e força: a maior velocidade em que um contato com a mão fica abaixo da força permitida, calculada a partir da massa reduzida da mão e do robô e da rigidez da mão. O limite quase estático é usado mesmo para contatos breves, o que é conservador.
v ≤ F / √(μ·k), μ = (1/m_H + 1/m_R)⁻¹, m_R = M/2 + m_L; hand: F = 140 N (quasi-static limit, used conservatively), k = 75 N/mm, m_H = 0.6 kg; M = 24 kg, m_L = 3 kg ⇒ v ≤ 0.67 m/s[3][4]Valores ilustrativos, não de um local ou produto real. Locais reais definem campos, velocidades e limites a partir da sua própria avaliação de riscos e dos dados do fabricante.
Uma caixa leva o tempo de pega mais dois alcances por item; com uma pessoa dentro, o cobô trabalha na velocidade colaborativa. Os robôs são atendidos na ordem em que chegam às células, segundo a segundo dentro de cada minuto.
tote time = 10 items × (1.5 s + 2 × 0.5 m / v_cobot); v_cobot = collaborative speed while a person is in the cell; 4 cells, served in order of arrival within the minute[3]Valores ilustrativos, não de um local ou produto real. Locais reais definem campos, velocidades e limites a partir da sua própria avaliação de riscos e dos dados do fabricante.
Potência de deslocamento: uma carga fixa da eletrônica, a resistência ao rolamento e a energia de frenagem perdida a cada para e anda.
P = 60 W + C_rr·m·g·v/η + 0.03/m · v · ½mv²·(1 − r)/η (C_rr = 0.012, m = 500 kg, η = 0.75, r = 0.5)[12]Valores ilustrativos, não de um local ou produto real. Locais reais definem campos, velocidades e limites a partir da sua própria avaliação de riscos e dos dados do fabricante.
Os carregadores entregam potência total até cerca de 70 % de carga, depois a corrente vai caindo (corrente constante, depois tensão constante).
P_charge = 0.8 kW up to 70 % SoC, then × (1 − 0.9·(SoC − 70)/30); battery 0.8 kWh; stranded at 1 %[11][10]Valores ilustrativos, não de um local ou produto real. Locais reais definem campos, velocidades e limites a partir da sua própria avaliação de riscos e dos dados do fabricante.
Um robô para quando o link com o gerenciador de frota fica em silêncio por mais tempo que o seu watchdog; um watchdog mais curto pega muito mais falhas curtas de Wi-Fi.
P(link silent > W in a robot-minute) = 0.224·e^(−W/0.1 s); watchdog W: v1 0.5 s, v2.0 0.15 s, v2.1 0.5 s; stop 2 min[13]Valores ilustrativos, não de um local ou produto real. Locais reais definem campos, velocidades e limites a partir da sua própria avaliação de riscos e dos dados do fabricante.
Comparação canário: paradas por hora-robô dos robôs na build mais nova contra o restante da frota.
stops per robot-hour, canary vs control: 60·stops / robots (smoothed τ = 10 min); update or rollback = 4 min out of service[13]
Outras constantes deste modelo
task 200 m in zone A + 40 m in the shared area · 6 intersections · 4 cobot cells, a person inside 25 % of minutes · 6 chargers · shift-start charge stratified over mean ± 27.5 % · v1 mislocalises 0.6 % per driving minute in re-racked aisles (others 0.04 %), 6-min stop + 3 operator-min · clearing a deadlock 2 operator-min per robot · tow 15 operator-minValores ilustrativos, não de um local ou produto real. Locais reais definem campos, velocidades e limites a partir da sua própria avaliação de riscos e dos dados do fabricante.
Aleatoriedade: um gerador mulberry32 com semente; distribuições usadas — uniforme, exponencial (inversa da CDF), normal (Box–Muller), Poisson (Knuth). A semente é apresentada e compartilhável.
M. Harchol-Balter — Performance Modeling and Design of Computer Systems (M/G/1 Pollaczek–Khinchine mean wait; M/D/1) — Cambridge University Press, 2013
B. D. Greenshields — A Study of Traffic Capacity (linear speed–density relation) — Highway Research Board Proceedings 14:448–477, 1935