Skip to content

MaxPacheco02/TurboPlusPlus_IntegracionRobotica

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Turbo++ IntegracionRobotica TE3003B.501

Configuration Manual

Prerequisites

To run the contents of this repository, make sure you have the following:

  1. Ubuntu 22.04

If you do not have Ubuntu installed, you can look at this Disk partition for Dual Booting with Windows and Ubuntu 22.

  1. ROS 2 Humble

If you do not have this distribution installed, read the following installation guide.

  1. GZ SIM Harmonic

If you do not have this version of Gz sim installed, read the following installation guide.

Install the ros_gz package with:

sudo apt-get install ros-humble-ros-gz
  1. CUDA 12.8 Toolkit

Download here.

Getting this repository

# Clone the repository and initialize submodules
git clone https://github.com/MaxPacheco02/TurboPlusPlus_IntegracionRobotica.git
cd TurboPlusPlus_IntegracionRobotica

# Very important!
git submodule update --init --recursive

Setting up Model Predictive Control libraries

For the repository libraries at ./src/TurboPlusPlus_ImplementacionRobotica/pzb_ws/pzb_control/libs/, fatrop and rockit, do the following (from this directory):

# Travel to the first lib
cd src/TurboPlusPlus_ImplementacionRobotica/pzb_ws/pzb_control/libs/fatrop

# Follow the repo's build instructions.
export CMAKE_ARGS="-DBLASFEO_TARGET=X64_AUTOMATIC -DENABLE_MULTITHREADING=OFF"
cd fatropy 
pip install .

# Also setup the second lib which is interfaced via fatrop (first lib)
cd ../..
cd rockit/rockit/external/fatrop
git clone https://gitlab.kuleuven.be/u0110259/rockit_fatrop_plugin.git
cd ../../..
pip install .

NOTE: Because the libraries seem to currently be in beta phase, we'll use previous commits. That's why the submodules have a detached head to a version developed around September 2024.

Enjoy the functionalities!

Teleoperating the robot using the kinematic model

# Terminal 1
ros2 launch pzb_control pzb_control_launch.py

# Terminal 2
rviz2 -d ~/TurboPlusPlus_IntegracionRobotica/src/pzb_description/rviz/rviz2.rviz

# Terminal 3
ros2 launch pzb_description rviz_launch.py

# Terminal 4
ros2 run pzb_control pzb_teleop_low_level_node.py

Teleoperating the robot using GZ SIM

# Terminal 1
ros2 launch pzb_description gz_launch.py

# Terminal 2
rviz2 -d ~/TurboPlusPlus_IntegracionRobotica/src/pzb_description/rviz/rviz2.rviz

# Terminal 3
ros2 launch pzb_description rviz_launch.py

# Terminal 4
ros2 run pzb_control pzb_teleop_low_level_node.py

Controlling 3 robots at once

# Terminal 1
rviz2 -d ~/TurboPlusPlus_IntegracionRobotica/src/pzb_description/rviz/multiple.rviz

# Terminal 2
ros2 launch pzb_swarm multi_robot_launch.py

Run SLAM with CUDA

# Terminals 1-4
# Run the GZ SIM Teleoperating Instructions

# Terminal 5 
ros2 run pzb_localization mcl_node

Team members:

Andrés Carrizales - A00832679

Daniel Castañon - A01284991

Demian Marin - A01368643

Max Pacheco - A01552369

Neil Hernandez - A01284713

About

TE3003B.501

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5