9
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

Raspberry Pi robot with ROS

Embed Size (px)

Citation preview

Page 1: Raspberry Pi robot with ROS

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

Page 2: Raspberry Pi robot with ROS

MotivationWhy do we need physical robot for research related to robotics?

Drawbacks of software simulatorsI don’t provide precise sensor modelI don’t simulate unwitting environment changesI aren’t such fun as physical robot

Robot requirements

I framework should be firm enough to carry sensorsI robot should be extendable with sensors and circuitsI robot should be assembled from affordable parts

Artur Huletski, Dmitriy Kartashov (APTU) 2015 2 / 9

Page 3: Raspberry Pi robot with ROS

The first prototype

PartsI Lego TechnicI SG90 (steering)I HCRS-04 (sonar)I 28BYJ-48 (s. rotation)I noname DC (movement)

DrawbacksI Ackerman steeringI fragile

Artur Huletski, Dmitriy Kartashov (APTU) 2015 3 / 9

Page 4: Raspberry Pi robot with ROS

The second attempt: Steel Lemon (SL)

Artur Huletski, Dmitriy Kartashov (APTU) 2015 4 / 9

Page 5: Raspberry Pi robot with ROS

Hardware scheme

Raspberry Pi B

Arduino UnoL298-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

Page 6: Raspberry Pi robot with ROS

SL description: Hardware

Used parts

I Bones: Trik parts (Meccano-like clone)I Brain: Raspberry Pi B (RPi)I Spinal Cord : Arduino Uno (ArdU)I Legs: 2 x JGA25-375 (DC motors with encoders)I Eyes: HCSR-04 (sonar) + usb camera

DetailsI UBEC is used to convert battery voltage to 5VI L298 PCB is used to control direction of motors rotationI ArdU is used to control movement distanceI RPi and Arduino communicate via I2CI voltage divider is used to connect HCSR-04 to RPi

Artur Huletski, Dmitriy Kartashov (APTU) 2015 6 / 9

Page 7: Raspberry Pi robot with ROS

SL description: SoftwareROS framework is used as base.

Implemented modules

I HCSR-04 driver. Idea: measure duration of high signal on Echo portI Motor driver

I RPi part converts distance and angle to encoder ticksI ArdU part counts encoder ticks, controls motors rotation

I Artificial landmark detectorI Main controller that provides command line robot interface

DetectorMain

controller

Camera Sensor Motors

Artur Huletski, Dmitriy Kartashov (APTU) 2015 7 / 9

Page 8: Raspberry Pi robot with ROS

ConsclusionDesigned robot meets initial requirements and has already been used fordevelopment artificial landmark detector.

FutureI merge ArdU and L298 PCB into single circuit to save spaceI add support of arc trajectory movement to motor driverI add sonar-motor direct communication

Artur Huletski, Dmitriy Kartashov (APTU) 2015 8 / 9

Page 9: Raspberry Pi robot with ROS

SL: Current version

New parts

I Sharp GP2Y0A021YK(IR range finder)

I 28BYJ-48 (rotation)I I2C voltage level

regulator

IssueI BCM2835 hardware bug

related to I2C clockstretching

“WA”I Slow down I2C baud rate

Artur Huletski, Dmitriy Kartashov (APTU) 2015 9 / 9