CE215 - Assignment 1 : Dead Reckoning Reg NO:

Size: px
Start display at page:

Download "CE215 - Assignment 1 : Dead Reckoning Reg NO:"

Transcription

1 CE215 - Assignment 1 : Dead Reckoning Reg NO: Abstract: The report aims to determine whether or not a robot can be constructed and controlled in such a way to make it move in a 1*1 meter square. This relies on a number of concepts, such as dead reckoning to determine the right course to take, and the accurate calculation of the robots turning circle, speed and distance. The code necessary to perform this relies primarily on the DifferentialPilot class to direct the robots direction, and supporting classes to log the data to a text file. The report has found that this is possible, with some minor errors due to a variety of factors including manufacturing errors and bugs in the code presented. Introduction The challenge for this project has been to construct robot, built with a differential drive mechanism that can circumnavigate a square with a perimeter of 4 meters, turning 90 degrees at each corner and logging the results along a 2D plane. The solution to the problem has been to create a four wheeled (or tracked) differential drive tracked robot, capable of carrying the NXT control module, and a java program using the TachoPilot and Pilot classes to control the robot and output telemetry to a specified file to a text file, to be interpreted by MS Excel. However, a number of technological constraints exist. Firstly, although this could have been achieved with classes such as TachoPilot and Pilot. It is unfortunate however that updates to the NXT api recent updates to the API[1] have rendered these classes obsolete. This means that alternative programming solutions have had to be found to make even the most basic task of moving the robot feasible. Secondly, as the NXT relies on explicit instructions to interact with. These instructions depend entirely on it s own interpretation of the outside world, and in order to determine it s current and relative position to another location it must rely on dead reckoning. This can only work when the device receives accurate information from the environment, through the robot s hardware. Thirdly, the hardware itself is a constraint. With only a Tachometer to determine the current position the robots dead reckoning technique is a best guess approach to it s environment. If obstructions, or the environment were to change it s possible that the robot would be unable to execute it s task as expected. Therefore, the project is technically challenging in terms of both the physical mechanisms of the robot and in the application of java programming with the NXT API. In order to understand the solution it s necessary to first understand the theory behind differential drive robots. A differential drive robot has the unique ability to independently change the speed, and direction of rotation for each of it s motors. As a result, the NXT robot is suited to the application of following a square it can pivot around any given point. In theory, these robots can change their heading by redefining the variables for calculating speed, or direction. As can be seen by examining the equations for determining how many times a wheel rotates (countsperrotation), the change in the wheels rotation (radians per count), and change in heading: countsperrotation = Pi * trackwidth/pi * WheelDiameter * countsperrevolution. radianspercount rpc = 2*Pi/counsPerRotation DeltaHeading (Change in heading in radians) rightcounts - leftcounts * radianspercount /2 From these equations it s possible to note the following. Firstly, that a change in the wheel diameter will have an affect on the counts per rotation because it will change the circumference (PI*diameter) of the wheel. The greater the circumference, the slower the wheel has to turn to cover the same distance and conversely the faster it will have to turn if the diameter is smaller. This same principle can be applied to the turning circle of the vehicle by varying the distance between the two wheels. As a result, supplying the magic numbers for the robot s track width and diameter is essential to ensuring the correct behavior of the robot. Secondly, the change in the robots heading given it s turning distance (radians Per count) and the difference in speed of both left and right counts. The point of origin in this case depends on the number of counts between the left and right wheels, and a negative count would mean that the robot had turned left and not right. Thirdly, it is insufficient on it s own to accurately record the change in heading of a robot along a 2D plane. It is necessary to use the deltadistance to 1

2 the cos and sin for the absolute (compass) heading of the robot: deltax = deltadistance * cos(heading); deltay = deltadistance * sin(heading); The use of the cos and sin factors for the absolute heading is what enables the robot to interpret it s position relative to where it started in terms of X and Y. As the tachometer will record the counts for each wheel the only thing necessary to complete the solution is the correct track width and wheel diameter for it to turn accurately. However it would be unnecessarily complicated to write your own classes for each equation since the NXT API provides classes to do just that, and the features of these will be detailed in the next section. This will be followed by an experimental method and an explicit explanation of the software code, the results, an evaluation and a conclusion for the report s findings. Method: According[2] to the NXT robot specification, the following hardware is included with the device: 32-bit ARM7 microcontroller 256 Kbytes FLASH, 64 Kbytes RAM 8-bit AVR microcontroller 4 Kbytes FLASH, 512 Byte RAM Bluetooth wireless communication (Bluetooth Class II V2.0 compliant) USB full speed port (12 Mbit/s) 4 input ports, 6-wire cable digital platform (One port includes a IEC Type 4/EN compliant expansion port for future use) 3 output ports, 6-wire cable digital platform 100 x 64 pixel LCD graphical display Loudspeaker - 8 khz sound quality. Sound channel with 8-bit resolution and 2-16 KHz sample rate. Power source: 6 AA batteries The robot constructed for the project has a four wheeled configuration with a track between each set of wheels to ensure stability and equal torque distribution between each of the wheels. It carries on it s back the NXT controller that has a USB connection for PC access, and ports for connecting to sensors or to motors. The motors, in turn will provide output to the controller from the tachometer to keep track of the angle of the wheel. The corollary being that the more times the tachometer rotates, the further the robot has travelled towards it s destination. In order to regulate the speed, and heading the robot will also perform PID error correction to maintain the right course. The robot s wheel diameter was measured as 4.1cm and the track width was measured at cm. These figures are in reality not exactly the same as the actual track width and wheel diameter because of ambiguities in the granularity of the measurement. For example, given a tracked robot such as the one in this project the measurement may be taken from inside, the center or the outside of the track and the tracks themselves have a varying diameter based upon the divets in the tracks themselves. In order to control the robot, I ve elected to use the DifferentialPilot class as it is a class that has been created specifically for the purpose of controlling these robots. For this purpose, the following methods have been used: DifferentialPilot(Diameter, Radius, Motor,Motor): This creates a new pilot. The pilot manages the motors, including the current tacho count and the velocity of both motors under a single object. The subsequent methods are all public void travel(double distance, boolean immediatereturn) - this method immediately returns, allowing the program to continue running other operations in the meantime. public boolean ismoving() - the robot requires some way to determine where it is relative. travel(float distance) - allows the robot to travel a specified distance. setspeed(int) - makes the robot go faster setrotationspeed(int) - makes the robot turn quicker rotate(int degrees); - determines how far the robot will rotate in radians given the current position. Code explanation: For reference purposes the code has been explicitly mentioned in the appendix [1, Appendix i], and all references to NXT classes can be found in the API [1]. The code will be restated here for the purposes of explaining the methodology for the solution. 1) Construction: The program begins by constructing a new Assignment 1 object. An assignment 1 object has many fields, including: 2

3 Final fields for the diameter and track width (final since they won t change for the entirety of the program) FileOutputStreams to buffer data into a new file OdometryPoseProvider to track the current location of the DifferentialPilotClass. A DifferentialPilotClass to drive the robot to a specified length and and a DataOutputStream to extend the programs capabilities to write out character arrays. From this it s possible to note the following: 2.Moving 1) The final fields are initialized in the constructor with the specified track width and wheel diameters necessary for the pilot class to correctly determine it s position. They are also initialized with the motors that ultimately control the ovement of the robot. In real terms this means that the pilot is able to determine it s relative position from the diameter, and is able to calculate the rate of rotation from the track width. 2) The FileOutput stream is initialized with a new file out.txt. It is surrounded by a try/catch block in case the file cannot be created. 3) The OdometryPoseProvider is created to take the pilot as an argument. It augments the pilot by providing a means to get data through the.getpose() method later on. The documentation suggests that the.addlistener() method should be added, so this has been added in the constructor just in case. 4) The differentialpilot instance is created with the aforementioned variables and the motors. 5) A dataoutput stream has been created to take the FileOutputStream instance as an argument to write characters to. After construction, a new Assignment object is returned to the main method. Since the Assignment1 object extends thread, the main method calls a.run() method to start the thread running. Entering a for loop, the program will repeat the following process: start the robot moving in the current direction while the robot is moving, keep writing to the DataOutputStream the current position of the robot. This is obtained through the odometryposeprovider mentioned earlier, which can be extracted with.getpose().tostring and separated with a newline character at the end. when the robot stops moving it will then set the rotation and forward speeds to very fast and delay for 500ms. This makes it easier for the operator to debug where the stop and start points for the robot are. The rotation will then occur by 90 degrees and the robot will travel 1 meter. 3.Writing the file The fileoutputstream is then flushed, to make sure that it doesn t hold any further data. It is then closed to ensure that all the data is written to the file. Experimental method: In order to test the expectation that the robot will travel in a straight line for a set distance and then rotate. This will be tested with the following methodology: Load the software onto the robot by connecting the USB connector to it, and click on the NXJUpload option. Place the robot facing towards a point of reference Use the left, and right buttons on the NXJ controller to find the right assignment option. Select this and execute it. The robot should move 100cm forward, and rotate right 90 degrees. it should repeat this four times with the expected result that the robot should have traced a perfect square. Record the results by plugging in the device, and opening the NXJBrowse application. Results As the results demonstrate (see appendix), the robot has drawn a square with a perimeter of 1 meter. This clearly meets the expected requirements of the project s experiment. However, the results are not entirely perfect with a bowing of the squares first three sides. It s possible that some factor of the experiment s setup may have affected the results adversely. For the purposes of verifying the experiment s findings the java file used for the robot has been included in addition to the report. This can be uploaded to any NXJ robot with the same tracked configuration. 3

4 Evaluation: As alluded to in the results, the project was a success because the robot moved as expected along a square path, but it did not give exactly the results expected. This may be for a variety of reasons : As no set of motors are exactly alike because of manufacturing differences, even the most accurate calculation of the change in distance may be inaccurate. The wheel and track dimensions had to be continually modified to get approximately the right result. As such, no perfect measurement appears to exist to get the robot to behave exactly as expected. This was compounded by the fact that the device had to be shared with another project in. The fact that the speed was manually set for the robots forward motion and rotation means that the PID error correction may have over-compensated when used in combination with the Report Conclusions: The report demonstrates that it is possible to not only construct but to control a robot to move in a 2D plane using the principles of dead reckoning. 4

5 References: [1] Lejos (N.D). Overview (LEJOS NXT API Documentation). Internet: lejos.sourceforge.net/nxt/nxj/api/overviewsummary.html [20th feb, 2013] [2] N.A (N.D). Welcome to the lejos nxt. Internet: cosc465/nxt/welcome_to_nxt.html [20th feb, 2013] 5

6 Appendix: [1] program code here. package Class1; import java.io.dataoutputstream; import java.io.file; import java.io.fileoutputstream; import java.io.ioexception; import lejos.nxt.sound; import lejos.nxt.motor; import lejos.robotics.localization.odometryposeprovider; import lejos.robotics.navigation.differentialpilot; import lejos.util.delay; public class Assignment1 extends Thread {!! final static double LENGTH = 100; final static double DIAMETER = 4.1; final static double TRACKWIDTH = 19.85;! private static DifferentialPilot pilot ;! private FileOutputStream fos; private DataOutputStream dout; private OdometryPoseProvider positionhistory;!! public Assignment1(){ pilot = new DifferentialPilot(DIAMETER, TRACKWIDTH, Motor.A, Motor.C);! try { File file = new File("out.txt");! fos = new FileOutputStream(file); } catch (IOException e) {!! // TODO Auto-generated catch block! e.printstacktrace(); }! dout = new DataOutputStream(fos); positionhistory = new OdometryPoseProvider(pilot); pilot.addmovelistener(positionhistory);! }! public void run()! {!! try{! for(int i = 0; i<4 ; i++)! { pilot.travel(length, true); while(pilot.ismoving()){! dout.writechars(positionhistory.getpose().tostring()+"\n");! Thread.sleep(500); } pilot.settravelspeed(50); pilot.setrotatespeed(2000); pilot.rotate(90);! Delay.msDelay(500);! }! fos.flush();! fos.close(); } catch(ioexception e){! Sound.beep(); } catch (InterruptedException e) { // TODO Autogenerated catch block e.printstacktrace();! }! }! public static void main(string[] args)! {! Assignment1 as1 = new Assignment1();! as1.run();!! } } 6

7 [2] Table/Graph of results. 7

Robotics will be very important for the humanity in the next 10 years and this ebook is an effort to help in this way.

Robotics will be very important for the humanity in the next 10 years and this ebook is an effort to help in this way. 1.- Introduction 1.1.- Goals Many developers around the world choose lejos, Java for Lego Mindstorm, as the main platform to develop robots with NXT Lego Mindstorm. I consider that this ebook will help

More information

Mindstorms NXT. mindstorms.lego.com

Mindstorms NXT. mindstorms.lego.com Mindstorms NXT mindstorms.lego.com A3B99RO Robots: course organization At the beginning of the semester the students are divided into small teams (2 to 3 students). Each team uses the basic set of the

More information

acknowledgments...xv introduction...xvii 1 LEGO MINDSTORMS NXT 2.0: people, pieces, and potential getting started with the NXT 2.0 set...

acknowledgments...xv introduction...xvii 1 LEGO MINDSTORMS NXT 2.0: people, pieces, and potential getting started with the NXT 2.0 set... acknowledgments...xv introduction...xvii about this book...xvii part I: introduction to LEGO MINDSTORMS NXT 2.0...xviii part II: building...xviii part III: programming...xviii part IV: projects...xix companion

More information

Downloading a ROBOTC Sample Program

Downloading a ROBOTC Sample Program Downloading a ROBOTC Sample Program This document is a guide for downloading and running programs on the VEX Cortex using ROBOTC for Cortex 2.3 BETA. It is broken into four sections: Prerequisites, Downloading

More information

Design Project Introduction DE2-based SecurityBot

Design Project Introduction DE2-based SecurityBot Design Project Introduction DE2-based SecurityBot ECE2031 Fall 2017 1 Design Project Motivation ECE 2031 includes the sophomore-level team design experience You are developing a useful set of tools eventually

More information

Arduino STEAM Academy Arduino STEM Academy Art without Engineering is dreaming. Engineering without Art is calculating. - Steven K.

Arduino STEAM Academy Arduino STEM Academy Art without Engineering is dreaming. Engineering without Art is calculating. - Steven K. Arduino STEAM Academy Arduino STEM Academy Art without Engineering is dreaming. Engineering without Art is calculating. - Steven K. Roberts Page 1 See Appendix A, for Licensing Attribution information

More information

CURIE Academy, Summer 2014 Lab 2: Computer Engineering Software Perspective Sign-Off Sheet

CURIE Academy, Summer 2014 Lab 2: Computer Engineering Software Perspective Sign-Off Sheet Lab : Computer Engineering Software Perspective Sign-Off Sheet NAME: NAME: DATE: Sign-Off Milestone TA Initials Part 1.A Part 1.B Part.A Part.B Part.C Part 3.A Part 3.B Part 3.C Test Simple Addition Program

More information

Ev3 Robotics Programming 101

Ev3 Robotics Programming 101 Ev3 Robotics Programming 101 1. EV3 main components and use 2. Programming environment overview 3. Connecting your Robot wirelessly via bluetooth 4. Starting and understanding the EV3 programming environment

More information

Arduino Control of Tetrix Prizm Robotics. Motors and Servos Introduction to Robotics and Engineering Marist School

Arduino Control of Tetrix Prizm Robotics. Motors and Servos Introduction to Robotics and Engineering Marist School Arduino Control of Tetrix Prizm Robotics Motors and Servos Introduction to Robotics and Engineering Marist School Motor or Servo? Motor Faster revolution but less Power Tetrix 12 Volt DC motors have a

More information

Nebraska 4-H Robotics and GPS/GIS and SPIRIT Robotics Projects

Nebraska 4-H Robotics and GPS/GIS and SPIRIT Robotics Projects Name: Club or School: Robots Knowledge Survey (Pre) Multiple Choice: For each of the following questions, circle the letter of the answer that best answers the question. 1. A robot must be in order to

More information

GE 320: Introduction to Control Systems

GE 320: Introduction to Control Systems GE 320: Introduction to Control Systems Laboratory Section Manual 1 Welcome to GE 320.. 1 www.softbankrobotics.com 1 1 Introduction This section summarizes the course content and outlines the general procedure

More information

Arduino Lesson 1. Blink. Created by Simon Monk

Arduino Lesson 1. Blink. Created by Simon Monk Arduino Lesson 1. Blink Created by Simon Monk Guide Contents Guide Contents Overview Parts Part Qty The 'L' LED Loading the 'Blink' Example Saving a Copy of 'Blink' Uploading Blink to the Board How 'Blink'

More information

A Rubik s Cube Solving Robot Using Basic Lego Mindstorms NXT kit

A Rubik s Cube Solving Robot Using Basic Lego Mindstorms NXT kit A Rubik s Cube Solving Robot Using Basic Lego Mindstorms NXT kit Khushboo Tomar Department of Electronics and Communication Engineering, Amity University, Sector-125, Noida 201313 (U.P.) India tomar2khushboo@gmail.com

More information

LESSONS Lesson 1. Microcontrollers and SBCs. The Big Idea: Lesson 1: Microcontrollers and SBCs. Background: What, precisely, is computer science?

LESSONS Lesson 1. Microcontrollers and SBCs. The Big Idea: Lesson 1: Microcontrollers and SBCs. Background: What, precisely, is computer science? LESSONS Lesson Lesson : Microcontrollers and SBCs Microcontrollers and SBCs The Big Idea: This book is about computer science. It is not about the Arduino, the C programming language, electronic components,

More information

Embedded Control Project -Iterative learning control for

Embedded Control Project -Iterative learning control for Embedded Control Project -Iterative learning control for Author : Axel Andersson Hariprasad Govindharajan Shahrzad Khodayari Project Guide : Alexander Medvedev Program : Embedded Systems and Engineering

More information

Artificial Intelligence Planning and Decision Making

Artificial Intelligence Planning and Decision Making Artificial Intelligence Planning and Decision Making NXT robots co-operating in problem solving authors: Lior Russo, Nir Schwartz, Yakov Levy Introduction: On today s reality the subject of artificial

More information

Medidores de vibración salida RS232 Datalogger VT-8204 LUTRON manual ingles

Medidores de vibración salida RS232 Datalogger VT-8204 LUTRON manual ingles English usermanual VT-8204 Vibration Tachometer Your purchase of this VIBRATION TACHOMETER marks a step forward for you into the field of precision measurement. Although this VIBRATION TACHOMETER is a

More information

Closed-Loop Transportation Simulation. Outlines

Closed-Loop Transportation Simulation. Outlines Closed-Loop Transportation Simulation Deyang Zhao Mentor: Unnati Ojha PI: Dr. Mo-Yuen Chow Aug. 4, 2010 Outlines 1 Project Backgrounds 2 Objectives 3 Hardware & Software 4 5 Conclusions 1 Project Background

More information

Persistence of Vision LED Sphere

Persistence of Vision LED Sphere Persistence of Vision LED Sphere Project Proposal ECE 445 February 10, 2016 TA: Vivian Hou Michael Ling Li Quan 1 Table of Contents 1.0 Introduction... 3 1.1 Purpose and Motivation:... 3 1.2 Objectives:...

More information

Chapter 14. using data wires

Chapter 14. using data wires Chapter 14. using data wires In this fifth part of the book, you ll learn how to use data wires (this chapter), Data Operations blocks (Chapter 15), and variables (Chapter 16) to create more advanced programs

More information

Getting Started with the micro:bit

Getting Started with the micro:bit Page 1 of 10 Getting Started with the micro:bit Introduction So you bought this thing called a micro:bit what is it? micro:bit Board DEV-14208 The BBC micro:bit is a pocket-sized computer that lets you

More information

On the front of the board there are a number of components that are pretty visible right off the bat!

On the front of the board there are a number of components that are pretty visible right off the bat! Hardware Overview The micro:bit has a lot to offer when it comes to onboard inputs and outputs. In fact, there are so many things packed onto this little board that you would be hard pressed to really

More information

Master Op-Doc/Test Plan

Master Op-Doc/Test Plan Power Supply Master Op-Doc/Test Plan Define Engineering Specs Establish battery life Establish battery technology Establish battery size Establish number of batteries Establish weight of batteries Establish

More information

Lesson 3: Arduino. Goals

Lesson 3: Arduino. Goals Introduction: This project introduces you to the wonderful world of Arduino and how to program physical devices. In this lesson you will learn how to write code and make an LED flash. Goals 1 - Get to

More information

Robot Autonomous and Autonomy. By Noah Gleason and Eli Barnett

Robot Autonomous and Autonomy. By Noah Gleason and Eli Barnett Robot Autonomous and Autonomy By Noah Gleason and Eli Barnett Summary What do we do in autonomous? (Overview) Approaches to autonomous No feedback Drive-for-time Feedback Drive-for-distance Drive, turn,

More information

Computational Crafting with Arduino. Christopher Michaud Marist School ECEP Programs, Georgia Tech

Computational Crafting with Arduino. Christopher Michaud Marist School ECEP Programs, Georgia Tech Computational Crafting with Arduino Christopher Michaud Marist School ECEP Programs, Georgia Tech Introduction What do you want to learn and do today? Goals with Arduino / Computational Crafting Purpose

More information

Where C= circumference, π = 3.14, and D = diameter EV3 Distance. Developed by Joanna M. Skluzacek Wisconsin 4-H 2016 Page 1

Where C= circumference, π = 3.14, and D = diameter EV3 Distance. Developed by Joanna M. Skluzacek Wisconsin 4-H 2016 Page 1 Instructor Guide Title: Distance the robot will travel based on wheel size Introduction Calculating the distance the robot will travel for each of the duration variables (rotations, degrees, seconds) can

More information

Design Lab Fall 2011 Controlling Robots

Design Lab Fall 2011 Controlling Robots Design Lab 2 6.01 Fall 2011 Controlling Robots Goals: Experiment with state machines controlling real machines Investigate real-world distance sensors on 6.01 robots: sonars Build and demonstrate a state

More information

Note to Teacher. Description of the investigation. Time Required. Materials. Procedures for Wheel Size Matters TEACHER. LESSONS WHEEL SIZE / Overview

Note to Teacher. Description of the investigation. Time Required. Materials. Procedures for Wheel Size Matters TEACHER. LESSONS WHEEL SIZE / Overview In this investigation students will identify a relationship between the size of the wheel and the distance traveled when the number of rotations of the motor axles remains constant. It is likely that many

More information

FLCS V2.1. AHRS, Autopilot, Gyro Stabilized Gimbals Control, Ground Control Station

FLCS V2.1. AHRS, Autopilot, Gyro Stabilized Gimbals Control, Ground Control Station AHRS, Autopilot, Gyro Stabilized Gimbals Control, Ground Control Station The platform provides a high performance basis for electromechanical system control. Originally designed for autonomous aerial vehicle

More information

Experiment #3: Micro-controlled Movement

Experiment #3: Micro-controlled Movement Experiment #3: Micro-controlled Movement So we re already on Experiment #3 and all we ve done is blinked a few LED s on and off. Hang in there, something is about to move! As you know, an LED is an output

More information

understanding sensors

understanding sensors The LEGO MINDSTORMS EV3 set includes three types of sensors: Touch, Color, and Infrared. You can use these sensors to make your robot respond to its environment. For example, you can program your robot

More information

Debugging a Boundary-Scan I 2 C Script Test with the BusPro - I and I2C Exerciser Software: A Case Study

Debugging a Boundary-Scan I 2 C Script Test with the BusPro - I and I2C Exerciser Software: A Case Study Debugging a Boundary-Scan I 2 C Script Test with the BusPro - I and I2C Exerciser Software: A Case Study Overview When developing and debugging I 2 C based hardware and software, it is extremely helpful

More information

A maze-solving educational robot with sensors simulated by a pen Thomas Levine and Jason Wright

A maze-solving educational robot with sensors simulated by a pen Thomas Levine and Jason Wright A maze-solving educational robot with sensors simulated by a pen Thomas Levine and Jason Wright Abstract We present an interface for programming a robot to navigate a maze through both text and tactile

More information

TC LV-Series Temperature Controllers V1.01

TC LV-Series Temperature Controllers V1.01 TC LV-Series Temperature Controllers V1.01 Electron Dynamics Ltd, Kingsbury House, Kingsbury Road, Bevois Valley, Southampton, SO14 OJT Tel: +44 (0) 2380 480 800 Fax: +44 (0) 2380 480 801 e-mail support@electrondynamics.co.uk

More information

BEYOND TOYS. Wireless sensor extension pack. Tom Frissen s

BEYOND TOYS. Wireless sensor extension pack. Tom Frissen s LEGO BEYOND TOYS Wireless sensor extension pack Tom Frissen s040915 t.e.l.n.frissen@student.tue.nl December 2008 Faculty of Industrial Design Eindhoven University of Technology 1 2 TABLE OF CONTENT CLASS

More information

Smart-M3-Based Robot Interaction in Cyber-Physical Systems

Smart-M3-Based Robot Interaction in Cyber-Physical Systems FRUCT 16, Oulu, Finland October 30, 2014 Smart-M3-Based Robot Interaction in Cyber-Physical Systems Nikolay Teslya *, Sergey Savosin * * St. Petersburg Institute for Informatics and Automation of the Russian

More information

PID-control and open-loop control

PID-control and open-loop control Automatic Control Lab 1 PID-control and open-loop control This version: October 24 2011 P I D REGLERTEKNIK Name: P-number: AUTOMATIC LINKÖPING CONTROL Date: Passed: 1 Introduction The purpose of this

More information

Lab 1: Steady State Error and Step Response MAE 433, Spring 2012

Lab 1: Steady State Error and Step Response MAE 433, Spring 2012 Lab 1: Steady State Error and Step Response MAE 433, Spring 2012 Instructors: Prof. Rowley, Prof. Littman AIs: Brandt Belson, Jonathan Tu Technical staff: Jonathan Prévost Princeton University Feb. 14-17,

More information

FABO ACADEMY X ELECTRONIC DESIGN

FABO ACADEMY X ELECTRONIC DESIGN ELECTRONIC DESIGN MAKE A DEVICE WITH INPUT & OUTPUT The Shanghaino can be programmed to use many input and output devices (a motor, a light sensor, etc) uploading an instruction code (a program) to it

More information

AUTOMATIC ELECTRICITY METER READING AND REPORTING SYSTEM

AUTOMATIC ELECTRICITY METER READING AND REPORTING SYSTEM AUTOMATIC ELECTRICITY METER READING AND REPORTING SYSTEM Faris Shahin, Lina Dajani, Belal Sababha King Abdullah II Faculty of Engineeing, Princess Sumaya University for Technology, Amman 11941, Jordan

More information

LDOR: Laser Directed Object Retrieving Robot. Final Report

LDOR: Laser Directed Object Retrieving Robot. Final Report University of Florida Department of Electrical and Computer Engineering EEL 5666 Intelligent Machines Design Laboratory LDOR: Laser Directed Object Retrieving Robot Final Report 4/22/08 Mike Arms TA: Mike

More information

Science Sensors/Probes

Science Sensors/Probes Science Sensors/Probes Vernier Sensors and Probes Vernier is a company that manufacturers several items that help educators bring science to life for their students. One of their most prominent contributions

More information

Height Limited Switch

Height Limited Switch Height Limited Switch Manual version: 1.0 Content Introduction...3 How it works...3 Key features...3 Hardware...4 Motor cut-off settings...4 Specification...4 Using the RC HLS #1 module...5 Powering the

More information

IG-2500 OPERATIONS GROUND CONTROL Updated Wednesday, October 02, 2002

IG-2500 OPERATIONS GROUND CONTROL Updated Wednesday, October 02, 2002 IG-2500 OPERATIONS GROUND CONTROL Updated Wednesday, October 02, 2002 CONVENTIONS USED IN THIS GUIDE These safety alert symbols are used to alert about hazards or hazardous situations that can result in

More information

Attitude and Heading Reference Systems

Attitude and Heading Reference Systems Attitude and Heading Reference Systems FY-AHRS-2000B Installation Instructions V1.0 Guilin FeiYu Electronic Technology Co., Ltd Addr: Rm. B305,Innovation Building, Information Industry Park,ChaoYang Road,Qi

More information

Sample Pages. Classroom Activities for the Busy Teacher: NXT. 2 nd Edition. Classroom Activities for the Busy Teacher: NXT -

Sample Pages. Classroom Activities for the Busy Teacher: NXT. 2 nd Edition. Classroom Activities for the Busy Teacher: NXT - Classroom Activities for the Busy Teacher: NXT 2 nd Edition Table of Contents Chapter 1: Introduction... 1 Chapter 2: What is a robot?... 5 Chapter 3: Flowcharting... 11 Chapter 4: DomaBot Basics... 15

More information

DOOR OPENER WITH TIMER AND LIGHT SENSOR

DOOR OPENER WITH TIMER AND LIGHT SENSOR DOOR OPENER WITH TIMER AND LIGHT SENSOR THE PACKAGE ALSO INCLUDES: 4 batteries, 4 screws, instructions and a installation DVD CONTENT 1 Name & Function of Operation Buttons 2 How To Setup The Door Opener

More information

LINE MAZE SOLVING ROBOT

LINE MAZE SOLVING ROBOT LINE MAZE SOLVING ROBOT EEE 456 REPORT OF INTRODUCTION TO ROBOTICS PORJECT PROJECT OWNER: HAKAN UÇAROĞLU 2000502055 INSTRUCTOR: AHMET ÖZKURT 1 CONTENTS I- Abstract II- Sensor Circuit III- Compare Circuit

More information

Intelligent Systems Design in a Non Engineering Curriculum. Embedded Systems Without Major Hardware Engineering

Intelligent Systems Design in a Non Engineering Curriculum. Embedded Systems Without Major Hardware Engineering Intelligent Systems Design in a Non Engineering Curriculum Embedded Systems Without Major Hardware Engineering Emily A. Brand Dept. of Computer Science Loyola University Chicago eabrand@gmail.com William

More information

PRORADAR X1PRO USER MANUAL

PRORADAR X1PRO USER MANUAL PRORADAR X1PRO USER MANUAL Dear Customer; we would like to thank you for preferring the products of DRS. We strongly recommend you to read this user manual carefully in order to understand how the products

More information

EE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs Introduction to Arduino

EE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs Introduction to Arduino EE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs 10-11 Introduction to Arduino In this lab we will introduce the idea of using a microcontroller as a tool for controlling

More information

MAKEBLOCK MUSIC ROBOT KIT V2.0

MAKEBLOCK MUSIC ROBOT KIT V2.0 MAKEBLOCK MUSIC ROBOT KIT V2.0 Catalog Music Robot Kit V2.0 Introduction... 1 1 What is Music Robot Kit V2.0?... 1 1.1 Mechanical part... 1 1.2 Electronic part... 1 1.3 Software part... 1 2 Music Robot

More information

1. ASSEMBLING THE PCB 2. FLASH THE ZIP LEDs 3. BUILDING THE WHEELS

1. ASSEMBLING THE PCB 2. FLASH THE ZIP LEDs 3. BUILDING THE WHEELS V1.0 :MOVE The Kitronik :MOVE mini for the BBC micro:bit provides an introduction to robotics. The :MOVE mini is a 2 wheeled robot, suitable for both remote control and autonomous operation. A range of

More information

e d u c a t i o n Detect Dark Line Objectives Connect Teacher s Notes

e d u c a t i o n Detect Dark Line Objectives Connect Teacher s Notes e d u c a t i o n Objectives Learn how to make the robot interact with the environment: Detect a line drawn on the floor by means of its luminosity. Hint You will need a flashlight or other light source

More information

The DesignaKnit USB Brotherlink 5

The DesignaKnit USB Brotherlink 5 The DesignaKnit USB Brotherlink 5 for Brother electronic machines What this link does Uploading and downloading patterns to the KH930, KH940, KH950i, KH965i, and KH970 knitting machines. Interactive knitting

More information

DragonLink Advanced Transmitter

DragonLink Advanced Transmitter DragonLink Advanced Transmitter A quick introduction - to a new a world of possibilities October 29, 2015 Written by Dennis Frie Contents 1 Disclaimer and notes for early release 3 2 Introduction 4 3 The

More information

Assembly Guide Robokits India

Assembly Guide Robokits India Robotic Arm 5 DOF Assembly Guide Robokits India info@robokits.co.in Robokits World http://www.robokitsworld.com http://www.robokitsworld.com Page 1 Overview : 5 DOF Robotic Arm from Robokits is a robotic

More information

1 Lab + Hwk 4: Introduction to the e-puck Robot

1 Lab + Hwk 4: Introduction to the e-puck Robot 1 Lab + Hwk 4: Introduction to the e-puck Robot This laboratory requires the following: (The development tools are already installed on the DISAL virtual machine (Ubuntu Linux) in GR B0 01): C development

More information

AN4392 Application note

AN4392 Application note Application note Using the BlueNRG family transceivers under ARIB STD-T66 in the 2400 2483.5 MHz band Introduction BlueNRG family devices are very low power Bluetooth low energy (BLE) devices compliant

More information

Lab 8: Introduction to the e-puck Robot

Lab 8: Introduction to the e-puck Robot Lab 8: Introduction to the e-puck Robot This laboratory requires the following equipment: C development tools (gcc, make, etc.) C30 programming tools for the e-puck robot The development tree which is

More information

CSCI 4190 Introduction to Robotic Algorithms, Spring 2003 Lab 1: out Thursday January 16, to be completed by Thursday January 30

CSCI 4190 Introduction to Robotic Algorithms, Spring 2003 Lab 1: out Thursday January 16, to be completed by Thursday January 30 CSCI 4190 Introduction to Robotic Algorithms, Spring 2003 Lab 1: out Thursday January 16, to be completed by Thursday January 30 Following a path For this lab, you will learn the basic procedures for using

More information

VEX IQ Troubleshooting Flowchart Controller & Controller Battery

VEX IQ Troubleshooting Flowchart Controller & Controller Battery Controller & Controller Battery Controller Power/Link Charge/Game Does the Controller turn on When on, the Power/Link LED will be green or red. Unscrew the battery door of the Controller and ensure both

More information

Team Autono-Mo. Jacobia. Department of Computer Science and Engineering The University of Texas at Arlington

Team Autono-Mo. Jacobia. Department of Computer Science and Engineering The University of Texas at Arlington Department of Computer Science and Engineering The University of Texas at Arlington Team Autono-Mo Jacobia Architecture Design Specification Team Members: Bill Butts Darius Salemizadeh Lance Storey Yunesh

More information

Figure 1. Overall Picture

Figure 1. Overall Picture Jormungand, an Autonomous Robotic Snake Charles W. Eno, Dr. A. Antonio Arroyo Machine Intelligence Laboratory University of Florida Department of Electrical Engineering 1. Introduction In the Intelligent

More information

CONSTRUCTION GUIDE Robotic Arm. Robobox. Level II

CONSTRUCTION GUIDE Robotic Arm. Robobox. Level II CONSTRUCTION GUIDE Robotic Arm Robobox Level II Robotic Arm This month s robot is a robotic arm with two degrees of freedom that will teach you how to use motors. You will then be able to move the arm

More information

New Sensors for Ridgesoft Robot

New Sensors for Ridgesoft Robot New Sensors for Ridgesoft Robot Joanne Sirois CEN 3213 Embedded Systems Programming Dr. Janusz Zalewski FGCU April 9, 2008 Sirois, 2 1. Introduction 1.1 Basics of IntelliBrain TM Robot The IntelliBrain

More information

Mathematical Construction

Mathematical Construction Mathematical Construction Full illustrated instructions for the two bisectors: Perpendicular bisector Angle bisector Full illustrated instructions for the three triangles: ASA SAS SSS Note: These documents

More information

Learning serious knowledge while "playing"with robots

Learning serious knowledge while playingwith robots 6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Learning serious knowledge while "playing"with robots Zoltán Istenes Department of Software Technology and Methodology,

More information

GE423 Laboratory Assignment 6 Robot Sensors and Wall-Following

GE423 Laboratory Assignment 6 Robot Sensors and Wall-Following GE423 Laboratory Assignment 6 Robot Sensors and Wall-Following Goals for this Lab Assignment: 1. Learn about the sensors available on the robot for environment sensing. 2. Learn about classical wall-following

More information

Sensors and Sensing Motors, Encoders and Motor Control

Sensors and Sensing Motors, Encoders and Motor Control Sensors and Sensing Motors, Encoders and Motor Control Todor Stoyanov Mobile Robotics and Olfaction Lab Center for Applied Autonomous Sensor Systems Örebro University, Sweden todor.stoyanov@oru.se 13.11.2014

More information

Undefined Obstacle Avoidance and Path Planning

Undefined Obstacle Avoidance and Path Planning Paper ID #6116 Undefined Obstacle Avoidance and Path Planning Prof. Akram Hossain, Purdue University, Calumet (Tech) Akram Hossain is a professor in the department of Engineering Technology and director

More information

Note to the Teacher. Description of the investigation. Time Required. Additional Materials VEX KITS AND PARTS NEEDED

Note to the Teacher. Description of the investigation. Time Required. Additional Materials VEX KITS AND PARTS NEEDED In this investigation students will identify a relationship between the size of the wheel and the distance traveled when the number of rotations of the motor axles remains constant. Students are required

More information

ELECTRONICS PULSE-WIDTH MODULATION

ELECTRONICS PULSE-WIDTH MODULATION ELECTRONICS PULSE-WIDTH MODULATION GHI Electronics, LLC - Where Hardware Meets Software Contents Introduction... 2 Overview... 2 Guidelines... 2 Energy Levels... 3 DC Motor Speed Control... 7 Exercise...

More information

Exercise 6. Range and Angle Tracking Performance (Radar-Dependent Errors) EXERCISE OBJECTIVE

Exercise 6. Range and Angle Tracking Performance (Radar-Dependent Errors) EXERCISE OBJECTIVE Exercise 6 Range and Angle Tracking Performance EXERCISE OBJECTIVE When you have completed this exercise, you will be familiar with the radardependent sources of error which limit range and angle tracking

More information

Portable Multi-Channel Recorder Model DAS240-BAT

Portable Multi-Channel Recorder Model DAS240-BAT Data Sheet Portable Multi-Channel Recorder The DAS240-BAT measures parameters commonly found in process applications including voltage, temperature, current, resistance, frequency and pulse. It includes

More information

Implement a Robot for the Trinity College Fire Fighting Robot Competition.

Implement a Robot for the Trinity College Fire Fighting Robot Competition. Alan Kilian Fall 2011 Implement a Robot for the Trinity College Fire Fighting Robot Competition. Page 1 Introduction: The successful completion of an individualized degree in Mechatronics requires an understanding

More information

muse Capstone Course: Wireless Sensor Networks

muse Capstone Course: Wireless Sensor Networks muse Capstone Course: Wireless Sensor Networks Experiment for WCC: Channel and Antenna Characterization Objectives 1. Get familiar with the TI CC2500 single-chip transceiver. 2. Learn how the MSP430 MCU

More information

Roborodentia Robot: Tektronix. Sean Yap Advisor: John Seng California Polytechnic State University, San Luis Obispo June 8th, 2016

Roborodentia Robot: Tektronix. Sean Yap Advisor: John Seng California Polytechnic State University, San Luis Obispo June 8th, 2016 Roborodentia Robot: Tektronix Sean Yap Advisor: John Seng California Polytechnic State University, San Luis Obispo June 8th, 2016 Table of Contents Introduction... 2 Problem Statement... 2 Software...

More information

TWEAK THE ARDUINO LOGO

TWEAK THE ARDUINO LOGO TWEAK THE ARDUINO LOGO Using serial communication, you'll use your Arduino to control a program on your computer Discover : serial communication with a computer program, Processing Time : 45 minutes Level

More information

Lifetime Power Energy Harvesting Development Kit for Wireless Sensors User s Manual - featuring PIC MCU with extreme Low Power (XLP) Technology

Lifetime Power Energy Harvesting Development Kit for Wireless Sensors User s Manual - featuring PIC MCU with extreme Low Power (XLP) Technology P2110-EVAL-01 Lifetime Power User s Manual - featuring PIC MCU with extreme Low Power (XLP) Technology Overview The Lifetime Power is a complete demonstration and development platform for creating battery-free

More information

Welcome to Arduino Day 2016

Welcome to Arduino Day 2016 Welcome to Arduino Day 2016 An Intro to Arduino From Zero to Hero in an Hour! Paul Court (aka @Courty) Welcome to the SLMS Arduino Day 2016 Arduino / Genuino?! What?? Part 1 Intro Quick Look at the Uno

More information

Robots in the Loop: Supporting an Incremental Simulation-based Design Process

Robots in the Loop: Supporting an Incremental Simulation-based Design Process s in the Loop: Supporting an Incremental -based Design Process Xiaolin Hu Computer Science Department Georgia State University Atlanta, GA, USA xhu@cs.gsu.edu Abstract This paper presents the results of

More information

Coding with Arduino to operate the prosthetic arm

Coding with Arduino to operate the prosthetic arm Setup Board Install FTDI Drivers This is so that your RedBoard will be able to communicate with your computer. If you have Windows 8 or above you might already have the drivers. 1. Download the FTDI driver

More information

Electronics Design Laboratory Lecture #9. ECEN 2270 Electronics Design Laboratory

Electronics Design Laboratory Lecture #9. ECEN 2270 Electronics Design Laboratory Electronics Design Laboratory Lecture #9 Electronics Design Laboratory 1 Notes Finishing Lab 4 this week Demo requires position control using interrupts and two actions Rotate a given angle Move forward

More information

RFID Door Unlocking System

RFID Door Unlocking System RFID Door Unlocking System Evan VanMersbergen Project Description ETEC 471 Professor Todd Morton December 7, 2005-1- Introduction In this age of rapid technological advancement, radio frequency (or RF)

More information

Homework 10: Patent Liability Analysis

Homework 10: Patent Liability Analysis Homework 10: Patent Liability Analysis Team Code Name: Autonomous Targeting Vehicle (ATV) Group No. 3 Team Member Completing This Homework: Anthony Myers E-mail Address of Team Member: myersar @ purdue.edu

More information

Mechatronics Laboratory Assignment 3 Introduction to I/O with the F28335 Motor Control Processor

Mechatronics Laboratory Assignment 3 Introduction to I/O with the F28335 Motor Control Processor Mechatronics Laboratory Assignment 3 Introduction to I/O with the F28335 Motor Control Processor Recommended Due Date: By your lab time the week of February 12 th Possible Points: If checked off before

More information

Mechatronic demonstrator for testing sensors to be used in mobile robotics functioning on the inverted pendulum concept

Mechatronic demonstrator for testing sensors to be used in mobile robotics functioning on the inverted pendulum concept IOP Conference Series: Materials Science and Engineering PAPER OPEN ACCESS Mechatronic demonstrator for testing sensors to be used in mobile robotics functioning on the inverted pendulum concept To cite

More information

Quantizer step: volts Input Voltage [V]

Quantizer step: volts Input Voltage [V] EE 101 Fall 2008 Date: Lab Section # Lab #8 Name: A/D Converter and ECEbot Power Abstract Partner: Autonomous robots need to have a means to sense the world around them. For example, the bumper switches

More information

Activity Template. Subject Area(s): Science and Technology Activity Title: Header. Grade Level: 9-12 Time Required: Group Size:

Activity Template. Subject Area(s): Science and Technology Activity Title: Header. Grade Level: 9-12 Time Required: Group Size: Activity Template Subject Area(s): Science and Technology Activity Title: What s In a Name? Header Image 1 ADA Description: Picture of a rover with attached pen for writing while performing program. Caption:

More information

Automatic Control Motion control Advanced control techniques

Automatic Control Motion control Advanced control techniques Automatic Control Motion control Advanced control techniques (luca.bascetta@polimi.it) Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria Motivations (I) 2 Besides the classical

More information

Development of a Laboratory Kit for Robotics Engineering Education

Development of a Laboratory Kit for Robotics Engineering Education Development of a Laboratory Kit for Robotics Engineering Education Taskin Padir, William Michalson, Greg Fischer, Gary Pollice Worcester Polytechnic Institute Robotics Engineering Program tpadir@wpi.edu

More information

Megamark Arduino Library Documentation

Megamark Arduino Library Documentation Megamark Arduino Library Documentation The Choitek Megamark is an advanced full-size multipurpose mobile manipulator robotics platform for students, artists, educators and researchers alike. In our mission

More information

User Manual. This User Manual will guide you through the steps to set up your Spike and take measurements.

User Manual. This User Manual will guide you through the steps to set up your Spike and take measurements. User Manual (of Spike ios version 1.14.6 and Android version 1.7.2) This User Manual will guide you through the steps to set up your Spike and take measurements. 1 Mounting Your Spike 5 2 Installing the

More information

Lab 7: Introduction to Webots and Sensor Modeling

Lab 7: Introduction to Webots and Sensor Modeling Lab 7: Introduction to Webots and Sensor Modeling This laboratory requires the following software: Webots simulator C development tools (gcc, make, etc.) The laboratory duration is approximately two hours.

More information

1. Controlling the DC Motors

1. Controlling the DC Motors E11: Autonomous Vehicles Lab 5: Motors and Sensors By this point, you should have an assembled robot and Mudduino to power it. Let s get things moving! In this lab, you will write code to test your motors

More information

Rodni What will yours be?

Rodni What will yours be? Rodni What will yours be? version 4 Welcome to Rodni, a modular animatronic animal of your own creation for learning how easy it is to enter the world of software programming and micro controllers. During

More information

Sensors and Sensing Motors, Encoders and Motor Control

Sensors and Sensing Motors, Encoders and Motor Control Sensors and Sensing Motors, Encoders and Motor Control Todor Stoyanov Mobile Robotics and Olfaction Lab Center for Applied Autonomous Sensor Systems Örebro University, Sweden todor.stoyanov@oru.se 05.11.2015

More information

Guiding Visually Impaired People with NXT Robot through an Android Mobile Application

Guiding Visually Impaired People with NXT Robot through an Android Mobile Application Int. J. Com. Dig. Sys. 2, No. 3, 129-134 (2013) 129 International Journal of Computing and Digital Systems http://dx.doi.org/10.12785/ijcds/020304 Guiding Visually Impaired People with NXT Robot through

More information