Skip to content

Robcib-GIT/active_legged_learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

[EN]

🤖 Go1 & A1 Robot Experiments Repository

This repository contains all the scripts used for simulations and real-world experiments in the Sim-to-real Risk-Aware Navigation for Quadruped Robots.
repo

  • Simulation Robot: Unitree Go1
  • Real-world Robot: Unitree A1
  • Location: Centre for Automation and Robotics (CAR), Universidad Politécnica de Madrid (UPM)

Below you can find all experiments organized by type and the scripts used in each.


🖥️ Simulation Experiments

Experiment 1: Controller evaluation based on obstacle density
  • 1.1 Low density (Outdoor): go1_outdoor_low.py; go1_inference.py
  • 1.2 Medium density (Outdoor): go1_outdoor_medium.py; go1_inference.py
  • 1.3 High density (Outdoor): go1_outdoor_high.py; go1_inference.py
  • 1.4 Low density (Indoor): go1_indoor_low.py; go1_inference.py
  • 1.5 Medium density (Indoor): go1_indoor_medium.py; go1_inference.py
  • 1.6 High density (Indoor): go1_indoor_high.py; go1_inference.py
Experiment 2: Risk map analysis
  • 2.1 Accuracy of risk maps in indoor environments

    • 2.1.1: go1_indoor_low.py; go1_inference.py
    • 2.1.2: go1_indoor_medium.py; go1_inference.py
    • 2.1.3: go1_indoor_high.py; go1_inference.py
  • 2.2 Mobility strategy to increase coverage

    • go1_indoor_high_zigzag.py; go1_inference_zigzag.py
Experiment 3: Influence of environmental parameters
  • 3.1 Friction influence on stability:
    go1_indoor_high_no_friction.py; go1_inference.py; go1_plotter.py

  • 3.2 Lighting intensity influence on detection:
    go1_indoor_high_low_light.py; go1_inference.py; go1_plotter.py

Experiment 4: Learning policy analysis
  • 4.1 Uninformed mobility (5 repetitions):
    go1_indoor_high_room4.py; go1_inference_room4.py; go1_plotter.py

  • 4.2 Semi-informed mobility (N repetitions until completing route):
    go1_indoor_high_room4_learning_fall.py; go1_inference_room4_learning_fall.py; go1_plotter.py

  • 4.3 Informed mobility (5 repetitions):
    go1_indoor_high_room4_learning_realtime.py; go1_inference_room4_learning_realtime.py; go1_plotter.py

Notes:

  • Differences between main scripts: obstacle density, friction use, lighting, start point, waypoints.
  • Experiments 4.2 & 4.3 include more complex locomotion policies.
  • All inference scripts have a similar structure; waypoint visualization may vary.
  • go1_graficador.py visualizes:
    • Robot pitch & roll angles
    • Average difficulty of passage area
    • Pressure on each leg
    • Angles of 3 joints of each leg

🏃 Real-World Experiments

Experiment 1: Risk map generation (manual control)
  • a1_inference_without_learning.py
Experiment 2: Locomotion policy with learning
  • a1_locomotion_policy_with_learning.py
  • a1_inference_with_learning.py

⚠️ Tip: Use the collapsible sections above to navigate quickly between experiments. Each section lists the exact scripts used for reproducibility and reference.

[ES] Este repositorio contiene todos los scripts utilizados en las simulaciones y pruebas reales para el Sim-to-real Risk-Aware Navigation for Quadruped Robots.

Las simulaciones se han llevado a cabo utilizando el robot Go1 de Unitree, mientras que en las pruebas reales se ha empleado el robot A1, también de Unitree, disponible en el Centro de Automática y Robótica (CAR) de la Universidad Politécnica de Madrid (UPM).

A continuación, se describen las distintas pruebas realizadas, junto con los scripts utilizados en cada una de ellas.

Pruebas de simulación:

Prueba 1: Evaluación del controlador implementado en función de la densidad de obstáculos:
    - Prueba 1.1: go1_exterior_baja.py; go1_inferencia.py
    - Prueba 1.2: go1_exterior_media.py; go1_inferencia.py 
    - Prueba 1.3: go1_exterior_alta.py; go1_inferencia.py 
    - Prueba 1.4: go1_interior_baja.py; go1_inferencia.py
    - Prueba 1.5: go1_interior_media.py; go1_inferencia.py
    - Prueba 1.6: go1_interior_alta.py; go1_inferencia.py


Prueba 2: Análisis de los mapas de riesgo generados.
    - Prueba 2.1: Precisión de los mapas de riesgo en el entorno interior:
        - Prueba 2.1.1: go1_interior_baja.py; go1_inferencia.py
        - Prueba 2.1.2: go1_interior_media.py; go1_inferencia.py
        - Prueba 2.1.3: go1_interior_alta.py; go1_inferencia.py

    - Prueba 2.2: Estrategia de movilidad para aumentar porcentaje de cobertura:
        go1_interior_alta_zigzag.py; go1_inferencia_zigzag.py


Prueba 3: Análisis de la influencia de parámetros del entorno
    - Prueba 3.1: Influencia del rozamiento en la estabilidad del robot:
        go1_interior_alta_sin_friccion.py; go1_inferencia.py; go1_graficador.py

    - Prueba 3.2 Influencia de la intensidad luminosa en detección de las imágenes:
        go1_interior_alta_poca_luz.py; go1_inferencia.py; go1_graficador.py


Prueba 4: Análisis de la política de aprendizaje empleada.
- Prueba 4.1: Movilidad desinformada (5 repeticiones):
    go1_interior_alta_sala4.py; go1_inferencia_sala4.py; go1_graficador.py

- Prueba 4.2: Movilidad semi-informada (N repeticiones hasta completar la ruta):
    go1_interior_alta_sala4_aprendizaje_caida.py; go1_inferencia_sala4_aprendizaje_caida.py; go1_graficador.py

- Prueba 4.3: Movilidad informada (5 repeticiones):
    go1_interior_alta_sala4_aprendizaje_tiempo_real.py; go1_inferencia_sala4_aprendizaje_tiempo_real.py; go1_graficador.py


Notas:
- La diferencia entre los scripts principales radica en las condiciones del entorno simuladas: densidad de obstáculos (baja, media o alta), uso o no de fricción en las texturas, intensidad luminosa, punto de partida del robot y los waypoints seguidos.
Además, en las pruebas 4.2 y 4.3 se incorporan políticas de locomoción más complejas.
- Todos los scripts de inferencia tienen una estructura muy similar pero varían ligeramente la visualización de los waypoints.
- Por último, el archivo graficador se ha utilizado en las pruebas 3 y 4 para visualizar:
    - Los angulos pich y roll del robot.
    - La dificultad media de la zona de paso en cada instante.
    - La presión ejercida por cada una de las patas.
    - Los ángulos de las 3 articulaciones de cada una de las patas.

Pruebas reales:

Prueba 1: Generación del mapa de riesto con control manual del robot:
    a1_inferencia_sin_aprendizaje.py

Prueba 2: Política de locomoción con aprendizaje:
    a1_politica_locomocion_con_aprendizaje.py; a1_inferencia_con_aprendizaje.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages