Skip to content

AnthonyBebek/IRS-ROS2-Automation

Repository files navigation

Contributors Forks Stargazers Issues


IRS-ROS2-Automation

Industrial Robotics and Systems warehouse automation through ROS2 Humble.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. Contact

About The Project

This software was developed to complete labertory work for the Industrial Robotic and Systems (IRS) unit at UC, as of 3rd quarter 2025, https://github.com/CollaborativeRoboticsLab/industrial-robots-and-systems-world.

These ROS2 packages were written for Humble and are made to run on a docker container connected to the warehouse containers hosted by the IRS software.

Warehouse

PLCs

pa_warehouse_status

This package reads from the /hmi/unified_status topic and publishes to the /tatus_updates topic. Which essentially reads the infomation related to the conveyor belt (Box counts and location) and puts it on the ROS2 HMI GUI.

PLCs

Hand_solo_virtual_nav

This package generates a map of the warehouse from a Lidar scanner on the bot, it runs a simple SLAM package in ROS2 to manage both localisation and mapping

PLCs

(back to top)

pineapple_box_sorter

This package takes control of the robot in the warehouse, it picks up the boxes from a conveyor then moves and drops off the package to a drop-off location at the back of the warehouse.

Built With

This project was built with

Python

Docker

ROS

(back to top)

Main Contributior

Anthony Bebek

  • LinkedIn

Getting Started

Git

Install for Windows

  1. Visit the official git website: https://git-scm.com/download/win

  2. Click on the "Click here to download" button to download git.

  3. Once the installer is downloaded, double-click on it to start the installation process.

  4. Follow the on-screen instructions to complete the installation.

  5. During installation, git might require enabling certain features or restarting your system. Follow the prompts accordingly.

Install for linux

  1. Run the following command sudo apt install git-all

Installation

Installing Docker On Linux

This method can also be found on the offical docker website. Found here

  1. Setup Docker's apt repository by running the following commands
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
apt-cache policy docker-ce
sudo apt install docker-ce
  1. Install docker with this command
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. Check docker is installed with
sudo docker run hello-world

(back to top)

Usage

Ensure you have git cloned the repo running on the host machine https://github.com/CollaborativeRoboticsLab/industrial-robots-and-systems-world.

Inside the repo folder, run the commands

sudo docker compose pull
sudo xhost +local:root
sudo docker compose up

I would recommend you write a shell script with these lines to save time in the future.

To run the OpenPLC engine run

sudo docker compose pull
sudo xhost +local:root
sudo docker compose -f compose-editor.yaml up

Then open a vscode window and attach it to the running container via the remote explorer inside /root

Create a folder called ros2_ws and git clone this repo inside if not already created.

inside the vscode terminal run bash ~/ros2_ws/src/setup.sh then follow the instructions in the setup script.

You'll be given the option to install dependacies, (Required on first install) then given the option to run each package.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Contact

Anthony Bebek

  • LinkedIn

Project Link: https://github.com/AnthonyBebek/IRS-ROS2-Automation

(back to top)

About

ROS2 Based automation in a warehouse simulation

Topics

Resources

License

Stars

Watchers

Forks