CS 8903 Demo Wireless Interface for the Bioloid Robot Chetna Kaur.

Slides:



Advertisements
Similar presentations
House of the Future: Network/PC ECE 345 Summer 1999 Ari Pernick, Michael Upham, Matthew Hinterscher Group #5 TA: Purvesh Thakker.
Advertisements

System Integration and Performance
Inputs: Digital and 4 configurable for Digital or 10 bit Analog Outputs:4 - 8 amp Relays or 700ma Transistors (1 PWM) 4 Line by 18 Character fully.
By: Russ Butler ECE4220 Spring 2012 Dr. DeSouza May 2, 2012.
The Bioloid Robot Project Presenters: Michael Gouzenfeld Alexey Serafimov Supervisor: Ido Cohen Winter Department of Electrical Engineering.
Tribotix | Newcastle, Australia | P: | F: | W: ICTENSW 2012 Workshop.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
OUTLINE WHAT ? HOW ? WHY ? BLUEPOST Poster and Message Content Specified by the User Displaying the Poster Content on a Monitor Sending Messages to.
Routing.
CSULB EE400D TECHNICAL DOCUMENTATION ARDUINO/ARXTERRA PROGRAMMING PART II - TELEMETRY.
WANs and Routers Routers. Router Description Specialized computer Like a general purpose PC, a router has:  CPU  Memory  System Bus Connecting Internal.
Remote Surveillance Vehicle Design Review By: Bill Burgdorf Tom Fisher Eleni Binopolus-Rumayor.
EIGHTH GRADE ROBOTICS KITTATINNY REGIONAL HIGH SCHOOL MR. SHEA Introduction to Robotics Day4.
Gursharan Singh Tatla Transport Layer 16-May
Wireless User Interface for Variable Frequency Drives Team 168 Alex Shuster (EE) Michael Kloter (EE) Christopher Perugini (EE) Kevin Wei (EngPhys - EE)
Cisco Public © 2013 Cisco and/or its affiliates. All rights reserved. 1.
Computerized Train Control System by: Shawn Lord Christian Thompson.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Introduction to IT and Communications Technology Justin Champion Network Connections & Number Systems.
LSU 10/22/2004Serial I/O1 Programming Unit, Lecture 5.
Remote Control of a Furby Toy with Bluetooth
RFid Technology TELE 480 Presentation. What is RFid? RFid is an ADC technology that uses radio- frequency waves to transfer data between a reader and.
Ruslan Masinjila Aida Militaru.  Nature of the Problem  Our Solution: The Roaming Security Robot  Functionalities  General System View  System Design.
ORCA Robot Simulator HY-475 Autonomous Robot Navigation.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Connecting to the Network Networking for Home and Small Businesses.
Programming Concepts (Part B) ENGR 10 Introduction to Engineering 1 Hsu/Youssefi.
The New FTC Platform (Connecting your legacy hardware)
Requirements for an Internet Connection The Internet is the largest data network on earth. Connection to the Internet can be broken down into the physical.
Robot and Servo Drive Lab. Department of Electrical Engineering Southern Taiwan University of Science and Technology 05/07/2014 T A R Y U D I Interfacing.
Dmitry Korobov April 13,  GUI interface for the robot ◦ Atomic Actions Panel ◦ Script generator for complex actions ◦ Sensors Panel  Robot’s module.
HEXAPOD ROBOT MINI PROJECT B-TECH ELECTRONICS AND COMMUNICATION ENGINEERING SIXTH SEMESTER ASWATHY.K RANJITH.R SREELAKSHMI.M SREEYENAN.E.K GUIDE Ms.Sreebala.P.
Mobile Controlled Car Students : Tasneem J. Hamayel Hanan I. Mansour Supervisor : Dr.Aladdin.
Autonomous Helicopter James LydenEE 496Harris Okazaki.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
SLego: A Squeak Implementation of Lego Mindstorms Alexandre Bergel Institut fuer Mathematik und Informatik University Bern
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
PROJECT HEAD CASE Dan Klowden Jon Burns cse477 Spring 2000.
VEX ARM® Cortex®- based Microcontroller. The VEX ARM® Cortex®-based Microcontroller coordinates the flow of all information and power on the robot. All.
Joe Cohen Presentation Overview  Project definition and requirements  Solution process and explanation  Methodology.
Author George Peck EVLA Hardware Monitor & Control PDR March 13, MIB FUNCTIONALITY.
Open Shortest Path First (OSPF)
ARDUINO 1. Basics  Comments  /* * Blink * * The basic Arduino example. Turns on an LED on for one second, * then off for one second, and so on... We.
Intermediate 2 Computing Unit 2 - Software Development.
ISDS 4120 Project 1 DWAYNE CARRAL JR 3/27/15. There are seven layers which make up the OSI (Open Systems Interconnection Model) which is the model for.
Voice Over Internet Protocol (VoIP) Copyright © 2006 Heathkit Company, Inc. All Rights Reserved Presentation 5 – VoIP and the OSI Model.
SmartCup – Team 42 Harington Lee, Chirag Patil, Arjun Sharma 1.
LonWorks Introduction Hwayoung Chae.
ECE 544 Group Project : Routing KC Huang. Objective Application: message multicast. A message is sent from one sender to 1~3 recipients. Reach a protocol.
Final Design Review By: Alireza Veiseh Anh-Thu Thai Luai Abou-Emara Peter Tsang.
Wire the power and the RS-485 port(COM1) of the meter Connect the RS-485 port of the meter to your computer serial port Power up the meter Check the serial.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Jeremy Sandoval University of Washington May 14, 2013
2007/11/16 Dinh Trong Thuy RTLab
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
Arduino Part 1 Topics: Microcontrollers
3DoT Technical Documentation
Dynamixel Modules Serially controller servo motors
DT80 range Modbus capability
UCD ElecSoc Robotics Club 2017/2018
RS232 Converter SB-DN-RS232N.
Modbus with the AKD Using Modbus Poll and Wireshark Rev. F Dec
Routing.
Serial Data Hub (Proj Dec13-13).
ECE 544 Group Project : Routing
Arduino and Grove LET’S START.
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
Routing.
LEGO MINDSTORMS NXT PROGRAMMING
Presentation transcript:

CS 8903 Demo Wireless Interface for the Bioloid Robot Chetna Kaur

Problem Statement Set up a Wireless Communication Interface for PC-Bioloid communication. Dynamically control the Bioloid’s movements from an external program using wireless communication. Build an interface for c5m based systems to interface with and dynamically control the Bioloid.

Introduction

The Bioloid Kit Easy to configure into a variety of robotic creatures. Can interact with surroundings while performing complex movements [18 Servos]. Head contains a sensor module which features an infrared receiver. Also has three proximity sensors (left, right and front) that can measure distance and luminosity. The brain of the Bioloid is the CM-5 module which runs an Atmel ATMega128 based mcu.

Programming the Bioloid A full motion editor to program your own custom movements Visual programming environment for behavior logic. A Terminal for configuration of components and other maintenance tasks.

Motion Editor Capture the current positions of the motors/ Pose of the robot. Build frame-by-frame Motion Sequences Complex animations can be quickly programmed and tested. Motions can be downloaded into the Bioloid's memory and called from the Behaviour Control Program.

Behavior Control Program A graphical programming environment to control the behaviour of the bioloid. Allows the programmer to transition the state of a the robot when a particular stimulus or events is triggered.

PC-to-Bioloid Wireless Communication Interface

Building the Wireless Interface Bioloid supports the Zig-100 Wireless Communication Module Supports ZigBee Communication Protocol

Building the Wireless Interface –Install one Zig-100 module in the Bioloid robot's CM-5 control module. –Connect the second Zig-100 to a Zig2Serial adapter. –Install and configure the USB2Dynamixel module. –Use the USB2Dynamixel converter between the PC and the Zig2Serial Board. –Configure the Zig100 module from the Terminal program –Issue commands to the robot via the computer's serial port!

Zig 100 Communication Protocol CM5 is programmed to send and receive integers ( ) using Zig100. Packet format explained with example The data in this example is integer 2049 = decimal * 08 Here is the CM5/Zig100 format, as hex bytes: FF FE 08 F7 where: FF 55 is the header. FE is checksum for 01 -> 255decimal - 01 = FE (i.e. Complement of byte) F7 is checksum for 08 -> 255decimal - 08 = F7 (i.e. Complement of byte)

Algorithm for PC-Bioloid Communication Open Serial Port Set baud rate to Loop If input from keyboard/other program Begin Accept Input Code it to CM5 format Write to Serial Port End If input from USB Serial Port Then Begin Read it Decode CM5 format Do processing End End Loop

Behavior Control Program to receive data Show Development Environment Now

Protocol to drive the motors Essential to define the protocol/commands for communication between an external program and Bioloid. Currently defined for communicating positions of the 18 Motors. Command = Motor Id * Motor Position Encode (Motor Id and Position) and send from PC-based program. Receive and decode in Behavior Control Program. Set the Motor’s position!

Interfacing with the C5M code base C5M Based System InterfaceCM5/ Bioloid Inter Robot Comm Protocol Zig Bee Protocol

Interface Design Joint Positions Handler Serial Communication Module Config IRCP UDP Module (Receiver) Interface Manager C5M Based System (IRCP UDP Sender) Zig100

IRCP Essentially designed for Inter-module communication in Interactive Robots Protocol is based on UDP – can be used for communication between multiple processes on a single computer and between different computers

IRCP Packet Format

Motion Control Using IRCP Motor System will work in a slave mode. All modules that communicate with a motor system will have agreed on a set of joint names. The Master will request a Motor System Information sub-packet from the motor system (slave), which will list the names of the joints supported by the motor system and assign each one an integer index. The master will verify that the joint names are as expected and assign indices to each of these motors. All future communication with the motor system will refer to each joint by its index for efficiency. Once this is set up the Master can now send messages to Set The Joint Positions (and also several other messages).

Setting Motor Positions Minor Type: SET_TARGET_POSITIONS Subpacket Payload contains Index Matched Array Index = Motor Id; Value = Motor Position Index 1Index 2Index nValue 1Value 2Value n……….

Mapping Motors Need to map the Motion of the C5M based robot to the Bioloid Motor Map used to Map Motor Ids. Read from config file and and installed on start-up. Map the motor positions.

Encode and Send to CM5 Maintain a map of the last values which were sent for each of the motors of the Bioloid. Encode and send messages to CM5 for every motor whose position has changed. CM5 will decode the message and set the motor position.

Interfacing with the Huggable Request Motor Information (Minor Type: MOTOR_NAMES ) Send Indexed Array containing Huggables Motor Names (Minor Type : REQUEST_RESPONSE ) Send target positions for Huggable Motors ( SET_TARGET_POSITION ) Map to Bioloid Motors InterfaceHuggableBioloid Send Motor Positions to Bioloid

Huggable’s Motors public static final String[] motorNameMap = new String[] { “neckUpDown", "neckTwist", "neckLeftRight", "rEarUpDown", "lEarUpDown", "rEyebrowRotate", "lEyebrowRotate", "lshoulderUpDown", "rshoulderUpDown", "rshoulderRotate", "lshoulderRotate", "lhipLeftRight", "rhipLeftRight", "lhipUpDown", "rhipUpDown", "rAnkleUpDown", "lAnkleUpDown" }; Currently we ignore most of these and map only lshoulderUpDown, rshoulderUpDown, rshoulderRotate, lshoulderRotate to the Bioloid Motors

Demo Show Demo Now!

Next Step Forward?

Questions?