Robot 13
Overview
A tall mobile robot with IR thermal sensing that will try to find people and interact with them.
Current status
The motor control module is working but needs some fine tuning
I haven’t figured out how to use the LIDAR on the Raspberry Pi yet
The upper module (the one with the eyeball and screen) is working well. It will be linked to the Pi with a USB cable or an ESP32.
Sensors
![]() |
|||
Panasonic GridEye
8X8 thermal sensor AMG8833 |
LIDAR
This device will measure distance all the way around the robot. The manufacturer provides a test program for Windows. I gave it a try and it seems to work well There’s a screen shot above.
Control
I was planning to use a Raspberry Pi to control the robot, but I’m finding it to be difficult to use for that purpose. The Pi uses too much power to be used in battery powered devices.
I’m going to try an ESP32 board. It can use as little a 30mA without wifi.
It will send commands to the following modules:
- Upper IO board – eyeball tracking and display
- Motor control
- LIDAR
Upper I/O board
This module uses a thermal sensor to detect and track people. Two servos move the sensor horizontally and vertically to keep it pointed toward people. The temperatures are shown on the display as both numbers and colors.
The module is controlled by an Arduino Nano clone and will connect to the Raspberry Pi with a USB cable. I’ll have to come up with a set of commands for it.
Color code
14°C and below – black
18°C – blue
22°C – magenta
26°C – red
30°C – yellow
34°C and above – white
The bottom of the screen turns green while a person is detected. That’s currently defined as anything between 28 and 34 degrees.
Base
Motor control board
Uses 2 LMD18220s and an Arduino Nano clone
Arrived March 25Here are the Eagle files.
Parts from Digikey
Software options
Option 1
I wrote a simple test program. It uses these commands:
0 | stop |
1 | full speed forward |
2 | medium speed forward |
3 | low speed forward |
4 | gradual right turn |
5 | sharp right turn |
6 | gradual left turn |
7 | sharp left turn |
8 | reverse |
9 | brake |
Option 2
Dale wrote some software that uses these commands. It uses PID. It’s in the testing and fine tuning phase.
Set speed | Set direction | Rotate |
s0 stopped s1 20% s2 30% s3 40% s4 50% s5 60% s6 70% s7 80% s8 90% s9 100% |
d1 turn left, 50cm radius d2 turn left, 100cm radius d3 turn left, 2m radius d4 turn left, 10m radius d5 straight ahead d6 turn right, 10m radius d7 turn right, 2m radius d8 turn right, 100cm radius d9 turn right, 50cm radius |
x0 rotate left 180 degrees x1 rotate left 90 degrees x2 rotate left 45 degrees x3 rotate left 30 degrees x4 rotate left 15 degrees x5 rotate right 15 degrees x6 rotate right 30 degrees x7 rotate right 45 degrees x8 rotate right 90 degrees x9 rotate right 180 degrees |
b reverse at low speed
Option 3
Albert has some software written that we could use.
Motors
Banebots 12VDC, 64:1 planetary gearset, 1A with no load