O processo de desenvolvimento de um robô de serviço no Orangepi zero e no arduino para coletar bolas de golfe. Toda a dor de um desenvolvedor independente, não sobrecarregada com uma formação técnica em um post ...
Desenvolvimento MVP. Testando vídeo.

O que é golfe?
O golfe é um jogo de esportes. O objetivo principal é rolar a bola para dentro do buraco em cada campo por menos tacadas, para passar todos os campos por menos tacadas. Em nosso país, o golfe é extremamente pouco desenvolvido e é triste. O jogo é bastante interessante, permite que as pessoas passem algum tempo ao ar livre, se comuniquem durante o jogo, adequado para todas as idades. O jogo tem uma medida clara do seu sucesso no handicap - um indicador numérico das qualificações de um atleta. Todos esses fatores tornam o golfe uma atividade de streaming. Se você ainda não experimentou o golfe, está na hora!

O que é um driving range?
Para atacar da primeira vez até o final do campo, mais perto do buraco, você deve conseguir fazer ataques longos e precisos. O Driving Range é um campo de treinamento para a prática de tacadas de golfe longas e médias. Esses campos se parecem com isso.

Estou no driving range. Esta é uma ilustração de como atacar incorretamente.

Em uma sessão de treinamento em tal campo, eles costumam fazer mais de cem acertos. As mãos para coletar essas bolas eram trabalhosas e com risco de vida. No início do século 20, não havia muita escolha, mas em alguns lugares o trabalho manual é mais barato agora.

Uma ferramenta manual ainda está sendo usada, mas essa é a exceção.

Na maioria das vezes, as bolas são coletadas usando um engate especial em um trator, carrinho de golfe ou carro comum.

Para coletar as bolas, arraste-as para a máquina de lavar, carregar no distribuidor geralmente é uma pessoa especial no estado, embora o guardião da grama também possa desempenhar esse papel. (Graskipper é a pessoa responsável pela qualidade do gramado nos campos de golfe).
O desenvolvimento e implementação de um robô de serviço para coletar bolas de golfe parece ser um passo razoável do ponto de vista econômico, pois economiza a manutenção de equipamentos especiais e o salário do funcionário que deveria realizar esse processo. O golfe é desenvolvido em todo o mundo, esta fotografia mostra isso claramente.
Esse jogo foi especialmente difundido nos EUA e na Europa, onde o nível salarial é bastante alto e a capacidade de substituir um funcionário por um robô de serviço compensa muito rapidamente.
Encontrando uma solução
Como resultado da pesquisa, foram encontrados:
alguns projetos de bricolage

algumas renderizações bonitas

e um projeto bastante comercial

A partir disso, podemos concluir que há interesse. Muito provavelmente, é muito arriscado investir em tais soluções de nicho. O custo de desenvolvimento e ajuste da produção é alto, alguns moldes chegarão em várias dezenas de milhares de dólares. Existem pouco mais de 40 tacos de golfe na Rússia, enquanto existem muitos no mundo, somente na Alemanha existem mais de 700 e no total mais de 34.000. Um robô coletor de bolas como produto definitivamente não passará no teste de escova de dentes da Good Corporation.
É muito estranho que a administração de vários tacos de golfe europeus com quem eu falei não tenha ouvido falar da existência de um robô pronto, embora eles demonstrassem interesse. Todas as minhas tentativas de entrar em contato com esta empresa foram malsucedidas, talvez elas não consigam lidar com o número de pedidos existentes.
Não sei exatamente o que resultará disso. Talvez em algum lugar no caminho da caixa de madeira compensada para a primeira amostra "adulta", um entendimento venha se alguém precisa ou não.
O objetivo inicial é obter uma amostra de trabalho sem atenção à aparência. Em seguida, pretendo dar ao robô uma aparência elegante e colocá-lo para teste em um clube de golfe na Rússia. Após a depuração e a realização de testes de longo prazo, continue com o processamento do modelo em um modelo adequado para produção.
Vamos lá!
Vários benefícios importantes são planejados em relação à solução comercial existente.
- Não é necessário enterrar um cabo de baixa corrente ao redor do perímetro.
- Possibilidade de implementação na infraestrutura existente.
- Custo mais baixo e custo total de propriedade.
Caixa e parte mecânica
O material para o corpo da primeira amostra foi selecionado em compensado. Barato, permite cortar rapidamente algumas peças no local ou fazer furos. Para que tudo estivesse claramente ajustado, desenhei um desenho e dei-o ao fresamento.

Reuniu todos os detalhes. Desde o início, houve uma idéia de fazer o corpo arredondado, mas decidiu parar estritamente no MVP. Qualquer coisa que não afete o desempenho é intencionalmente excluída da lista de tarefas.

O mecanismo de captura de bolas durante a evolução desses dispositivos mostrou sua eficácia, portanto, outras opções não foram consideradas.
Motor 12V 30 N / m. em cada roda. O mesmo motor gira o eixo com os discos de preensão, pois eles são elevados acima da superfície para investir em curvas e aumentar a capacidade de manobra.

Inicialmente, os motores eram não chineses. Não houve momento na descrição, então o risco foi grande. Claramente, o momento não era suficiente, o que não se pode dizer sobre os motores das janelas.

Depois de trocar os motores, outras artes tiveram que ser impressas.
Eletrônicos
Como o rover deve funcionar sem um cabo eletromagnético ao longo do contorno do campo, ele precisa de alguma forma navegar e procurar uma base para soltar bolas e recarregar.
Decidi usar o Orangepi lite e o arduino para um trabalho mais conveniente com 5v sem conversores de nível de zoológico para cada sensor e driver de motor.

Montou todos os módulos acabados na placa de ensaio. Isso afeta a falta de experiência em circuitos, acho que no futuro não será um problema separar a placa para módulos ou elementos discretos e solicitá-la.

O esquema consiste em 11 planos, 11 Karl!
- Orange Pi Lite
- Arduino nano
- módulo GPS GY-NEO6MV2
- 2 drivers de motor VNH2SP30
- Bluetoth Hc-06
- 2 módulos ultrassônicos J34
- Conversor de nível lógico
- Giroscópio de 3 eixos e acelerômetro do módulo GY-521 MPU-6050
- Bloco de dois relés
Obviamente, isso foi feito para rápida montagem, instalação e substituição de módulos.
Parte do software
O script principal está escrito em Python. Há uma meta global no ciclo do programa:
- Inicialização
- Coletando bolas
- Retornar à base
- A carregar
- Feriados programados
- Descanse em condições meteorológicas.
Inicialização
Durante a inicialização, os sistemas são testados, o GPS é pesquisado, um mapa local de cross-country é construído e outro objetivo é determinado.
Coletando bolas
Durante a coleta de bolas em cada ciclo, atualizando o mapa do terreno local, construindo um vetor para o alvo geográfico atual, pesquisando o sensor de superlotação com bolas, pesquisando a bateria.
Retornar à base
Em caso de transbordamento do compartimento por espadas ou exaustão da bateria, o robô alterna o alvo global para retornar à base pela rota mais curta. Com a proximidade das coordenadas da base, é realizada uma pesquisa visual da marca, ao longo da qual ocorre uma orientação mais precisa.
Carregamento, descanso
O carregamento ocorre até a tensão necessária da bateria. O descanso pode ser agendado dentro do prazo ou acionando um sensor de chuva.
Habitação

Muito obrigado pelo design
habr.com/users/NikitaKhvorykO corpo de suporte deve ser coberto de cima com a parte superior, que serve para proteger da chuva e da queda de bolas. O primeiro estojo decorativo que pretendo fabricar em fibra de vidro e epóxi. Estou pronto para escrever um post separado sobre isso, se for interessante.

Vídeo
Planos
O veículo espacial já coleciona 95-100% dos objetivos em seu caminho. Constrói uma rota dentro do polígono usando coordenadas GPS. Os planos:
- Encontrar uma base para soltar bolas e carregar em uma marca visual.
- Redefinição da bola servo.
- Sensor de estouro de balão.
- Interface WEB para indicação visual de pontos no mapa, construção de zonas para coleta de bolas com diferentes intervalos.
- Corpo.
- Colocação do robô em um clube de golfe em Moscou para um teste em condições de combate.
Perguntas
Muitas vezes após o post, recebi da comunidade habro respostas a perguntas ou conselhos que ajudaram muito. Ao longo do post, há várias perguntas para as quais eu realmente preciso de uma resposta. Decidi reuni-los por conveniência.
- Como fazer um corpo para o robô? Deve ficar bonito, sem investimento em moldes.
- Vale a pena ficar longe dos módulos e fazer tudo em uma placa? O que fazer com um microcomputador?
- Como encontrar financiamento para um projeto? Onde testar amostras?
- Não consigo encontrar um exemplo de filtro Kalman para dados de GPS com correção por magnetômetro, giroscópio. Existe o Pycalman, mas não entendo como ajustar os dados dos sensores na matriz. Mesmo na torradeira não encontrou a resposta. Eu ficaria muito grato.
Obrigado pela atenção. No próximo post, um teste em condições de combate. Vou mostrar o que não é mostrado, vou tentar resolver o não resolvido e descobrir tudo o que é desconhecido!
Sempre o seu, uma startup iniciante, o
gerente do link do meio , o desenvolvedor de todos os tipos de robôs
1 ,
2 ,
3 ,
4 ,
5 ,
6 e gadget
1 ,
2 ,
3 . E eu escrevi duas histórias
1 ,
2 e fiz algumas entrevistas
1 ,
2 ,
3 .
Estou aberto ao diálogo, conselhos, ajuda, sugestões.