# TI-project - exploration robot Kobuki ## Description This project is a kobuki that drives around in dangerous areas and detects objects in its path. It uses a camera to detect objects. The purpose of this project is to explore dangerous areas without risking human lives. You are able to control the robot using controller on the website. ## Photos ![Kobuki](/docs/assets/KobukiPhoto.jpg) ## Installation ### Requirements - Kobuki robot - Raspberry Pi (minimum 3B) - Camera - power supply for Raspberry Pi - laptop or computer ### Steps 1. **Install Python and Pip** - Ensure you have Python installed on your system. You can download it from [python.org](https://www.python.org/). - Pip is the package installer for Python. It usually comes with Python, but you can install it separately if needed. 2. **Clone Our Repository** - Clone our repository to your local machine doing the following : - Open your terminal - Change the current working directory to the location where you want the cloned directory. - Type `git clone https://gitlab.fdmci.hva.nl/technische-informatica-sm3/ti-projectten/rooziinuubii79.git 3. **Install the required packages** - Install the following packages on the server: "docker docker-buildx mosquitto nginx" - Install the following packages on the Raspberry Pi: "g++ make cmake libopencv-dev libssl-dev", https://github.com/eclipse-paho/paho.mqtt.c, https://github.com/eclipse-paho/paho.mqtt.cpp 4. **Run the project** #### Server side - Run the following commands in the terminal to start the website: - `cd src/Python/flask` - `sudo docker buildx build -t flaskapp:latest .` - `sudo docker run --network="host" --restart=always flaskapp:latest` - Run the following commands in the terminal to start the MQTT broker: - `cd src/config/server/` - `mosquitto -c mosquitto.conf` - Run the following commands in the terminal to start the Nginx server: - `cd src/config/server/` - `cp nginx.conf /etc/nginx/nginx.conf` - `cp nginx-sites.conf /etc/nginx/sites-enable/nginx-sites.conf` #### Raspberry Pi side - Run the following commands to build and start the driver: - `cd src/C++/Driver` - `cmake ..` - `make` - `./kobuki_driver` - Run the following commands to autostart the driver on startup of the Raspberry Pi: - `cd src/config/rpi/` - `cp kobukiDriver.service /etc/systemd/system/kobukiDriver.service` - `systemctl enable kobukiDriver.service` - `systemctl start kobukiDriver.service` ## Extra notes Dont forget to change the IP address in the `src/C++/Driver/src/main.cpp` file to the IP address of the server.