1
University at Buffalo The State University of New York Mechanical and Aerospace Engineering (SEAS) Bluetooth Interface with Robotic Systems using MATLAB INTRODUCTION Background Dr. Venkat N. Krovi [email protected] Advisor APPROACH Bluetooth is a low-cost, easily configurable data radio link which has been a preferred choice for wireless communication in robotic systems given its simplicity, flexibility and energy efficiency. With the documentation of Application Programming Interfaces (API) and Software Development Kits (SDK), computing languages such as C/C++, MATLAB or Python have been utilized extensively to create Bluetooth interfaces for robot control. RESULTS FUTURE WORK ACKNOWLEDGMENT Author Yi Jui Lee [email protected] Motivation DISCUSSIONS Short-range wireless controlled robots are useful and desired in various fields. Bluetooth is becoming a standard for wireless communications. Consequently, many commercial devices come with an API and SDKs, encouraging users to control the device with Bluetooth. Combined with the capability of computing languages, Bluetooth technology can be used to build up applications offering a higher level of functionality in robotic systems. Developing Bluetooth interfaces with MATLAB is desirable since MATLAB is a simple and popular computing language. Problem Statement Following the API, the packets are sent from MATLAB to Sphero in the following byte format: Packet Structures The purpose of this project is focused on leveraging Bluetooth with MATLAB to communicate and manipulate robotic systems wirelessly. A working example on designing and implementing the remotely controllable robotic system with MATLAB will be demonstrated. Sphero (a robotic ball) was chosen as the robotic system to be controlled. Our goal is to control the color of the robot and also command the robot to roll according to a specified trajectory drawn in MATLAB. The control scheme are outlined as follow: Sends data in bytes coherent to packet structure User Input to MATLAB GUI in Computer Actions according to data received Sphero A Depiction of Bluetooth Technology with Robotic Systems MATLAB The connection between Sphero and MATLAB was established using the Instrument Control Toolbox in MATLAB, which contains a library of functions for Bluetooth communication. The buttons and sliders incorporated in the GUI are embedded with callback functions, relaying to the source code. A freehand sketch workspace is created to allow users to draw a trajectory for the robot to roll accordingly. Initiate Sphero Connection - Sphero is connected utilizing the functions such as instrfind, fopen. User Input - The input data is extracted from the GUI and passed to their respective callback functions in the source code. Transmit Data - All the data are converted into their respective numeral systems and sent to Sphero using fwrite. Each function has a unique packet framework. The interested functions and their packet structure are listed below: The robotic device (Sphero) was successfully controlled by the implementation of the Bluetooth interface in MATLAB. This project has exhibited the simplicity and capability of MATLAB in robot control over Bluetooth. The significance of numeral systems in Bluetooth communication protocol is demonstrated. The source code used in this project is published on MATLAB Central. Developing an interface to control Sphero with Myo (a gesture based Bluetooth device). Extracting real-time data from the IMU sensors in Sphero to MATLAB. Designing a home based rehabilitation activity for Sphero and Myo. Publishing within the Institutional Repository (IR). This work was done as part of the NSF Research Experience for Undergraduates (REU) and the IEEE Robotics and Automation Society (RAS) project at ARMLAB. Special thanks to Professor Venkat Krovi, Mark Tomaszewski, and all the members of the ARMLAB. The implementation is shown in a series of pictures below. Sphero rolls according to trajectory User adjusts color preferences User draws trajectory

Bluetooth Interface with Robotic Systems using MATLABcurca.buffalo.edu/students/pdfs/2015_posters/bluetooth-interface... · Bluetooth Interface with Robotic Systems using ... The

Embed Size (px)

Citation preview

Page 1: Bluetooth Interface with Robotic Systems using MATLABcurca.buffalo.edu/students/pdfs/2015_posters/bluetooth-interface... · Bluetooth Interface with Robotic Systems using ... The

University at Buffalo

The State University of New York

Mechanical and Aerospace Engineering (SEAS)

Bluetooth Interface with Robotic Systems using MATLAB

INTRODUCTION

Background

Dr. Venkat N. Krovi [email protected]

Advisor

APPROACH

Bluetooth is a low-cost, easily configurable data radio link which has been a preferred choice for wirelesscommunication in robotic systems given its simplicity, flexibility and energy efficiency.

With the documentation of Application Programming Interfaces (API) and Software Development Kits(SDK), computing languages such as C/C++, MATLAB or Python have been utilized extensively to createBluetooth interfaces for robot control.

RESULTS

FUTURE WORK

ACKNOWLEDGMENT

Author

Yi Jui Lee [email protected]

Motivation

DISCUSSIONS

Short-range wireless controlled robots are useful and desired in various fields. Bluetooth is becoming a standard for wireless communications. Consequently, many commercial devices

come with an API and SDKs, encouraging users to control the device with Bluetooth. Combined with the capability of computing languages, Bluetooth technology can be used to build up

applications offering a higher level of functionality in robotic systems. Developing Bluetooth interfaces with MATLAB is desirable since MATLAB is a simple and popular computing

language.

Problem Statement

Following the API, the packets are sent from MATLAB to Sphero in the following byte format:Packet Structures

The purpose of this project is focused on leveraging Bluetooth with MATLAB to communicate and manipulaterobotic systems wirelessly. A working example on designing and implementing the remotely controllablerobotic system with MATLAB will be demonstrated.

Sphero (a robotic ball) was chosen as the robotic system to be controlled. Our goal is to control the colorof the robot and also command the robot to roll according to a specified trajectory drawn in MATLAB.The control scheme are outlined as follow:

Sends data in bytes coherent to packet

structure

User Input to MATLAB

GUI in Computer

Actions according to data received

Sphero

A Depiction of Bluetooth Technology with Robotic Systems

MATLAB The connection between Sphero and MATLAB was

established using the Instrument Control Toolbox inMATLAB, which contains a library of functions forBluetooth communication.

The buttons and sliders incorporated in the GUI areembedded with callback functions, relaying to thesource code. A freehand sketch workspace is createdto allow users to draw a trajectory for the robot toroll accordingly.

Initiate Sphero Connection- Sphero is connected utilizing the functions such as instrfind, fopen.

User Input- The input data is extracted from the GUI and passed to their respective callback functions in the source code.

Transmit Data- All the data are converted into their respective numeral systems and sent to Sphero using fwrite.

Each function has a unique packet framework. The interested functions and their packet structure are listedbelow:

The robotic device (Sphero) was successfully controlled by the implementation of the Bluetoothinterface in MATLAB. This project has exhibited the simplicity and capability of MATLAB in robotcontrol over Bluetooth.

The significance of numeral systems in Bluetooth communication protocol is demonstrated. The source code used in this project is published on MATLAB Central.

Developing an interface to control Sphero with Myo (a gesture based Bluetooth device).Extracting real-time data from the IMU sensors in Sphero to MATLAB.Designing a home based rehabilitation activity for Sphero and Myo.Publishing within the Institutional Repository (IR).

This work was done as part of the NSF Research Experience for Undergraduates (REU) and the IEEERobotics and Automation Society (RAS) project at ARMLAB.

Special thanks to Professor Venkat Krovi, Mark Tomaszewski, and all the members of the ARMLAB.

The implementation is shown in a series of pictures below.

Sphero rolls according to trajectory

User adjusts color preferences

User draws trajectory