NEMO is a robot designed to compete in Robot@Factory 4.0 challenge.
- Ubuntu 22.04
- ROS Humble Hawkbill
- Gazebo Fortress
- RViz2
- Navigation2
.
โโโ Dockerfile # Dockerfile with necessary dependencies
โโโ docker-run.sh # Script to run the Docker container
โโโ docs # Documentation
โโโ nemo # Core package
โ โโโ CMakeLists.txt
โ โโโ package.xml
โ โโโ config # Configuration files
โ โโโ launch # Launch files
โ โโโ maps # Map files
โ โโโ models # Gazebo models
โ โโโ README.md # This file
โ โโโ rviz # RViz configuration files
โ โโโ src # Source code
โ โโโ worlds # Gazebo world files
โโโ README.mdTo run the project, you can either use Docker or install the dependencies on your system.
docker build -t ros2:ubuntu-humble-desktop-full .To run the Dockerfile, run the following script:
./docker_run.shTo connect to an existing container, use:
docker exec -it <container_id> bashYou can get the <container_id> by running docker ps:
Assuming you are using Ubuntu 22.04, you need to install the following dependencies:
# Installing ROS2 Humble
sudo apt-get update && \
apt-get install -y --no-install-recommends \
ros-humble-desktop-full
# Installing colcon
sudo apt-get install -y python3 python3-pip && \
pip install -U colcon-common-extensions
# Installing navigation packages
sudo apt install -y \
ros-humble-robot-localization \
ros-humble-joint-state-publisher \
ros-humble-navigation2 \
ros-humble-nav2-bringup
# Installing Cyclone DDS
sudo apt install -y \
ros-humble-rmw-cyclonedds-cpp
export RMW_IMPLEMENTATION="rmw_cyclonedds_cpp"
# Setting up Gazebo models path
export IGN_GAZEBO_RESOURCE_PATH="$(pwd)/nemo/models"
echo "source /opt/ros/humble/local_setup.bash" >> ~/.bashrcTo launch the project, you first need to build with it colcon, from the root directory:
colcon buildThen, you need to source the setup.bash file:
source install/setup.bashNow to run the necessary nodes, you can run the following commands in separate terminals:
ros2 launch nemo simulation.launch.pyros2 launch nemo navigation.launch.py