sBotics Wiki

Tutorial do Simulador usado pela OBR

Ferramentas do usuário

Ferramentas do site


editor_de_arenas

Essa é uma revisão anterior do documento!


Editor de Arenas

O editor de arenas do sBotics é uma das ferramentas mais complexas e poderosas do simulador, permitindo a criação e personalização de cenários detalhados para competições e atividades educacionais. Embora a interface possa exigir um período de adaptação, especialmente no controle da câmera, o editor oferece um controle preciso sobre a criação de arenas.

A base do editor é um cursor de ladrilhos, que se move nas coordenadas da arena para realizar alterações. Os comandos de movimentação são intuitivos: W, A, S e D para deslocamento lateral, e Z e X para movimentação vertical. Ao selecionar um ladrilho na barra inferior, ele é inserido na posição do cursor. Para manipulações adicionais, como rotação, elevação ou exclusão, posicione o cursor sobre o ladrilho desejado e utilize as teclas R para rotacionar, + ou - para elevar ou descer, e delete para remover.

Configurações Avançadas

O editor de arenas também oferece configurações avançadas, permitindo um controle granular sobre o comportamento da arena e dos ladrilhos. Essas configurações são armazenadas em formato JSON, oferecendo flexibilidade e precisão na personalização.

Entendendo o Tipo JSON de Pontuação

O objeto JSON de pontuação é utilizado para configurar a pontuação dos ladrilhos e penalidades na arena. Ele segue o seguinte padrão:

{
"points": 0,
"multiplier": 1,
"attempt_points": [],
"attempt_multipliers": []
}

“points”: Define a pontuação base do ladrilho ou penalidade. “multiplier”: Define o multiplicador de pontuação. “attempt_points”: Permite definir pontuações diferentes para cada tentativa. Por exemplo, [5, 4, 3] atribui 5 pontos na primeira tentativa, 4 na segunda e 3 na terceira. Tentativas subsequentes ignoram essa configuração. “attempt_multipliers”: Semelhante a “attempt_points”, mas para multiplicadores. As propriedades “penalty”, embora utilizem esse objeto de pontuação, aplicam valores negativos, representando penalidades.

Configurações Avançadas de Arena

As seguintes configurações avançadas permitem personalizar diversos aspectos da arena:

{
    "name": "Robocup Arena 12", // Nome da arena
    "description": "Arena", // Descrição da arena
    "time_of_day": "15:00", // Horário do dia (6:00 - 18:00), controla a posição do sol
    "advance_button": false, // Habilita o botão "Avançar"
    "path_arena": true, // Indica se a arena possui um trajeto definido
    "start_with_rescue_kit": false, // Robô inicia com kit de resgate
    "return_rescue_kits_with_robot": true, // Kits de resgate retornam com o robô
    "use_medals": false, // Utiliza medalhas na pontuação
    "stop_game_on_time_limit": true, // Jogo termina ao atingir o limite de tempo
    "change_position_in_routine": false, // Permite alterar a posição do robô durante a rotina
    "max_time_if_incomplete": true, // Define tempo máximo para rotinas incompletas
    "hard_evacuation_point": false, // Ponto de evacuação difícil
    "lack_of_progress": true, // Habilita penalidades por falta de progresso
    "scoring": true, // Habilita pontuação
    "force_advance": false, // Força o avanço para o próximo trajeto
    "placeable_checkpoints": 0, // Número de checkpoints posicionáveis
    "placeable_checkpoint_margin": 0, // Margem para posicionamento de checkpoints
    "end_on_endgoal": true, // Rotina termina ao atingir o objetivo final
    "randomize_safe_area": false, // Randomiza a área segura
    "randomize_victim_position": true, // Randomiza a posição das vítimas
    "end_on_rescue_victims": false, // Rotina termina ao resgatar todas as vítimas
    "ignore_dead_victim_if_any_living_left": true, // Ignora vítimas mortas se houver vivas
    "advance_penalty": 0, // Penalidade por avançar para o próximo trajeto
    "skip_path_threshold": 3, // Limite para pular ladrilhos no trajeto
    "time_limit_minutes": 5, // Limite de tempo em minutos
    "short_lack_of_progress_time": 10, // Tempo para falta de progresso leve
    "long_lack_of_progress_time": 50, // Tempo para falta de progresso grave
    "end_goal_lack_of_progress_penalty": { ... }, // Penalidade por falta de progresso no objetivo final
    "ramp_entrance_score": { ... }, // Pontuação ao entrar na rampa
    "ramp_exit_score": { ... }, // Pontuação ao sair da rampa
    "use_rescue_checkpoint_lack_of_progress_penalty": true, // Habilita penalidade por falta de progresso em checkpoints de resgate
    "rescue_checkpoint_lack_of_progress_penalty": 0.025, // Valor da penalidade por falta de progresso em checkpoints de resgate
    "placeable_checkpoint_entrance_score": { ... }, // Pontuação ao entrar em checkpoint posicionável
    "placeable_checkpoint_exit_score": { ... }, // Pontuação ao sair de checkpoint posicionável
    "path_size_checkpoint_entrance_score": { ... }, // Pontuação ao entrar em checkpoint de tamanho de trajeto
    "path_size_checkpoint_exit_score": { ... }, // Pontuação ao sair de checkpoint de tamanho de trajeto
    "starter_rescue_kit_score": { ... }, // Pontuação por kit de resgate inicial
    "multiplier_powered_by_victims_rescued": false, // Multiplicador baseado no número de vítimas resgatadas
    "@1": "Robot Constraints", // Indica o início das restrições do robô
    "#1": "Use -1 to ignore a specific constraint.", // Instrução para ignorar restrições
    "robot_constraints": { // Restrições do robô
        "use_constraints": false, // Habilita restrições
        "constraints_violation_penalty": { ... }, // Penalidade por violação de restrições
        "max_price": 50, // Preço máximo do robô
        "max_weight": 100, // Peso máximo do robô
        "max_ultrasonic": 10, // Número máximo de sensores ultrassônicos
        "max_servomotor": 10, // Número máximo de servomotores
        "max_light": 10, // Número máximo de sensores de luz
        "max_buzzer": 10, // Número máximo de buzzers
        "max_color": 10, // Número máximo de sensores de cor
        "max_touch": 10, // Número máximo de sensores de toque
        "max_camera": 10, // Número máximo de câmeras
        "max_pen": 10 // Número máximo de canetas
    }
}
editor_de_arenas.1743615653.txt.gz · Última modificação: 2025/04/15 16:34 (edição externa)