This repository contains the main files that make up the TFM "Evaluation of quadruped robot gait in disaster environments" developed at the Polytechnic University of Madrid. These files show the controller of a quadruped robot "Unitree Go1" that allows the robot to navigate in an environment with obstacles. Its operation is based on following a list of waypoints from a start point "A" to a final point "B". In addition, the repository contains the designed test maps, the ROS Noetic workspace used to perform a brief kinematic analysis, a trajectory planner and several videos showing the robot's operation.
go1_Prueba_Nave.mp4
For the correct operation of the programs, it is required to have installed:
- Ubuntu 20.04
- Isaac Sim 4.2
- Nvidia Driver 555
- Cuda 11.8.
- Ros Noetic
-
Clone the Github repository to your computer:
$git clone https://github.com/JTlotus/TFM_Jorge.git
-
Place the "TFM" folder inside your IsaacSim installation folder
$cd .local/share/ov/pkg/isaac-sim-4.2.0
-
Copy the "ros_ws" workspace to your desktop and compile it.
-
Follow the steps in [Installing the Python Environment]](https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_python.html "link title") para crear correctamente el entorno de trabajo.
-
Download the "Matplotlib" and "Skfuzzy" libraries using the following command:
$./python.sh -m pip install name_of_package_here
To correctly reproduce the working script, the following steps must be followed:
-
Initialize "roscore" in the terminal
-
Activate the ROS node. This node is located at ros_ws/src/joint_visualization/scripts
$python plot_node.py
-
Initialize the running script from the IsaacSim installation folder:
$./python.sh TFM/go1_standalone.py
-
Enjoy the simulation!
Note: IsaacSim may take a while to start when you start the simulation. In some cases, an error window will appear asking you to cancel the simulation. Ignore these warnings and continue with the test until it starts. It is necessary to move the camera as soon as it starts, since the initial position is covered by a wall.
Tip: It is possible to modify the robot's movement path. To do this, go to the TFM/Routes folder and select the desired path. To change the path, simply modify the "waypoints" list of the go1_standalone.py
script with the desired waypoints.
Inside your IsaacSim installation folder, a “Results” folder will be generated with several graphs of the implemented path. These graphs show the path taken in the simulation, as well as the error at each waypoint.
If the ROS node is stopped, graphs of the robot's joint positions along the path will be observed.
Below is a link to the project's YouTube channel, where you can watch videos of the different tests carried out: Link to the YouTube channel
On this channel, you can see several playlists corresponding to all the scenarios analyzed during the project. In addition, a video of the locomotion policy trained with IsaacLab is shown.