Robotics Coordinates, position, orientation kinematics. HTML5 reading file. Homework: Prepare for lab. Postings.

Slides:



Advertisements
Similar presentations
Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use.
Advertisements

Outline: Introduction Link Description Link-Connection Description
Links and Joints.
Introduction to Robotics
Denavit-Hartenberg Convention
Programming games More drawing. Text. Radian measure. Faces. Homework: Do your own drawings. Create index.html file. Upload work.
Kinematic Modelling in Robotics
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
Intuitive Kinematics – Converting Between Forward and Reverse Definitions of Space Lecture Series 2 ME 4135 R. R. Lindeke.
Forward Kinematics. Focus on links chains May be combined in a tree structure Degrees of Freedom Number of independent position variables (i.e. joints.
Chapter 3 Vectors.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
1Notes  Assignment 0 marks should be ready by tonight (hand back in class on Monday)
The City College of New York 1 Prepared by Dr. Salah Talha Mobot: Mobile Robot Introduction to ROBOTICS.
Introduction to Robotics
Time to Derive Kinematics Model of the Robotic Arm
Ch. 3: Forward and Inverse Kinematics
Introduction to ROBOTICS
ME Robotics DIFFERENTIAL KINEMATICS Purpose: The purpose of this chapter is to introduce you to robot motion. Differential forms of the homogeneous.
Mobile Robotics: 10. Kinematics 1
Seven measuring the world (geo/metry). Measuring space This course is fundamentally about spaces of various kinds Physical space Image space Auditory.
Introduction to ROBOTICS
Vectors.
The linear algebra of Canadarm
An Introduction to Robot Kinematics
More details and examples on robot arms and kinematics
Advanced Graphics (and Animation) Spring 2002
Definition of an Industrial Robot
1 Kinematics ( 運動學 ) Primer Jyun-Ming Chen Fall 2009.
February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Computational Considerations.
SE 313 – Computer Graphics Lecture 3: Analytical Geometry and Linear Algebra Lecturer: Gazihan Alankuş Please look at the last three slides for assignments.
Chapter 4.1 Mathematical Concepts
Chapter 3 Vectors Coordinate Systems Used to describe the position of a point in space Coordinate system consists of A fixed reference point called.
CS 480/680 Computer Graphics Representation Dr. Frederick C Harris, Jr. Fall 2012.
Robotics Actuators. Motors. Sensors. NXT-G logic. Lab: Measurements Homework: Task moodle assignment! Mechanics readings. Prepare summary. Postings. Next.
Robotics NXT sensors Back to Light sensor: red vs blue ball.
General physics I, lec 2 By: T.A.Eleyan 1 Lecture 2 Coordinate Systems & Vectors.
Lecture 2: Introduction to Concepts in Robotics
Mathematical Foundations Sections A-1 to A-5 Some of the material in these slides may have been adapted from university of Virginia, MIT and Åbo Akademi.
Chapter 2 Robot Kinematics: Position Analysis
Robotics Overview of NXT-G Actuators in Mindstorms. Touch sensor Labwork: Right turn. Touch/bump. [Explore move versus Motor Move mini & motor mini. Motor*.]
Programming Games Show project. Refresher on coordinates. Scaling, translation. HTML5 logo. Refresher on animation. Bouncing ball. Homework: Do your own.
LAB 9 Robot Arm Path Planning TAS: Kedar Amladi & Margaret Toebes.
Creating User Interfaces Recap HTML/HTML5 JavaScript features Homework: keep working on user observation studies. Review JavaScript.
Manipulator’s Forward kinematics
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
16/5/ :47 UML Computer Graphics Conceptual Model Application Model Application Program Graphics System Output Devices Input Devices API Function.
Transformations. Congruent Similar Image vs Pre-image Pre-image: the figure before a transformation is applied. Image: The figure resulting from a transformation.
Robotics NXT-G: variables, file Rotation sensor Lab: Use buttons to hit specific ball. Homework: Postings. Start planning mapping the room.
Kinematics. The function of a robot is to manipulate objects in its workspace. To manipulate objects means to cause them to move in a desired way (as.
Chapter 2: Description of position and orientation Faculty of Engineering - Mechanical Engineering Department ROBOTICS Outline: Introduction. Descriptions:
Programming games Context of what we are doing. Drawing on canvas. Homework: [Complete coin toss examples.] Do your own drawings. Upload files to website.
Rotations. Goals Distinguish between a translation, reflection, and rotation. Visualize, and then perform rotations using patty paper. To determine the.
Programming games Review concepts. Crooked coin toss. Drawing on canvas. Homework: Complete [static] drawings. Upload files to website.
Robotics II Copyright Martin P. Aalund, Ph.D.
Creating User Interfaces HTML5 video & audio. Role of video and audio. Homework: Complete your own [small/simple] HTML5 video and audio projects.
Programming Games Show slide show (on your site). Bouncing something. Video element. Bouncing video element. Bouncing video drawn on canvas. Bouncing video.
A Mathematics Review Unit 1 Presentation 2. Why Review?  Mathematics are a very important part of Physics  Graphing, Trigonometry, and Algebraic concepts.
Forward Kinematics Where is my hand ?. Examples Denavit-Hartenberg Specialized description of articulated figures (joints) Each joint has only one degree.
Chapter 3 Lecture 5: Vectors HW1 (problems): 1.18, 1.27, 2.11, 2.17, 2.21, 2.35, 2.51, 2.67 Due Thursday, Feb. 11.
Manipulator Kinematics Treatment of motion without regard to the forces that cause it. Contents of lecture: vResume vDirect kinematics vDenavit-Hartenberg.
Programming games Show work on site. Work on slide show. Timed event for bouncing ball. Homework: [Finish slide show and upload to site.] Acquire a short.
Kinematics 제어시스템 이론 및 실습 조현우
Character Animation Forward and Inverse Kinematics
Introduction to manipulator kinematics
CSE4421/5324: Introduction to Robotics
CSE4421/5324: Introduction to Robotics
Creating User Interfaces
Presentation transcript:

Robotics Coordinates, position, orientation kinematics. HTML5 reading file. Homework: Prepare for lab. Postings

Coordinate system Method of providing system for specifying points / positions / vectors in a given N-dimensional space. This space, typically, is a line (1D), plane (2D), or space (3D). The most common coordinate system is Cartesian: 3 orthogonal, linear dimensions; fixed origin –Position of origin needs to be specified –Orientation of axes needs to be defined Right-hand rule is convention involving relationship of x, y and z Another common system for the plane is polar (angle and distance), cylindrical (polar + height) or spherical (3D vector + distance) for space.

Polar d a x y x = d * cos(a) y = d * sin (a) a= atan(y/x) need to specify quadrant—computer atan function may do this. d = sqr(x*x+y*y)

Note May be easier to collect positions in polar coordinates and then convert them, as needed, to something else. REPEAT: critical issue is defining the origin.

Addition (of moves) Robot moved … and moved again. Adding [cartesian] vectors –(x1, y1) + (x2,y2) IS (x1+x2, y1+y2) Need to be aware of when something is a position and when it is a displacement Adding polar coordinates –Convert to cartesian and convert back!

Position … of what? Robot wheel base Robot ultrasonic sensor Robot bumper or touch sensor itself Robot light sensor

Orientation Where is robot facing? Plane: 2 positional degrees of freedom and 1 angle Space: 3 positional degrees of freedom and 3 angles.

Reference Neat Flash animation on vectors –Ocean, bottle, current ition_velocity_ship.htm

Kinematics For linked/jointed structures, calculating the position of the end-point, given the position/angle of each joint. Easy (easier) problem

Inverse kinematics Given jointed/linked structure, what are positions of joints/angles to make endpoint be at a given point? –May be no answer or multiple answers Easy for IBM Box frame robot: links were not coupled. For articulated mechanisms, various approaches, often requiring iterative techniques.

Challenge: mapping Program the robot to provide map of the room –More precisely, provide coordinates of positions of walls/barriers/lines (points) (think about connecting points later) Upload using Mindstorms to Desktop. HTML5 program draws points. (Later) send file (single position is 2 numbers) to other robot using Bluetooth (Later) automatically upload file to computer

HTML5 JavaScript reads in whole file –HTML5 file API. More general / more features than used for this example. –Note: asynchronous action. Set up function for the event of indicating the file AND set up function for the event of reading in the text data. –program detects line breaks –program converts from text to number draws on canvas –blue dot is the center –red dots are calculated positions Note: draws based on standard, not upside down!, coordinates.

testpairs.txt file

HTML5 program drawing positions obotics/mapdata.htmlhttp://faculty.purchase.edu/jeanine.meyer/r obotics/mapdata.html Works in Firefox Two sample files: –textpairs.txt –textpairs3.txt

HTML5 functions init readInData receivedText drawpositions drawdot

HTML5 outline …. Name the file: The browser does not recognize canvas.

global data and init function var ctx; var center = [450,300]; var rad = 5; var data; function init() { ctx = document.getElementById("canvas").getContext("2d"); drawdot(center[0],center[1],"blue"); document.getElementById("fileinput").addEventListener(' change',readInData,false); }

function readInData(ev) { var input = document.getElementById("fileinput"); if (!input.files) { alert("browser doesn't seem to support files "); return; } else if (!input.files[0]) { alert("please select a file"); return; } else { file = input.files[0]; fr = new FileReader(); fr.onload = receivedText; fr.readAsText(file); }

function receivedText() { var i; data = fr.result.split("\n"); for (i=0;i<data.length;i++) { data[i] = Number(data[i]); } drawpositions(); }

function drawpositions() { //uses info in data array var i; var angle; var dist; var x; var y; for(i=0;i<data.length;i=i+2) { angle = (data[i]/180)*Math.PI; dist = data[i+1]; x = center[0]+dist*Math.cos(angle); y = center[1]-dist*Math.sin(angle); drawdot(x,y,"red"); }

function drawdot(x,y,color) { ctx.fillStyle = color; ctx.beginPath(); ctx.arc(x,y,rad,0,2* Math.PI,true); ctx.fill(); ctx.closePath(); }

Lab: Mapping One group of strategies is to generate any number of points along walls. –Leave it to other program to connect dots Another strategy is to measure walls –Walk along walls, mark points or lengths You can make assumptions (constraints) on shape of room "Build" room using books or other obstacles.

Homework Postings Start/Continue work on mapping strategy / strategies –What sensor(s)? –How to specify origin? –Amount of travel versus walls versus ????