Skip to content

RAMEL-ESPOL/EduQ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

169 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EduQ (Educational Quadruped): Facilitates the understanding of theoretical concepts through hands-on practice

EduQ is a quadruped robot designed to promote STEAM education and, through practice, facilitate the learning of theoretical concepts studied in the early stages of engineering programs. This repository includes all the necessary files to build and simulate the robot using ROS2 Humble and Isaac Sim.

Argos

Prerequisites

Before starting, make sure the following is installed:

  1. ROS 2 Humble: Installation Instructions.
  2. Nvidia Isaac Sim: Download and Installation.

Project Setup

1. Install dependencies

commands
dependencies

2. Clone and Compile the Repository

Open a terminal and run the following commands:

git clone https://github.com/RAMEL-ESPOL/EduQ.git
cd EduQ/robot_ws/
source /opt/ros/humble/setup.bash
colcon build

This clones the repository, sets up the ROS 2 environment, and compiles the packages. Once completed, you can close the terminal.

Simulation in Isaac Sim

Argos

1. Load the robot in Isaac Sim

  1. Launch Isaac Sim from Nvidia Omniverse.

  2. In the Isaac Sim App Selector window, make the following configurations:

    • In ROS Bridge Extension, select omni.isaac.ros2_bridge.
    • In Use Internal ROS2 Libraries, select humble.
    • Click the START button.
  3. In the main Isaac Sim window:

    • Click the File tab and select Open.
    • Navigate to the argos2.usd file in the EduQ/robot_ws/USD directory and open it.
    • Click the Play button to start the simulation.

2. Load the Robot Controller

Open a new terminal and run the following commands:

cd EduQ/robot_ws/
source install/setup.bash
ros2 launch package_control robot_control.launch.py

This will load the robot controller and it will be ready to use. You can now use a PlayStation controller to control the robot during the simulation.

Simulation in Gazebo

Argos

To run the simulation in Gazebo, open a new terminal and run the following commands:

cd EduQ/robot_ws/
source install/setup.bash
ros2 launch package_description gazebo.launch.py

This will open Gazebo with the robot model and controller loaded and ready to use. You can now use a PlayStation controller to control the robot during the simulation.

Simulation in rviz2

Argos

  1. Open a new terminal and execute the following commands:

    cd EduQ/robot_ws/
    source install/setup.bash
    ros2 launch package_description rviz.launch.py
  2. In Rviz, set the fixed frame:

    • Select base_link.
  3. Add the robot model visualization:

    • Click the Add button.
    • In the Rviz2 pop-up window, click on By display type.
    • Select RobotModel and click the OK button.
  4. Set the robot description topic:

    • In the RobotModel section, select the topic /robot_description in Description Topic.

Robot Movements

To understand how to use the PS4 controller to control the Argos quadruped, it is essential to know both the robot's coordinate system and the function assigned to each button on the controller, which are presented below.

Argos

Mando PS4

The robot has three operating modes: stand, crawl, and trot.

1. Stand Mode

In this mode, the robot keeps all its legs in contact with the ground at all times. Meanwhile, it changes its orientation by varying the roll, pitch, and yaw angles. Press the X button to select stand mode. By moving the sticks, you can perform the following actions.

Joystick/Button Direction Action
Left stick Up Linear movement +Z
Down Linear movement -Z
Right Rotation -X
Left Rotation +X
Right stick Up Rotation +Y
Down Rotation -Y
Right Rotation -Z
Left Rotation +Z

2. Crawl Mode

In this mode, the robot moves one leg at a time, which allows it to move forward, backward, and rotate around its own axis. Press the triangle button to select crawl mode. By moving the sticks, you can perform the following actions.

Joystick/Button Direction Action
Left stick Up N/A
Down N/A
Left Rotation +Z
Right Rotation -Z
Right stick Up Linear movement +X
Down Linear movement -X
Left N/A
Right N/A

3. Trot Mode

In this mode, the robot moves two diagonal legs simultaneously. Although this gait is not completely stable, a PID controller with IMU feedback is implemented to improve balance. This mode allows the robot to move omnidirectionally. Press the Circle button to select the trot mode. By moving the stick, you can perform the following actions.

Joystick/Button Direction Action
Left stick Up N/A
Down N/A
Left Rotation +Z
Right Rotation -Z
Right stick Up Linear movement +X
Down Linear movement -X
Left Linear movement +Y
Right Linear movement -Y

Physical Robot Control

Argos

To move the physical robot

First terminal

docker exec -it humble /bin/bash
cd home/ubuntu/EduQ/robot_ws/
source install/setup.bash
ros2 launch package_control robot_control.launch.py

Second terminal

xhost +local:docker
docker exec -it humble /bin/bash
cd home/ubuntu/EduQ/robot_ws/
source install/setup.bash
python3 UI/controller.py

Third terminal

docker exec -it humble /bin/bash
cd home/ubuntu/EduQ/robot_ws/
source install/setup.bash
ros2 run package_sim2real node_sim2real

🧭 Using a physical IMU

First terminal

docker exec -it humble /bin/bash
cd home/ubuntu/EduQ/robot_ws/
source install/setup.bash
ros2 run package_sim2real node_imu_real

Second terminal

docker exec -it humble /bin/bash
cd home/ubuntu/EduQ/robot_ws/
source install/setup.bash
ros2 run imu_filter_madgwick imu_filter_madgwick_node --ros-args -p use_mag:=false

Third terminal

xhost +local:docker
docker exec -it humble /bin/bash
cd home/ubuntu/EduQ/robot_ws/
source install/setup.bash
rviz2

Visualizing the IMU in RViz2

  1. Open RViz2 and set the Fixed Frame to "odom".
  2. To visualize the IMU reference frame:
    • Click the "Add" button.
    • Select "By display type".
    • Click on "imu".
    • Click "OK".
    • Expand the IMU menu.
    • In the "Topic" option, select "/imu/data".

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •