Jump to content

Mod para rover autônomo?


DarthWall

Recommended Posts

Pra traçar rotas até que tem, o problema é ele fazer isso enquanto não está aberto no seu jogo.

Você pode fazer isso usando o DMP se quiser, abre dois KSP e deixa um deles no piloto automático, mas é inútil pro modo carreira.

Link to comment
Share on other sites

haha tadinho do meu PC. Já acho que to maltratando ele com apenas 1 KSP xD

Mas po, devia ter uma forma não-física de calcular a localização do rover enquanto a gente não está olhando pra ele. E se a gente acelerar o tempo, a posição dele no jogo varia junto. E seria ótimo pro modo Carreira. Uma vez que a gente joga um rover no planeta/lua, pega os pontos de ciência de um bioma e direciona ele pra outro bioma logo em seguida. Ou até mesmo pra fazer missões de exploração em solo.

Link to comment
Share on other sites

o mechjeb tem rover autopilot,vc mara os locais e determina a velocidade,ai ele vai indo sozinho por ai,mais tome cuidado por onde vc quer eu ele ande,garanto que nao vai ser legal descer uma ladeira com o rover autopilot.

Só q aí eu teria que estar com o veículo ativo, e perderia o intuito de deixar que algo controle pra gente =/

Link to comment
Share on other sites

  • 3 weeks later...

Já perdi rover nesse autopilot do mechjeb. Perdeu controle na descida, mesmo com limite de velocidade baixo. Não tem jeito.

Por hora, como o jogo é, tem sempre que deixar o rover em primeiro plano de execução e esperar ele fazer o caminho, olhando e cuidando para não perder o controle.

E se tiver com ScanSat a coisa piora, pois o delay faz o freio demorar para ser acionado...

:D

Link to comment
Share on other sites

Bom,para isso se realizar,é preciso fazer um plugin,mais é muito mais fácil desenvolver um mod com modelagem em 3D do que programar plugin,exceto se você souber C++,geralmente quando se une os dois é uma equipe de modelagem e outra para programar.Voltando ao caso,um dia (muiiitttooooo distante daqui!),talvez o KSP haja um recurso para você (você não,você fica ai) programar em um console,um os mais softwares de missão.Talvez,com uma linguagem de programação kerbal,com apenas comandos simples como: /descolarseate = ("coordenadas1,coordenadas2") velocidade = 03ms ou algo parecido com isso,você (eu já disse você fica ai) poderia programar até missões inteiras como software de docking,controle de RCS,software de dados etc...

Link to comment
Share on other sites

rsrsrrsrsrsr. Engraçadinho.

A linguagem para programar para KSP, dentro do Unity é C# (leia-se C sharp). parecido com C++, mas se alguém que entende vê você falando isso, vai dizer que nada a ver. rsrsrsrsrssra

Eu mesmo tenho estudado um pouco de C#, mas to ainda na barrida da mama C.

Demora pra conseguir fazer algo, apesar de já estar entendendo...

Por hora fico só na modelagem...

Link to comment
Share on other sites

Brendo, isso já existe!

É o kOS: http://forum.kerbalspaceprogram.com/threads/68089-0-90-kOS-Scriptable-Autopilot-System-v0-16-2-2015-2-23

Pode programar scripts como quiser no jogo, rovers, foguetes e tudo mais, é bem legal, só precisa de conhecimento básico em programação.

Mas isso em pouco tempo na internet você consegue aprender.

Edit: se você quiser mesmo controlar duas missões ao mesmo tempo, pode abrir 2 KSPs e deixar um deles com o kOS controlando o rover enquanto joga no outro.

Você pode usar o DMP se quiser lançar dois foguetes ao mesmo tempo, o que traz junto todos os bugs e limitações do mod.

Mas se você preferir dá para só construir alguma coisa no editor enquanto o kOS pilota o seu rover em outro jogo, isso não é tão pesado assim.

Só precisa de um processador decente e bastante RAM se tiver vários mods.

Lembrando que você deve ter duas pastas separadas do KSP, abrir o mesmo KSP duas vezes pode causar um monte de coisas estranhas.

Lembrando que já que o KSP roda em uma única thread, processadores com vários núcleos ou multithread vão acabar tendo um impacto bem menor, bem longe de dividir o seu framerate pela metade, mas isso se você tiver uma GPU boa.

Edited by tetryds
Link to comment
Share on other sites

Depois que citaram o ScanSat que eu lembrei... Era realmente algo parecido com o ScanSat que eu tava procurando. O jogo não precisaria calcular a velocidade do rover, o terreno, etc, etc... Seria mais ou menos como o ScanSat calcula a posição dos satélites, calcularia apenas a posição do rover no planeta enquanto a gente está fazendo outras missões e a quantidade de energia que ele tivesse. Pra quem entende de programação no jogo, parece simples de fazer, se for comparar à muitos outros mods...

Acho que só precisaria mais prestar atenção em duas coisas:

1. Na forma como o mod calcularia a rota, deveria ter para cada planeta, pontos imaginários para o waypoint ser traçado, e "zonas intransitáveis", como água, ladeiras muito íngrimes, etc, para que o trajeto tivesse que contornar tais lugares.

2. O mod teria que tomar extremo cuidado pra quando fosse focar no veículo, ele não estar preso dentro do chão e tudo acabaria explodindo.

Link to comment
Share on other sites

Depois que citaram o ScanSat que eu lembrei... Era realmente algo parecido com o ScanSat que eu tava procurando. O jogo não precisaria calcular a velocidade do rover, o terreno, etc, etc... Seria mais ou menos como o ScanSat calcula a posição dos satélites, calcularia apenas a posição do rover no planeta enquanto a gente está fazendo outras missões e a quantidade de energia que ele tivesse. Pra quem entende de programação no jogo, parece simples de fazer, se for comparar à muitos outros mods...

Acho que só precisaria mais prestar atenção em duas coisas:

1. Na forma como o mod calcularia a rota, deveria ter para cada planeta, pontos imaginários para o waypoint ser traçado, e "zonas intransitáveis", como água, ladeiras muito íngrimes, etc, para que o trajeto tivesse que contornar tais lugares.

2. O mod teria que tomar extremo cuidado pra quando fosse focar no veículo, ele não estar preso dentro do chão e tudo acabaria explodindo.

Sim, isso seria possível, o desafio vem em outra forma, como é que o jogo vai saber qual é a capacidade do veículo?

Por que assim, uma coisa é assumir que o seu rover segue um padrão, ou que a sua nave tem os mesmos parâmetros orbitais que não irão mudar com o tempo.

Outra coisa é tentar descobrir se o rover realmente seria capaz de traçar uma rota.

Um programa como esse usaria um sistema chamado pathfinder, ele traçaria uma rota cusotmizada que passe pelo caminho de menor inclinação.

Então, sim é possível fazer um mod como esse, mas ele será limitado simplesmente pelo fato de no KSP você poder criar tudo como quiser.

Seria possível ver que tipo de rodas o rover tem, a distância entre elas, como ele gera e armazena energia e a massa e a altura do centro de massa para definir a velocidade segura de cruseiro pra uma dada inclinação e a distância que se é possível viajar em um dado período de tempo.

Porém o mod ou sofreria bugs estranhos caso você coloque uma roda aleatória de ponta cabeça embaixo do seu rover, ou só poderá permitir que apenas rovers feitos de uma maneira mais específica se pilotem sosinhos.

Existe também a possibilidade de você precisar pilotar o rover por um certo período de tempo e usar esses dados para o cruseiro automático.

Lembrando que também tem como saber quais rodas tocam o chão e utilizar elas para os parâmetros, e mais um monte de outras coisas, mas isso só aumenta a complexidade.

Ou seja, sim é possível, é bem mais complicado do que o ScanSat, e tem um monte de coisas que tem que se levar em consideração, mas existe sim a possibilidade de um mod que faça isso.

Ainda não conheço nenhum, mas também gostaria bastante disso.

(falando em mods estou pensando em fazer um)

Edited by tetryds
Link to comment
Share on other sites

Meus caros, só acho que tem um ponto fundamental aqui. O KSP tem uma bubble de "atividade", e só dentro dessa bubble é que as coisas realmente funcionam (A física, em particular).

Eu não me lembro ao certo, mas qualquer coisa que saia dessa espera de distância do que está em primeiro plano, simplesmente para de funcionar. Quer um exemplo: Os estágios de um foguete, quando ultrapassam essa distância, simplesmente desaparecem (salvo nos casos com mod, mas ai é outra história, pois o mod não mantém a peça, simplesmente a cataloga.).

Ou seja, um rover autónomo fora da bubble, OFF.

Mas se tu estiver pensando nele em 1º plano, já tem o mod, é o MechJeb. O MJ tem o controle de rota, tem o controle de waypoint. Basta tu fazer um scan da superfície, e desviar das crateras, e já terás um percurso bem mais seguro. Tem controle de velocidade. Mas se tu tiver o Remote Tech instalado, tem que tomar cuidado com o delay de transmissão. No post anterior quando falei Scan Sat, queria ter dito o Remote Tech.

Essa atividade também, na teoria é linda, mas na prática, também está sujeita as diversidades em geral, como qualquer uma.

O KOS é até interessante, mas é um caminho predeterminado, não vai pensar nem analisar possibilidades para ver a melhor saída.

O que realmente precisaríamos (e estou descartando o segundo plano, pois isso o KSP não permite, pelo forma que foi concebido. Mantenho o foco na navegação automatizada em 1º plano) seria de uma IA. Inteligência Artificial.

E isso demora...

Claro, eu também adoraria ter meus hovers indo e vindo e trazendo ciência de forma automatizada, rsrsrsrsrsrsr.

Bem como os suprimentos a todas as missões em paralelo que mantenho (no caso de Life Support), etc, etc.

Mas um dia quem sabe, com uma versão atualizada do KSP que permita isso, quando ele antes começar a usar todos os processadores e mais da placa de vídeo, pois se ficar como é hoje, com uma só thread de processador de cada vez, não existiria computador que aguentaria tudo isso.

E Tedryds, se está pensando em fazer um, dou a maior força, mas vai preparando o C# ai.

;)

Link to comment
Share on other sites

O Remote Tech parece calcular a energia dos satélites de forma semelhante ao Fusebox, ele não precisa dizer quais painéis estão apontados para Kerbol para dizer se vai dar tempo de carregar as baterias antes de chegar na sombra do planeta de novo, tudo isso sem a necessidade de estar dentro dessa bolha de influência.

Já a questão das variantes da complexidade do rover, é bem simples: adiciona-se um botão com um "gravar padrão de movimento". Aí você pilota o rover por uns 10 segundos, e nisso o mod já prova que o rover pode andar, grava a velocidade máxima do rover e pode usar uns 50% da velocidade máxima pra simular depois, podendo ser enviado de um ponto ao outro até mesmo da Tracking Station. Poderia ser feito até integração com o Kerbal Alarme Clock pra uma vez q o rover chegue no local.

A ideia não é fazer que o rover pegue ciência pra gente, mas sim, pular a parte entediante e super demorada da viagem em terra.

Link to comment
Share on other sites

Existe esse plugin que simula ações de mineiração, etc. enquanto o foco não está na sua nave: http://forum.kerbalspaceprogram.com/threads/97921-Background-Processing-0-2-KSP-0-25

Mas ele é feito pra ser usado por outros mods, principalmente de mineiração, a única coisa que instalar ele vai fazer será carregar as baterias numa instalação stock.

Os mods que precisam dele pra funcionar já tem ele incluido na pack, pois é de livre distribuição.

O problema é, um mod pra se movimentar na superfície seria bem mais complicado do que isso, esse mod lida apenas com recursos, não com posição.

Link to comment
Share on other sites

Não quando não fosse movimento em superfície, e sim, simplesmente velocidade pelo tempo pra dizer a posição. É só otimizar ao máximo, máximo mesmo. Na minha concepção, ficaria mais leve até que TAC LS ou Kerbonite com MKS. Com um pouquinho de saco e um básico de física de ensino médio, dá até pra fazer no papel kk

Só precisa provar que o rover pode andar, marcar os waypoints e a velocidade (que teria que ser baixa para não ser cheating), e torcer pra não bugar com o chão na hora de carregar o veículo.

Esse último eu acho que é quase impossível, pq já teve vezes deu deixar meu avião estacionado numa colina, ir ali completar a missão a pé, e quando voltei ele tava todo pra dentro do chão, com o jogo stock xD

Link to comment
Share on other sites

Não quando não fosse movimento em superfície, e sim, simplesmente velocidade pelo tempo pra dizer a posição. É só otimizar ao máximo, máximo mesmo. Na minha concepção, ficaria mais leve até que TAC LS ou Kerbonite com MKS. Com um pouquinho de saco e um básico de física de ensino médio, dá até pra fazer no papel kk

Só precisa provar que o rover pode andar, marcar os waypoints e a velocidade (que teria que ser baixa para não ser cheating), e torcer pra não bugar com o chão na hora de carregar o veículo.

Esse último eu acho que é quase impossível, pq já teve vezes deu deixar meu avião estacionado numa colina, ir ali completar a missão a pé, e quando voltei ele tava todo pra dentro do chão, com o jogo stock xD

Hehehe.

Sim, dá pra fazer bem simplificado, sem levar em conta o caminho nem nada, mas aí iria do bom senso do usuário de não fazer algo absurdo para exploitar o mod.

Link to comment
Share on other sites

Se seguir alguns parâmetros aceitáveis, como velocidade a 5 m/s, inclinação no máaaximo 40º, e rodas e energia suficiente pra andar, dá sim pra fazer bem simplificado sem ser absurdo.

É possível capotar a 5 m/s? É, se a pessoa for muito retardada, dá kkkk Mas ela vai acabar dando um quick save mesmo e vai continuar a jornada... Então o mod poderia ignorar esses casos mais absurdos...

Mas é claro, o mod só não poderia funcionar a uns 30, 40 m/s pq aí qualquer pessoa pilotando acabaria capotando ou quebrando as rodas inevitavelmente toda hora.

Aí vc me diz: "Aí a pessoa me faz um monociclo com um reaction wheel, prova pro mod que o monocliclo pode andar, e deixa o mod se virar com ele."

Na minha concepção não teria problema. A pessoa poderia ir andando com o monociclo até onde quisesse tanto quanto se fosse uma centopeia de rodas.... Aí como eu disse, a quantidade de rodas, o equilíbrio, nada disso importaria contanto que fosse possível ir andando até o local com tal criação.

Link to comment
Share on other sites

O Remote Tech parece calcular a energia dos satélites de forma semelhante ao Fusebox, ele não precisa dizer quais painéis estão apontados para Kerbol para dizer se vai dar tempo de carregar as baterias antes de chegar na sombra do planeta de novo, tudo isso sem a necessidade de estar dentro dessa bolha de influência.

Já a questão das variantes da complexidade do rover, é bem simples: adiciona-se um botão com um "gravar padrão de movimento". Aí você pilota o rover por uns 10 segundos, e nisso o mod já prova que o rover pode andar, grava a velocidade máxima do rover e pode usar uns 50% da velocidade máxima pra simular depois, podendo ser enviado de um ponto ao outro até mesmo da Tracking Station. Poderia ser feito até integração com o Kerbal Alarme Clock pra uma vez q o rover chegue no local.

A ideia não é fazer que o rover pegue ciência pra gente, mas sim, pular a parte entediante e super demorada da viagem em terra.

Darth, tu acho que nem leu o que escrevi.

Tá fora da bubble, não é primeiro plano, o KSP desliga para tratamento básico em orbita, sem calcular física e nada, e na superfície ele para tudo.

Para isso que tu falou, usa o Mj e o mapa, nem precisa fazer o trajeto antes, só marcar os waypoints e deixar rolar "em primeiro plano". Esqueça Kerbal Clock par isso.

Não vai funcionar.

E esses de mineração como Kethane e Karbonite, ambos estão parados na superfície e usam um modulo a parte para fazer todo o processo em BG.

É bem mais simples.

E esses casos de controlar velocidade e não acontecer acidentes, se com o usuário olhando já acontece, imagine sem ninguém no comando. Tu pode por no caminho mais plano que seja, deu um lag de micro segundo e o carro dá um pulo, lá era. E controle de velocidade, tenta tu controlando um rover, vê se consegue manter a velocidade.

Fora da bubble do primeiro plano, o cara vai ter que escrever um leitor de terreno, de física e colisão, ou seja, vai ser um KSP rodando em segundo plano. Isso como tu disse, pensando no mais simples. O que fugiria totalmente do contesto de ter algo tesão que funciona de acordo com as regras do jogo e tal.

Até para o lance de abastecimento de recursos fizeram uns dois mods "meia boca", Digo meia boca, pois o melhore dos dois, até aparece a nave dockada na sua estação, a que trouxe o abastecimento, mas não aparece ela voando, nem decolando, nem chegando para dockar. Vai abastecer suas estações autonomamente, mas sem nada acontecer, como se fosse somente um script que muda os resources e quase nada mais.

Se tu fizer nesse ponto, rola. Mas vai ser somente ele aparecendo em posições diferentes da superfície sem levar mais nada em conta. Tosco.

p.s: Detalhe, ele teria que carregar um KSP para cada rover que tu tivesse no game praticamente. Imagine um save game com um rover em cada superfície...

Haja CPU. nem um 12 core segura.

Edited by Climberfx
Link to comment
Share on other sites

Climber, eu li sim, e entendi tbm... Mas a ideia é fazer o rover desaparecer completamente e registrar apenas posição dele ao longo do tempo, até que resolvesse focar nele de novo. Eu só não tinha pensado ainda o que seria se passasse com outro veículo por perto de onde o rover deveria estar.

Mas se for usar o MJ, de qualquer jeito eu não poderia colocar mais de 4x na aceleração física, então compensa mais eu ir pilotando no manual.

E a ideia é tipo desse mod tosco que tu falou aí kkkk Mas tipo, esse que tu falou, tira a emoção pq é algo rápido que pode fazer com aceleração do tempo uma vez que lançado, depois tem a parte difícil de acoplar e tudo mais. Mas no caso do rover percorrendo longas distâncias, é fácil e entediante, sem possibilidade de por mais de 4x, e mesmo colocando em 2x já da medo de bugar kkk. Se no caso fizesse o rover "excluir" e apenas fingir que ele tá percorrendo o percurso lentamente assim, ignorando qualquer lei físicas em jogo, mas seguindo aqueles tais parâmetros apenas para não ser nonsense, o mod não seria tão tosco assim.

Link to comment
Share on other sites

Sorry man, foi a impressão que tive, somente. De boa! :D

E não entenda que quero te broxar nem complicar tua idéia. Eu também adoraria, ou melhor, adorarei quando isso for possível. Só que tive que salientar os quesitos técnicos de até onde eu compreendo da parada.

Acho que nessa versão simplificada rola sim. Mas é carga de programação. A lógica é fácil, mas tem bastante linha de código, e tem que chamar bastante base de dados do jogo, etc.

Pra mim ainda é muito avançado resolver isso, quem sabe eu aprendendo mais no futuro.

Vamos amadurecendo a idéia. Por hora, dedico meu tempo a nossas piras filosóficas e científicas, e ao meu Carro voador e mais um outro pessoal, da casa Torre, no meio da floresta...

;)

Link to comment
Share on other sites

De boa!

Mas é sempre bom ouvir os possíveis problemas de quem entende mais do assunto. Meu conhecimento de programação é só os que eu futucava em alguns jogos mais antigos e um pouquinho de Java que eu tentei aprender pela net kkk

E to na espera aqui ansiosamente pelo seu carro voador xD

Link to comment
Share on other sites

Infelizmente o mod que eu estou interessado em fazer não tem a ver com esse, mas eu posso passar essa ideia pra frente caso algum dos meus amigos modders esteja interessado.

Um mod que simplesmente põe a sua vessel em uma determinada posição em um certo tempo seguindo a trajetória através de um pathfinder para achar as menores inclinações é algo relativamente simples.

Isso somando a sua ideia de ter um teste no rover logo após pousado para definir a velocidade máxima de cruseiro.

Aí só vai ser necessário calcular o saldo de energia para definir o passo em que ele pode viajar (exposição ao sol, baterias, RTGs e consumo das wheels), o que também não é complicado.

O mod DMP já movimenta vessels fora da bubble em tempo real, por exemplo.

Movimentar vessels fora da bubble não é um grande problema, tudas as vessels que estão em órbita fazem isso o tempo todo...

O único problema é não deixar que naves na atmosfera sejam deletadas em pleno voo, o que o DMP também já deu um jeito de arrumar.

Com o teste, se pula a única parte complicada do mod, o resto é possível de fazer, mas como eu disse, não é o que eu quero agora.

Não vou dar muitos detalhes do meus planos por que ainda estão bem no começo, vai demorar bastante para o meu mod ficar pronto e vai ser bem complexo.

Edit: Pensando melhor, esse método seria muito bom pra colocar aviões de NPCs em pleno vôo, nesse caso a trajetória só evitaria montanhas, o que é bem simples.

Utilizando um método similar ao que o DMP usa para evitar ser deletado na atmosfera, você poderia decolar, deixar o avião apontado para uma certa direção (ou setar uma trajetória/waypoints), setar modo de cruseiro e sair do foco e ele poderia continuar voando.

Isso seria muito legal :D

Edited by tetryds
Link to comment
Share on other sites

hmmm..... Não vai dar detalhes, mas pode dar um gostinho do que planeja fazer? xD

- - - Updated - - -

só vi sua edit depois e.... Puts, né que seria uma ótima ideia?? xD

Behamuto que ia gostar dessa ideia :v

Link to comment
Share on other sites

DMP não resolve a bubble, ele simplesmente faz cada user ter a sua própria bubble, e quando um está dentro da bubble do outro, ai é que a interação ocorre, onde a física esta ligada para a nave própria e a nave aleia só repete a position do outro em real time. Ou seja, não sana os principais quesitos da interação com o chão (Gravidade, física entre as partes, colisão, atrito). nem computa a interação entre partes e arrasto atmosférico do outro, so do próprio. O outro é somente repassado dados como posição e rotação para si.

Não se engane também com que o jogo já faz isso para as naves que não estão em primeiro plano. Não faz. Ele faz o básico. Se não nem teria falado da Bubble.

Como expliquei, não falo de interação no vácuo sem ligar a física, que é o que ocorre com todos os ítens em segundo plano em orbita. Onde ele só grava o percurso estabelecido e faz o ciclo dele na linha de tempo, sem atrito, sem física entre partes, nem rotação e sem colisão.

Só pegar um satélite que está entrando em orbita no PE e sair dele de primeiro plano, ele nunca cai com o arrasto da atmosfera, pois parou de computar isso quando tu não estava mais nele.

Não se engane. Fácil, sim pode ser, para quem já faz isso a um bom tempo. Mas em termos de complexidade geral, nada fácil. Bem trabalhoso por sinal.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...