O teste da Uber em Manchester ainda não é um serviço de robotáxi: é uma etapa de mapeamento e validação, com um condutor de segurança e sem passageiros. Essa distinção importa. Para quem desenvolve software, o desafio não é apenas fazer um carro seguir uma rota; é construir um sistema capaz de operar com previsibilidade em ruas reais, detectar situações fora do esperado e falhar de forma segura.
Segundo o Sapo.pt, os veículos estão a ser testados com tecnologia das parceiras Pony e Verne. As empresas também colaboram com a Uber em Zagreb, onde foi lançado um serviço de táxis autónomos. Em Manchester, porém, não havia um pedido formal para transportar passageiros sem condutor: a Transport for Greater Manchester confirmou que não recebeu esse pedido.
O que os testes de veículos autónomos em Manchester realmente significam
Nesta fase, os carros percorrem as ruas para mapear a cidade. Um condutor de segurança permanece ao volante, e não há passageiros a bordo. A Uber descreve a iniciativa como um primeiro passo para tornar a tecnologia acessível em outras cidades do Reino Unido; isso não equivale a uma data de lançamento nem a uma autorização para operar robotáxis.
Mapear uma cidade é mais do que guardar coordenadas num ficheiro. Um veículo autónomo precisa relacionar os dados dos sensores com o ambiente: posição na faixa, cruzamentos, semáforos, sinalização e elementos que podem mudar, como obras ou carros estacionados. A qualidade e a atualidade desse mapa influenciam a capacidade do sistema de localizar o veículo e planear uma rota.
Mesmo assim, o mapa não substitui a perceção em tempo real. Câmaras, radares e outros sensores podem detetar objetos e condições que não estavam registados. O sistema combina essas leituras com localização e planeamento para decidir como prosseguir. Não há informação no anúncio que permita afirmar quais sensores, algoritmos ou arquitetura específica estão a ser usados nos testes de Manchester.
Como um robotáxi transforma sensores em decisões
Uma forma útil de pensar na arquitetura é separá-la em etapas. Primeiro, os sensores recolhem dados. Depois, o sistema estima a localização e interpreta o que está à volta: veículos, peões, ciclistas, sinais e limites da via. A seguir, planeia uma trajetória e envia comandos ao veículo. Essa divisão facilita testes e diagnóstico, mas não elimina as dependências entre componentes.
Por exemplo, um erro de localização pode fazer o planeador acreditar que o carro está numa faixa diferente. Um objeto mal classificado pode levar a uma previsão incorreta do movimento de um ciclista. Por isso, não basta testar cada módulo isoladamente: também é preciso validar o comportamento do sistema integrado em diferentes condições e monitorizar o que acontece durante a operação.
Há ainda uma camada de operação que costuma ficar fora das demonstrações técnicas: gestão da frota, estado dos veículos, assistência remota, atualização de mapas, registo de incidentes e encaminhamento de pedidos. Um robotáxi precisa funcionar como produto e serviço, não apenas como protótipo capaz de conduzir numa demonstração controlada.
Uber, Pony e Verne: parceria em vez de construir tudo internamente
A abordagem descrita pela notícia combina a plataforma da Uber com tecnologia de parceiros. Isso contrasta com uma estratégia verticalmente integrada, em que uma empresa desenvolve e controla mais partes do veículo e da operação. Nenhuma opção é automaticamente melhor: a primeira pode acelerar o acesso a capacidades especializadas; a segunda pode dar mais controlo sobre a integração e os dados.
Para uma plataforma como a Uber, o trabalho não termina quando o veículo consegue circular. É preciso conectar a operação autónoma à experiência de pedido, alocação, recolha e suporte ao utilizador. As fronteiras entre empresas tornam-se críticas: quem responde por uma falha, quem recebe os dados do incidente e como uma atualização de software é validada antes de chegar à frota?
Na minha leitura, essa integração é uma das partes mais interessantes para quem trabalha com software distribuído. Um produto pode depender de APIs, serviços de mapas, telemetria e sistemas de despacho mantidos por equipas diferentes. Se os contratos entre esses componentes forem frágeis, a falha aparece na rua, não apenas num dashboard.
Robotáxi, ADAS e táxi convencional: não são a mesma coisa
Um sistema avançado de assistência ao condutor, ou ADAS, ajuda uma pessoa que continua responsável pela condução. Um veículo autónomo pretende executar tarefas de condução dentro de determinadas condições operacionais, conhecidas como ODD: o conjunto de locais, condições e situações para as quais o sistema foi concebido e validado. Um teste de mapeamento, por si só, não demonstra que um serviço está pronto para operar sem condutor.
O táxi convencional, por outro lado, depende de um motorista humano para interpretar situações inesperadas e tomar decisões. No robotáxi, parte desse trabalho passa para sistemas automatizados, mas isso não significa que desapareçam as responsabilidades operacionais. A gestão de exceções, a assistência ao passageiro e a resposta a incidentes continuam a exigir processos claros.
É por isso que a comparação útil não é apenas “carro autónomo contra motorista”. Também devemos perguntar quais condições cada serviço cobre, como reage quando sai do seu cenário previsto e que suporte oferece quando a viagem não pode continuar normalmente.
Na Prática: um exemplo de monitorização de telemetria
Uma aplicação de frota pode validar se uma localização recebida está dentro de uma área operacional configurada e sinalizar coordenadas inválidas. O exemplo abaixo usa uma distância aproximada em linha reta até ao centro de Manchester. É uma demonstração de validação de telemetria, não um mapa oficial, um geofence de produção ou um sistema de navegação.
from math import radians, sin, cos, sqrt, atan2
# Coordenadas aproximadas do centro de Manchester.
CITY_CENTER = (53.4808, -2.2426)
MAX_DISTANCE_KM = 20.0
def haversine_km(point_a, point_b):
"""Calcula a distância aproximada entre duas coordenadas GPS."""
lat1, lon1 = point_a
lat2, lon2 = point_b
earth_radius_km = 6371.0
dlat = radians(lat2 - lat1)
dlon = radians(lon2 - lon1)
a = (
sin(dlat / 2) ** 2
+ cos(radians(lat1))
* cos(radians(lat2))
* sin(dlon / 2) ** 2
)
return 2 * earth_radius_km * atan2(sqrt(a), sqrt(1 - a))
def validate_telemetry(event):
"""Valida campos básicos e sinaliza coordenadas fora da área definida."""
try:
lat = float(event["latitude"])
lon = float(event["longitude"])
except (KeyError, TypeError, ValueError):
return {"valid": False, "reason": "missing_or_invalid_coordinates"}
if not (-90 <= lat <= 90 and -180 <= lon <= 180):
return {"valid": False, "reason": "coordinates_out_of_range"}
distance = haversine_km((lat, lon), CITY_CENTER)
return {
"valid": True,
"inside_configured_radius": distance <= MAX_DISTANCE_KM,
"distance_from_center_km": round(distance, 2),
}
sample = {"vehicle_id": "test-001", "latitude": 53.4808, "longitude": -2.2426}
print(validate_telemetry(sample))
Na prática, eu trataria a saída como um sinal para observabilidade, não como uma ordem para controlar o veículo. Um raio circular é uma simplificação: não representa ruas permitidas, limites administrativos, zonas restritas ou condições de tráfego. Para uso real, seriam necessários polígonos geográficos, regras versionadas, tratamento de dados atrasados e validações adequadas ao sistema.
Erros comuns ao desenvolver para mobilidade autónoma
- Confundir teste com lançamento. Circular para mapear, com um condutor de segurança, não significa que passageiros possam pedir uma viagem autónoma.
- Tratar GPS como verdade absoluta. Coordenadas podem ter ruído, atraso ou saltos. Um sistema robusto precisa considerar qualidade e contexto antes de tomar decisões.
- Usar um geofence simples como regra de segurança. Um círculo em torno de uma cidade não representa a rede viária nem as restrições de operação.
- Ignorar versões de mapas e software. Se um incidente ocorreu com uma combinação específica de mapa e versão, essa combinação precisa ser rastreável para reproduzir e investigar o problema.
- Deixar indefinido o dono da falha. Em parcerias, contratos técnicos e operacionais devem definir responsabilidades, formatos de eventos, tempos de resposta e escalonamento.
- Medir apenas disponibilidade. Um serviço pode estar “online” e ainda assim ter localização inconsistente, telemetria atrasada ou rotas incompatíveis com a operação prevista.
O que a expansão para Manchester pode mudar
A expansão de testes para uma nova cidade permite avaliar o sistema num ambiente diferente, mas não prova que o comportamento será igual em toda a região. Cada local tem características próprias de vias, sinalização, obras e circulação. A adaptação exige recolha de dados, validação e decisões sobre onde o serviço pode ou não operar.
Também há uma dimensão regulatória e operacional. A notícia indica que a entidade de transportes da região não recebeu um pedido para operar táxis sem condutor, embora tenha conhecimento de um possível interesse do setor. Até existir uma autorização aplicável e um serviço efetivamente lançado, é mais rigoroso descrever Manchester como local de testes, não como cidade com robotáxis disponíveis ao público.
Para quem desenvolve, a lição é familiar: sistemas de alto risco precisam de limites explícitos, observabilidade e processos de recuperação. A diferença é que, num serviço de mobilidade, uma falha não fica restrita a uma página fora do ar. Pode afetar pessoas, veículos e infraestrutura pública.
Perguntas frequentes sobre os robotáxis da Uber em Manchester
A Uber já oferece viagens autónomas em Manchester?
Não segundo as informações citadas pelo Sapo.pt. Os testes descritos são de mapeamento, contam com um condutor de segurança e não levam passageiros.
Quais empresas fornecem a tecnologia dos veículos?
A Uber anunciou a colaboração com Pony e Verne. A notícia não detalha os componentes técnicos nem a divisão exata de responsabilidades entre as empresas.
O que significa mapear as ruas para um veículo autónomo?
Significa recolher e organizar informações sobre a via para ajudar o sistema a localizar o veículo e interpretar o ambiente. O mapa complementa os sensores; não substitui a perceção em tempo real.
Um teste bem-sucedido garante que o serviço será lançado?
Não. Ainda podem ser necessários testes adicionais, validações operacionais e autorizações. A Transport for Greater Manchester informou que não recebeu um pedido formal para operar táxis sem condutor na região.
O que um desenvolvedor pode aprender com esse tipo de projeto?
Que integração, rastreabilidade e tratamento de exceções são tão importantes quanto o algoritmo principal. Em sistemas distribuídos e físicos, é essencial saber qual componente tomou uma decisão, com quais dados e sob qual versão.
Gostou? Me segue no GitHub e deixa um comentário se tiver dúvida ou quiser aprofundar algum ponto.