KRECIC (Knowledge and Robotics Educational Companion for Interactive Computing) | A Modular Wheeled Robot for Educational Usage
This project has been developed as a final year project for the BEng in Computer Engineering (Hons) at the University of Greenwich (Academic Year 2023/24).
This project can only be used for educational purposes and it cannot be used for commercial purposes. All credits must be given to the creator and the University of Greenwich.
This document presents an overview of both the hardware and software setups to successfully re-create this project. This repository is organised into two predominant sections: (a) hardware and (b) software.
This sections outlines the necessary steps in successfully setting up KRECIC's hardware components.
Keep in mind, that KRECIC has been designed with modularity and evolution in mind. Therefore, the exact components are not necessary.
Consider the Bill of Materials (BOM) of all electronics you may need to get started with the building of KRECIC.
To successfully manufacture the 3D printable components found here, you will require either an FDM or resin printer. The following components are recommended to be manufactured using TPU, the other components may be manufactured using PLA, ABS, or PETG:
When all components are acquired, the assembly process is straight forward. However, consider using a solder and shrink tubes for appropriately connecting the power switch to the main circuit.
The next section focuses on the basic software setup of KRECIC, allowing the user to test components and consequently perform educational exercises.
The operating system used for this project has been Ubuntu 22.04. Consider following instructional steps here
KRECIC uses Robot Operating System 2 Humble Hawksbill. Please consider the following installation guide from ROS2:
Click here for ROS2 Humble Installation Guide
To test motor control please follow the circuit setup as demonstrated in the following diagrams, click here
Upon successful circuit setup, start with the single motor test, then follow up with the double motor test. Lastly, you can control KRECIC using OpenSSH (as long as both KRECIC's raspberry pi, and your main machine are on the same network). Click here to explore the motor control tests.
To successfully mount and test the camera module, follow the following steps:
-
Connect the camera module to the Raspberry Pi:
-
Verify Camera Connection and Permissions:
After connecting the camera module to the Raspberry Pi, confirm that the camera is recognised using the following:
vcgencmd get_cameraThe output of this command should produce the following output:
supported=1 detected=1Check if your username has access to the camera by using the following command:
groupsThe output of this command should
video. If not, use the following command to add your username to thevideogroup:sudo usermod -aG video <your_username> -
Install
raspi-config:sudo apt install raspi-config sudo raspi-config -
Enable
Legacy Camera,SPI, andI2Cin Interface OptionsRestart your Raspberry Pi.
-
Install FFMPEG
Multiple softwares can be installed to test the functionality of the camera. The camera module can be tested with
libcamera,ros2,opencv, etc. This tutorial usesffmpeg.sudo apt install ffmpeg -
Perform Picture Test
ffmpeg -f video4linux2 -i /dev/video0 -vframes 1 test_image.jpg -
Perform Video Recording Test
ffmpeg -f video4linux2 -i /dev/video0 -t 10 -c:v libx264 test_video.mp4 -
Perform Live Stream Test
ffmpeg -f video4linux2 -i /dev/video0 -f mpegts - | ffplay -
To successfully mount and test the LD06/LD19 LiDAR module please consider the repository by ldrobotSensorTeam. This tutorial presents a 4-step process on how to mount the LiDAR sensor, and use ROS2 to test it's functionality. It is advisable that you already have ROS2 installed on your Raspberry Pi. Consider the following link:
LD06/LD19 Testing Instructions by ldrobotSensorTeam
- @WJOchman
- Contact:
This work is licensed under CC BY-NC-SA 4.0


