2010 coscup be_android

26
Connect your device to application

Upload: tick

Post on 31-May-2015

1.913 views

Category:

Technology


5 download

DESCRIPTION

Be Android - Robocat: A Robot Control System -

TRANSCRIPT

Page 1: 2010 coscup be_android

Connect your device to application

Page 2: 2010 coscup be_android

Be “Android” Robocat: robot control system

Tick Chen & Matt Hsu<[email protected]>

<[email protected]>

Page 3: 2010 coscup be_android

Agenda Motivation

Robocat

Architecture

HW

HAL

JNI

Case Study

Demo

Page 4: 2010 coscup be_android
Page 5: 2010 coscup be_android

每個宅男的夢想

Page 6: 2010 coscup be_android

Robocat

Page 7: 2010 coscup be_android

RobocatGoogle Android / GNU Linux 下的機器人控制系統

整合於 0xdroid

可同時控制多組伺服馬達

無痛開發反饋機器人系統

可支援多種伺服馬達

Page 8: 2010 coscup be_android

Architecture

Page 9: 2010 coscup be_android

Hardware PlatformBluetooth dongle

OMAP3530 Beagleboard

BB Mouse -I2C Level Translator1V8 ↔ 5V

SS-14+ Servo

USB

I2CI2C

Page 10: 2010 coscup be_android

Libcatcan, User mode I2C driverLibcatcan is an user space driver for device catcan ss14+

Catcan SS14+

I2C interface

Power: 6v2~7v5

Dynamic PID setting

Plug and play

Group callAsynchonous

Synchonous

Page 11: 2010 coscup be_android

Libcatcan (cont)

i2c-core

i2c-dev

I2C hostcontrollerI2C hostcontroller

libcatcanlibcatcan-360

I2C Bus

No kernel driver needed, but enabling I2C bus 2 is requisite

Easy and convenient to integrate with application

Features:

Seek/get positionGroup actionChange I2C address

I2C slave

Page 12: 2010 coscup be_android

Librobocat

Abstract robot control system

Position aware

Sync and Async control

Grouping cats

Page 13: 2010 coscup be_android

Robocat (cont)

Page 14: 2010 coscup be_android

librobocat-jni

Very thin layer glues librobocat and Robocat Java API

Page 15: 2010 coscup be_android

Robocat Java API

Java library controls the librobocat

Work flawlessly with Android API

Page 16: 2010 coscup be_android

Case Study– 0xSpider –

Page 17: 2010 coscup be_android

Spider Architecture

Page 18: 2010 coscup be_android

0xspiderClient: UI

Page 19: 2010 coscup be_android

JSON (JavaScript Object Notation)We need a simple protocol for remote controlling

Lightweight data interahcnage: serialize/de-serialize

Natively support in Android

Easy to have extension

User Interface

Command Manager

Robjson extends JSONObject {

enum ReqType{ STANDBY, FORWARD, BACKWARD, RIGHT, LEFT, TICKLE, UNDIFINED}}

Rfcomm

Bluetooth

0xSpiderClient

→ {“CMD”: “STANDBY”}→ {“CMD”: “STANDBY”}

Page 20: 2010 coscup be_android

Synaptic

Page 21: 2010 coscup be_android

Inverse KinematicsCosine Law

Page 22: 2010 coscup be_android

Degree Calibration

Page 23: 2010 coscup be_android

Command Flow

Page 24: 2010 coscup be_android

DEMO

Page 25: 2010 coscup be_android

ReferenceRobocat Project: http://code.google.com/p/0xrobocat/

Robocat Source: http://gitorious.org/robocat/robocat

0xdroid: http://code.google.com/p/0xdroid/

Board: http://beagleboard.org/

Servo BBMouse: http://www.catcan.com.tw/

Inverse Kinematics: http://freespace.virgin.net/hugo.elias/models/m_ik.htm

Bluetooth Module: http://www.azurewave.com/

Camera Module: http://www.azurewave.com/

Page 26: 2010 coscup be_android

15 Aug 2010Conference

Sponsoredby

http://0xlab.org