Computing unit¶
AC's prototype is built for x64 machines running on Ubuntu 22.04 LTS. The system does not exploit GPU acceleration and can run on a laptop, a portable computing unit or a desktop.
In our current prototype we wanted to develop a computing unit that could be easily transported and used in construction sites and shops. For this reason we decided to use a x64 machine of type NUC with these specifics:
OS: Ubuntu 22.04.3 LTS x86_64
Host: NUC13ANHi7 M89903-203
Kernel: 6.8.0-40-generic
Uptime: 8 mins
Packages: 2299 (dpkg), 17 (snap)
Shell: bash 5.1.16
Resolution: 1024x600
DE: GNOME 42.9
WM: Mutter
WM Theme: Adwaita
Theme: Yaru [GTK2/3]
Icons: Yaru [GTK2/3]
Terminal: gnome-terminal
CPU: 13th Gen Intel i7-1360P (16) @ 5.000GHz
GPU: Intel Device a7a0
Memory: 1622MiB / 31645MiB
We decided such machine for our wearable AR system for the following reasons:
x64 target machine
- More importantly, it has the same architecture as a laptop or a desktop, which streamlines the development process (e.g. no
.apk
files to generate and deploy on the device). Additionally, being on UNIX x64 machines, we could leverage all the top notch libraries and dependecies available from robotics and computer vision communities. Small factor
- It is a small form factor computer that can be easily transported.
Low power consumption
- It is energy efficient and can be powered by a 18v (5.0Ah) battery for power tools.
Ordinary Sensor Interface
- It has a USB interface which is common and can be used to connect the camera as well as any other device (e.g. touch screen).
Components list¶
Parts
The battery is a 18v (5.0Ah) battery that can be used for power tools. The battery is connected to the NUC via a 5v regulator (LM785) to ensure a stable power supply. The battery is also connected to a buzzer that will beep when the battery voltage is below a certain threshold (circa 15%). This will inform the user to change the battery. Here's the list of the parts you will need to obtain or realize:
- (C) NUC
- (B) Protective case for the NUC:
- (L) 1x Power tool battery 18v (5.0Ah)
- (I) Battery adapter
- (B) 1x Metal support to connect NUC case, battery adapter, and belt clip
- (G) 1x 5v regulator (LM785)
- (E) 1x USB 2.0 input and alimentation for touch screen
- (D) 1x USB 3.0 camera connection
- (F) 1x HDMI for touch screen
- (H) 1x Battery monitor
Battery monitor blueprint
As a bonus, here's the diagram and code snippet shows how to monitor the battery voltage connected to a NUC using a buzzer. The buzzer will inform when needs to be changed.
To realize this schematic, you will need the following components:
- 1x Arduino Nano
- 1x DIY cable sleeve
- 1x piezo buzzer
- 6x resistors 200ohm
/*
Battmonitor
Measures the voltage of a battery and activates a buzzer if the voltage drops below a certain voltage.
A0 seria -5 A1 seria -4 A2 seria -3 A3 seria -2 A4 seria -1
A5 seria -0 A6 seria 1 A7 seria 2
*/
#include <avr/io.h>
int val = 610; //validated value: 610
// the setup function runs once when you press reset or power the board
void setup() {
pinMode(9, OUTPUT);
pinMode(-4, INPUT);
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
// read the input on analog pin 1:
int sensorValue = analogRead(-4);
if(sensorValue < val) {
analogWrite(9, 300);
digitalWrite(LED_BUILTIN, HIGH);
delay(3000);
analogWrite(9, 127);
digitalWrite(LED_BUILTIN, LOW);
}
else {
analogWrite(9, 0);
digitalWrite(LED_BUILTIN, LOW);
}
delay(3000);
}
If you are using a laptop or a desktop, you just need at least2 Ubuntu 22.04.3 LTS x86_64 installed on your machine and you are good to go.