To run the contents of this repository, make sure you have the following:
- 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.
- ROS 2 Humble
If you do not have this distribution installed, read the following installation guide.
- 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
- CUDA 12.8 Toolkit
Download here.
# 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
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.
# 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
# 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
# Terminal 1
rviz2 -d ~/TurboPlusPlus_IntegracionRobotica/src/pzb_description/rviz/multiple.rviz
# Terminal 2
ros2 launch pzb_swarm multi_robot_launch.py
# Terminals 1-4
# Run the GZ SIM Teleoperating Instructions
# Terminal 5
ros2 run pzb_localization mcl_node