comp.nus.edu.sg/~guoyi / tutorial / cg2111a / ros-reference / release

Tutorial: Robot Operating System for EPP2


Engineering Principles and Practice II [CG2111A]

Author: Boyd Anderson; Chen Guoyi
Supervisors: Henry Tan; Nguyen Tien Khoa; Ravi S/O Suppiah; Sean Tan Rui Xiang; Tan Keng Yan, Colin.

This tutorial is sponsored by the NUS School of Computing and brought to you by the AY23/24 CG2111A Teaching Team.

Raspberry Pi OS (PurplePet) v1.0.1

Release date: March 24th 2024
System Architecture: 64-bit ARM
Debian version: 10 (Buster) from 2023-05-03-raspios-buster-armhf.img.xz
Size: 6.81 GB
Download from: PurplePet-v1.0.1.img
Checksum (SHA256): e61df9b4558efbd6db0af0714fdd41a5fc84a6930eb3db4fc8dff970b21c6393
Back up everything on your Raspberry Pi 4 to your PC before writing this image!

PurplePet

Username & Password



Release Note

  • This OS image is the latest stable version based on Debian 10 with pre-deployed ROS Noetic inside.
  • Designed for CG2111A AY23/24 Cohort ALEX Final Task. Built by CG2111A Teaching Team.
  • Students can build this OS from source by following instructions in Tutorial 1.
  • Fixed some issues.

Pre-deployed Features

  • All pre-deployed packages, libraries and softwares are built from the latest source.
  • All Debian 10 dependencies are up-to-date, since Debian 10 is End-of-Life (EoL) in 2024, this images was built from the last stable version of Debian 10.
  • Pre-deployed the latest version of ROS Noetic, with all necessary packages inside.
  • Pre-deployed RPi LiDAR packages, with all dependencies.
  • Pre-deployed Wi-Fi "NUS_STU" certificate.
  • Pre-installed the latest version of VNC Server for ARM (v6.7.2).
  • Pre-installed the latest version of Sublime Text Editor for ARM.
  • Pre-installed the latest version of Arduino IDE for ARM (v1.8.1).
  • Pre-installed the latest version of Thonny Python IDE for Debian with Python3 environment pre-defined (v3.7.3).
  • Pre-installed some Python libraries, such as flask, matplotlib...
  • Pre-installed the latest version of gparted for Debian 10.
  • Developed a new Terminal Welcome Rule in .bashrc, once student begins a new session from ssh or terminal, they will receive essential information from Raspberry Pi, such as ROS source, IP address, etc.
  • Pre-enabled VNC and SSH.

Issue Solved

  • Permission on port /ttyUSB0 is granted to all users, which improve the stability of LiDAR connection.
  • Broadcasting Port 11311 is added to firewall outbound rules. (for ROS Networking).
  • HTTP Port 80 is added to firewall outbound rules (for Python Flask Server).
  • "Cannot currently show the desktop" issue solved by pre-render GUI.
  • Set up BOOT priority to avoid "Rainbow Like" screen.

Performance Test (on Raspberry Pi 4)

Test Item Result
Plug and Play on Raspberry Pi 4 Supported
Plug and Play on Raspberry Pi 5 Supported
System is stable and works continuously for 5 hours Supported
Radar is stable and works continuously for 5 hours Supported
Stable operation under undervoltage Supported
System continuously renders SLAM Map for 3 hours Supported
System continuously renders SLAM Map while simultaneously doing UART serial communication Supported
Hot-plug HDMI Supported
Auto-recovery after hot-plugging power supply Supported
Auto-recovery after hot-plugging SD card and rebooting Supported

< Prev  Tutorial 4: ROS Networking