Design of mobile robot on Raspberry Pi
Arthur Huletski, Dmitriy Kartashov
The Academic University, Saint-Petersburg
2015
Artur Huletski, Dmitriy Kartashov (APTU) 2015 1 / 9
Motivation
Why do we need physical robot for research related to robotics?
Drawbacks of software simulators
don’t provide precise sensor model
don’t simulate unwitting environment changes
aren’t such fun as physical robot
Robot requirements
framework should be firm enough to carry sensors
robot should be extendable with sensors and circuits
robot should be assembled from affordable parts
Artur Huletski, Dmitriy Kartashov (APTU) 2015 2 / 9
The first prototype
Parts
Lego Technic
SG90 (steering)
HCRS-04 (sonar)
28BYJ-48 (s. rotation)
noname DC (movement)
Drawbacks
Ackerman steering
fragile
Artur Huletski, Dmitriy Kartashov (APTU) 2015 3 / 9
The second attempt: Steel Lemon (SL)
Artur Huletski, Dmitriy Kartashov (APTU) 2015 4 / 9
Hardware scheme
Raspberry Pi B
Arduino Uno
L298-based PCB
JGA25-375
JGA25-375
HCSR-04 Camera
UBEC
3:2 Voltage Divider
3:2 Voltage Divider
11.1V battery
11.1V
5V
5V
5V
Motors On/Off
11.1V
11.1V
Encoder Data
Trig request
5V response
3V response
5V
5V
5V
USB
5V ping
3V ping
[I2C]
Movement
request
Artur Huletski, Dmitriy Kartashov (APTU) 2015 5 / 9
SL description: Hardware
Used parts
Bones: Trik parts (Meccano-like clone)
Brain: Raspberry Pi B (RPi)
Spinal Cord: Arduino Uno (ArdU)
Legs: 2 x JGA25-375 (DC motors with encoders)
Eyes: HCSR-04 (sonar) + usb camera
Details
UBEC is used to convert battery voltage to 5V
L298 PCB is used to control direction of motors rotation
ArdU is used to control movement distance
RPi and Arduino communicate via I2C
voltage divider is used to connect HCSR-04 to RPi
Artur Huletski, Dmitriy Kartashov (APTU) 2015 6 / 9
SL description: Software
ROS framework is used as base.
Implemented modules
HCSR-04 driver. Idea: measure duration of high signal on Echo port
Motor driver
RPi part converts distance and angle to encoder ticks
ArdU part counts encoder ticks, controls motors rotation
Artificial landmark detector
Main controller that provides command line robot interface
Detector
Main
controller
Camera Sensor Motors
Artur Huletski, Dmitriy Kartashov (APTU) 2015 7 / 9
Consclusion
Designed robot meets initial requirements and has already been used for
development artificial landmark detector.
Future
merge ArdU and L298 PCB into single circuit to save space
add support of arc trajectory movement to motor driver
add sonar-motor direct communication
Artur Huletski, Dmitriy Kartashov (APTU) 2015 8 / 9
SL: Current version
New parts
Sharp GP2Y0A021YK
(IR range finder)
28BYJ-48 (rotation)
I2C voltage level
regulator
Issue
BCM2835 hardware bug
related to I2C clock
stretching
“WA”
Slow down I2C baud rate
Artur Huletski, Dmitriy Kartashov (APTU) 2015 9 / 9

Raspberry Pi robot with ROS

  • 1.
    Design of mobilerobot on Raspberry Pi Arthur Huletski, Dmitriy Kartashov The Academic University, Saint-Petersburg 2015 Artur Huletski, Dmitriy Kartashov (APTU) 2015 1 / 9
  • 2.
    Motivation Why do weneed physical robot for research related to robotics? Drawbacks of software simulators don’t provide precise sensor model don’t simulate unwitting environment changes aren’t such fun as physical robot Robot requirements framework should be firm enough to carry sensors robot should be extendable with sensors and circuits robot should be assembled from affordable parts Artur Huletski, Dmitriy Kartashov (APTU) 2015 2 / 9
  • 3.
    The first prototype Parts LegoTechnic SG90 (steering) HCRS-04 (sonar) 28BYJ-48 (s. rotation) noname DC (movement) Drawbacks Ackerman steering fragile Artur Huletski, Dmitriy Kartashov (APTU) 2015 3 / 9
  • 4.
    The second attempt:Steel Lemon (SL) Artur Huletski, Dmitriy Kartashov (APTU) 2015 4 / 9
  • 5.
    Hardware scheme Raspberry PiB Arduino Uno L298-based PCB JGA25-375 JGA25-375 HCSR-04 Camera UBEC 3:2 Voltage Divider 3:2 Voltage Divider 11.1V battery 11.1V 5V 5V 5V Motors On/Off 11.1V 11.1V Encoder Data Trig request 5V response 3V response 5V 5V 5V USB 5V ping 3V ping [I2C] Movement request Artur Huletski, Dmitriy Kartashov (APTU) 2015 5 / 9
  • 6.
    SL description: Hardware Usedparts Bones: Trik parts (Meccano-like clone) Brain: Raspberry Pi B (RPi) Spinal Cord: Arduino Uno (ArdU) Legs: 2 x JGA25-375 (DC motors with encoders) Eyes: HCSR-04 (sonar) + usb camera Details UBEC is used to convert battery voltage to 5V L298 PCB is used to control direction of motors rotation ArdU is used to control movement distance RPi and Arduino communicate via I2C voltage divider is used to connect HCSR-04 to RPi Artur Huletski, Dmitriy Kartashov (APTU) 2015 6 / 9
  • 7.
    SL description: Software ROSframework is used as base. Implemented modules HCSR-04 driver. Idea: measure duration of high signal on Echo port Motor driver RPi part converts distance and angle to encoder ticks ArdU part counts encoder ticks, controls motors rotation Artificial landmark detector Main controller that provides command line robot interface Detector Main controller Camera Sensor Motors Artur Huletski, Dmitriy Kartashov (APTU) 2015 7 / 9
  • 8.
    Consclusion Designed robot meetsinitial requirements and has already been used for development artificial landmark detector. Future merge ArdU and L298 PCB into single circuit to save space add support of arc trajectory movement to motor driver add sonar-motor direct communication Artur Huletski, Dmitriy Kartashov (APTU) 2015 8 / 9
  • 9.
    SL: Current version Newparts Sharp GP2Y0A021YK (IR range finder) 28BYJ-48 (rotation) I2C voltage level regulator Issue BCM2835 hardware bug related to I2C clock stretching “WA” Slow down I2C baud rate Artur Huletski, Dmitriy Kartashov (APTU) 2015 9 / 9