Presentation is loading. Please wait.

Presentation is loading. Please wait.

What’s this …? This is … cs4540: “Topics in Robotics”

Similar presentations


Presentation on theme: "What’s this …? This is … cs4540: “Topics in Robotics”"— Presentation transcript:

1 What’s this …? This is … cs4540: “Topics in Robotics”
This class has been planned as a regular Introductory Robotics class and not just as “Topics”. We meet Saturdays from 4pm-6:30pm Labs/Quizzes will begin at 6:00 pm on Saturdays. Also, on Saturdays, we will have “hours” from 6:30- 7:30pm.

2 How to communicate with us:
Jose (818) – Work (leave a message); (626) – Cell. Richard (323)

3 Office Hours: Richard & Jose
It’s better if you make an appointment … Monday: 3-5pm; Wednesday: 1-3pm. Saturday: from 9-11am & from 6:30pm-7:30pm Jose: Only by appointment. Typically on campus Monday-Thursday: 5-6pm & Saturdays from 9 – 11am & from 6:30pm-7:30pm. Every other Friday is open for appointments from 9am-8pm.

4 On how this class came to be …
Fall Semester of 2017: Richard Cross, was once again made the co-instructor of my cs3337 & cs5337 classes and also for my “proposed” senior design project regarding a “Robotic Seminar & Project”. I also proposed to teach a Robotic class … should one be needed … Richard decided to show me a so-called robot named “Roomba” (I couldn’t be less interested!). However, … you cannot dismiss Richard that easily! … Lastly, after Richard demo with his very own $400 Roomba and excited pep-talk, I allowed myself to be slightly interested in some “hardware robot projects” using “Roomba-derived” hardware. Richard was very happy… Unexpectedly, Dr. Raj Pamula, our chair, informed me that “my project” was now going to be the CSULA “Swarmathon” instead, with Richard as the academic representative and I as the industry (JPL) representative … and also, that the Robotic class was “go” for the Spring … Unbelievable! … How in the world had I allowed myself to fall into this “situation” way different from my initial proposition? … Richard was elated! He became the heart of the project, a fully motivated party! … I started to be concerned … then ... very concerned ... the expectations? … the labs? ... the class size (ideally if possible, less than students ... never as many as 30!!!) ... lots of concerns ... So, here we are about to begin this class with ~90 of you in this room … If things seem difficult I suggest you to blame the heart of Robotic, Mr. Richard Cross,  not I. …

5 Software you may need to download…
MATLAB-related: the MATLAB Robotic Toolbox, a third-party toolbox developed by Peter Corke, the textbook author. It can be downloaded for free from: (download the MATLAB Robotics Toolbox and install it on your computer by clicking on the .mltbx file and following the instructions). There's manual provided by the author in robot.pdf. Download Octave from this website: Download a C++ compiler from the web: MacPorts for Macs & MinGW for Windows (you will be able to do this on your own). In addition, there are many interesting robotics courses on the web. One of my favorites is a course by Stanford professor Oussama Khatib, one of the two editors of your textbook and also the professor who wrote your textbook’s Foreword (page right before the book’s Preface). The link is: (if you have no time, at least watch a couple of minutes starting at minutes 00:14:50! & 00:20:04)

6 The Big Picture – what’s the plan ahead…
In this class we will have five related set of activities: Lectures (about 9 different topics) - Jose Matlab exercises with the lectures – Possibly Jose or Richard? Robot lab sessions & Quizzes (some hardware here) – Richard C++ Programming Assignments (~3 or “0”): Jose Exams: Midterms (2) and Final (based on class notes + textbook)- Jose However, whatever we do we’ll try to prepare you for it with some extra lectures/training/lab!

7 Some details: Introduction (Robot components, some geometry, matrices, more, ...) Robot Orientation (Translation, Rotations, Transformations) & Matlab sessions Robot Forward Kinematics & Forward Kinematics Matlab/Octave Robot Inverse Kinematics & Inverse Kinematics Matlab/Octave Robot Trajectory Generation & Matlab/Octave session (It may be skipped ?) Velocities, Forces & Jacobians & Lab Session (C++ package? Matlab?/Octave?) Robot Dynamics (Newton & Euler Eqs): Dynamics Simulation Lab (?) Robot Control, Behaviors, Sensors Robot Programming, Sensors, Servos & Programming Labs.

8 The textbooks: The plan is to publish these slides to CSNS and make them available to you. The required textbook is (best book for the money!): “Robotics, Vision and Control. Fundamental Algorithms in MATLAB” by Peter Corke, 2nd Ed., Pub. Springer There are four additional textbooks I will be looking at: “Introduction to Robotics Mechanics and Control” by John J. Craig, 4th ed., Pub. Pearson. “Robot Programming” by C. Hughes & T. Hughes, Pub. QUE. “Robot Programming” by J.L. Jones, Pub. McGraw-Hill “Programming Robots with ROS” by M. Quigley et al., Pub. O’Reilly Media Plus “heavy duty” additional reference textbooks (maybe only for me): “Theory of Applied Robotics” by Reza N. Jazar, Pub. Springer, 2nd edition. “Robot Vision” by B.K. Paul Horn, Pub. The MIT Press Plus some Math textbooks (also only for me) … : “Quaternions and Rotation Sequences” by Jack Kuipers, Pub. Princeton University Press “Linear Algebra” by several authors …

9 What’s our main goal … This class goal is very ambitious and we are committed to work very hard to get it: Establish a community of CSULA roboticists after several decades (4+?) of silence … Bring about a slightly new direction in the study robotics by dedicating less time to the mechanics and mathematical aspects of the robots and more time to its programming aspects … (This follows a little bit what really happens with advanced robots exploring other worlds: once the robot is “launched to its far away activities” all is left to do is to program it regularly (?) to do the job it was planned for it!) Plus ... the businesses are coming our way by building more and more sophisticated robots ... programmers will be needed!!! However, if you really want to be able to “talk robotics” with others, there is some math you need to know … we’ll teach you that too…

10 What fields of knowledge apply to Robotics
What fields of knowledge apply to Robotics? … or … What makes Robotics so challenging? … Robotics is an exemplary multidisciplinary activity that requires deep knowledge of at least 5 technical fields plus fields in the non-technical areas … Lots of learning opportunities !!! Technical fields Mechanical Engineering: they build the robot & all its movable parts plus the addition of the kinematics, dynamics, and mechanical engineering expertise … Electrical-Electronics Engineering: they provide the electrical parts knowledge such as batteries, computer hardware, sensor systems, and the electrical engineering expertise ... Automatic Control Systems: they provide the techniques to control and actuate the robot as an automatic device … People that study this field in-depth include EEs, MEs, ChEs, … Mathematics: they provide the ability to define important algorithmic and computational elements of the robot plus the language to define all the basic physics/science attached to robotics … Computer Science: they program the robot now and forever … until the end of the robot’s life! … Non-Technical Fields Industrial Psychology: in the relationship robots - human beings – teaching of a robot to be humanized … Industrial Sociology: in the interaction between mobile robots and the field of human activity … Possible many other fields … the robots are getting everywhere to be with us for good …

11 Some of the math we’ll need …
Some linear algebra: vectors, matrices, some “quaternions” ... whose operational part we will try to do mostly using Matlab/Octave … C++(?) Some vector algebra and vector analysis, again using Matlab/Octave (?) Some trigonometry … (with Matlab/Octave ?/C++/EXCEL?) Some basic concepts from calculus (just think that velocity is a “derivative” and acceleration is the derivative of velocity …) so we will need some calculus no matter what, plus what is called Jacobian (which is just a matrix of derivatives …), etc. HERE WE WILL REDUCE THESE COMPONENTS TO THEIR APPROPRIATE MINIMUM NECESSARY TO UNDERSTAND THE SUBJECT `A LA ENGINEER’S!, THAT IS, HOW TO USE IT WITHOUT GOING TO WHAT MATHEMATICIANS AND OTHER ENGINEERS DO: “never ending math equations and proofs” … WE’LL FIND A WAY FOR THE COMPUTER TO HELP US GET THE JOB DONE! … As we go, do not hesitate to ask questions … we need to learn this stuff …

12 I will not begin asking … “Is there any question?”…
Your question could possibly be: “Jose what’s the difference between ROBOTICS and doing “Lego Robots” ... Long ago we found this “equivalent” question-and-answer cartoon ...

13 Also, Richard contributed with a question-and-answer applicable to my sometimes lack of PC attitude if caught off-guard … Here:

14 We’ll start with a rather long introduction ...
this will help us to become familiar with the ROBOTS theme and its language... No Robotics class can start without citing the well known Asimov’s “Laws of Robotics” … a bit of “history” about Robotics … the definition of a “robot” … plus some comments from a local (at USC) Turing Award recipient: L. Adleman …

15 Isaac Asimov’s “Three Laws of Robotics” (short story “Runaround”, 1941/1942)
Law 0 (a rather later “derived” Law): A robot may not injure humanity, or, through inaction, allow humanity to become to harm. Law 1: A robot may not injure a human being or, through inaction, allow a human being to come to harm. Law 2: A robot must obey orders given it by human beings except where such orders would conflict with the First Law. Law 3: A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.

16 Definitions of “Robot”
Merriam-Webster Dictionary: a real or imaginary machine that is controlled by a computer and is often made to look like a human or animal. : a machine that can do the work of a person and that works automatically or is controlled by a computer. Robotics Institute of America (RIA): a reprogrammable multifunctional manipulator designed to move material, parts, tools, or specialized devices through variable programmed motions for the performance of a variety of tasks. The Web: (1) a machine capable of carrying out a complex series of actions automatically, especially one programmable by a computer. (2) (especially in science fiction) a machine resembling a human being and able to replicate certain human movements and functions automatically.

17 Timeline of Robot Development (many sources, dates are ok-ish)
1. c 320 BC – Aristotle made this famous quote: “If every tool, when ordered, or even of its own accord, could do the work that befits it... then there would be no need either of apprentices for the master workers or of slaves for the lords.” 2. c. 1495: Leonardo da Vinci sketched plans for a humanoid robot. – 1900: a number of life-sized automatons were created including a famous mechanical duck made by Jacques De Vaucanson (French) that could crane its neck, flap its wings and even swallow food and “poo”. : Henry Ford installs the world’s first moving conveyor belt-based assembly line in his car factory. A Model T can be assembled in 93 minutes. Not really a “robot” but getting close ... : The word robot was introduced by Czech playwright Karel Capek in his satirical play R. U. R. (Rossum’s Universal Robots), where he depicted robots as machines which resembled people but worked tirelessly. In the play, the robots eventually turn against their creators and annihilate the human race. 6. after 1940: first automata by Grey Walter’s “Machina Speculatrix” (a genius!)... : first programmable robot designed by George Devol funder of Unimation used CNC (computer numerically controlled) for accurate milling of low-volume high-performance aircraft parts. Birth of PUMA = Programmable Universal Manipulator for Assembly. 8. in the 1960’s: sensors in robots, MAC (Man And Machine) project at MIT; Stanford manipulator; AMF (American Machine and Foundry); Boston Arm; Edinburgh Arm; a walking robot by General Electric for the Army (1969); Japan enters the arena by buying Unimation in 1968, & John’s Hopkins University Beast; ... 9. in the 70’s: first language for programming robot motion (WAVE) at Stanford; T3; RCC; PUMA; SCARA, many others ...

18 Summary of Robots Development (after 2000)
From the 2000’s on (taken from the textbook by Reza N. Jazar, 2007): more than 1000 robotics-related organizations, associa­tions, and clubs; more than 500 robotics-related magazines, journals, and newsletters; more than 100 robotics-related conferences, and competitions each year; and more than 50 robotics-related courses in colleges. It is claimed that robots appeared to perform in 4A for 4D, or 3D3H envi­ronments. (4A performances are: automation, augmentation, assistance, and autonomous; and 4D environments are: dangerous, dirty, dull, and difficult. 3D3H means dull, dirty, dangerous, hot, heavy, and hazardous). Robots find a vast amount industrial applications and are used for various tech­nological operations. Robots enhance labor productivity in industry and deliver relief from tiresome, monotonous, or hazardous works. Moreover, robots perform many operations better than people do, and they provide higher accuracy and repeatability. In many fields, high technological stan­dards are hardly attainable without robots. Apart from industry, robots are used in extreme environments. They can work at low and high temper­atures; they don't even need lights, rest, fresh air, a salary, promotions, vacation, benefits, ... Robots are prospective machines whose application area is widening. After being first introduced in 2002, the popular Roomba robotic vacuum cleaner has sold over 2.5 million units proving that there is a strong demand for this type of domestic robotic technology ...

19 Len Adleman’s on “Computing Evolution”
Leonard Adleman, 2002 Turing award recipient together with R. Rivest & A. Shamir for the “practical” RSA code … I agree with the geneticists: we don’t have an endless future as the dominant creature on Earth or in the Universe … hopefully it won’t be a catastrophic end to us – there are still apes and dogs around, they’re just not the dominant creatures … The theory is that we have evolved ... Now, the cell is not that smart, but it’s a whole lot smarter than our current computer. We wouldn’t be offended if computer got as smart as cells … humans are only 3 billion years from the cell, and only a couple of million years from our primate predecessors, who didn’t have cultures or consciousness. So 10 million years from now – if we’re still around – what’s a computer going to be like? They have only existed for about 50 years, and look at what they can do. So, there seems to be no reason why 10 million or 100 million years from now, if humans are still around, computers [in the form of robots?] won’t evolve to be the dominant creature…

20 The most Common Languages in Robotics (by Alex Owen-Hill from the Web)
#1: C++ (some call it C/C++ but I don’t like C, it’s hard to learn! and a bit too raw!) Lots of H/W libraries; easy to learn; very stable compiler … almost the “standard” for robotics … #2: Python Very easy to use/learn, becoming very popular … It’s an “interpretative” (vs. “compiled”) language! #3: Java (believe it or not! … but it’s used by many in the field of robotics…) #4: C#.NET (owned by Microsoft! … that does it! ) #5: MATLAB (its open source relative is “Octave”), we rarely program in Matlab … but … a very good “calculator-type” of language … Most easy to use at a beginners level … it gets harder later on … it does a lot of Math most easily! Great tool! IN THIS CLASS WE WILL BE USING MATLAB/Octave (C++ ?) FOR OUR EXERCISES & “THEORY” LABS …

21 What’s an OS and what’s ROS? (mostly from the Web)
An OS (Operating System) is a large program that runs “all the time” automatically inside a computer as soon as it is turned on. By definition an OS is: “the software that supports a computer's basic functions, such as scheduling tasks, executing applications, controlling peripherals, etc… All of them fundamental computer tasks and all of them “invisible” to the user …” ROS (Robot Operating System) is a flexible framework for writing robot software. It is a collection of software tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms... ROS was built from the ground up to encourage collaborative robotics software development because creating truly robust, general-purpose robot software is hard. From the reference by M. Quigley, B. Gerky & W. Smart on “… Robots with ROS”. ROS is “an open source framework for getting robots to do things. ROS is meant to serve as a common software platform for people who are building and using robots”.

22 Definitions and nomenclature, the language of Robotics ...
Robotics begins with... Definitions and nomenclature, the language of Robotics ...

23 A Robotic System: Definitions (taken mostly from Reza N
A Robotic System: Definitions (taken mostly from Reza N. Jazar ~20 slides) Robotic manipulators are composed of links connected by joints to form a kinematic chain. A robot as a system, consists of a manipulator or rover or robot, a wrist, an end-effector, actuators, sensors (vision, sound, haptic (tact), smell? – not yet?, taste? – not yet?, ... ) con­troller or control unit, (which includes the processor, and the software).

24 Links or Arms The individual rigid bodies that make up a robot are called links. In robotics we sometimes use arm to mean link. A robot arm or a robot link is a rigid member that may have relative motion with respect to all other links. From the kinematic point of view, two or more members connected together such that no relative motion can occur among them are considered a single link. Example regarding number of links: In the attached figure identify a two-loop (in yellow) planar linkage with 7 links and 8 revolute joints The attached Figure shows a mechanism with 7 links. There cannot be any relative motion among bars 3, 10, and 11. Hence, they are counted as one link, say link 3. Bars 6, 12, and 13 have the same situation and are counted as one link, say link 6. Bars 2 and 8 are rigidly attached, making one link only, say link 2. Bars 3 and 9 have the same relationship as bars 2 and 8, and they are also one link, say link 3.

25 Revolute and Prismatic Joints
Two links are connected by contact at a joint where their relative mo­tion can be expressed by a single coordinate. Joints are typically revolute (rotary) or prismatic (translatory). Relative rotation of connected links by a revolute joint occurs about a line called axis of joint. Also, translation of two connected links by a prismatic joint occurs along a line also called axis of joint. The Figure depicts the geometric form of a revolute and a prismatic joint. A revolute joint (R), is like a hinge and allows relative rotation between two links. A prismatic joint (P), allows a translation of relative motion between two links.

26 Example of Revolute and Prismatic Joints
The value of the single coordinate describing the relative position of two connected links at a joint is called joint coordinate or joint variable. It is an angle for a revolute joint, and a distance for a prismatic joint. A symbolic illustration of revolute and prismatic joints in robotics are shown in the Figures (a)-(c) for revolute joints on the left, and (a)-(c) for prismatic joints on the right respectively. Revolute Joints Prismatic Joints

27 Types of Joints The coordinate of an active joint is controlled by an actuator. A passive joint does not have any actuators and its coordinate is a function of the coordinates of active joints and the geometry of the robot arms. Passive joints are also called inactive or free joints. Active joints are usually prismatic or revolute, however, passive joints may be any of the lower pair joints that provide surface contact. There are six different lower pair joints: revolute, prismatic, cylindrical, screw, spherical, and planar. Revolute and prismatic joints are the most common joints that are uti­lized in serial robotic manipulators. The other joint types are merely im­plementations to achieve the same function or provide additional degrees of freedom (DOF).

28 Degrees of Freedom Robot arms are described by their degrees of freedom. Degrees of Freedom (DOF). DOF, is a general term used for any mechanism. It represents the number of independent position variables (for example single-axis rotational joints in the arm) that would have to be specified in order to locate all parts of the mechanism. A higher DOF indicates an increased flexibility in positioning Prismatic and revolute joints provide one degree of freedom. Therefore, the number of joints of a manipulator is the degrees-of-freedom, (DOF) of the manipulator. Typically the manipulator should possess at least six DOF: three for positioning and three for orientation. A manipulator having more than six DOF is referred to as a kinematically redundant manipulator. Most industrial manipulators have six DOF.

29 Manipulator The main body of a robot consisting of the links, joints, and other structural elements, is called the manipulator. A manipulator becomes a robot when the wrist and gripper are attached, and the control system is implemented. In the literature, robots and manipulators are utilized equivalently and both refer to robots. The Figure below schematically illustrates a 3R (three revolute joints) manipulator.

30 Wrist The joints in the kinematic chain of a robot between the forearm and end-effector (gripper) are referred to as the wrist. It is common to design manipulators with spherical wrists, by which it means three revolute joint axes intersect at a common point called the wrist point. The Figure shows a schematic illustration of a spherical wrist consisting of three mutually orthogonal revolutes. This wrist is called a R Ⱶ R Ⱶ R mechanism. The spherical wrist greatly simplifies the kinematic analysis effectively, allowing us to decouple the positioning and orienting of the end effector (gripper). Therefore, the manipulator will possess three degrees-of-freedom for posi­tion, which are produced by three joints in the arm. The number of DOF for orientation will then depend on the wrist. We may design a wrist having one, two, or three DOF depending on the application.

31 End-effector; Actuators & Sensors
End-effector is the part mounted on the last link to do the required job of the robot. The simplest end-effector is a gripper, which is usually capable of only two actions: opening and closing. The arm and wrist assemblies of a robot are used primarily for positioning the end-effector and any tool it may carry. It is the end-effector or tool that actually performs the work. The wrist and end-effector assembly is also called a hand. Actuators are drivers acting as the muscles of robots to change their con­figuration. The actuators provide power to act on the mechanical structure against gravity, inertia, and other external forces to modify the geometric location of the robot's hand. The actuators can be of electric, hydraulic, or pneumatic type and have to be controllable. Sensors are the elements used for detecting and collecting information about internal and environmental states. Joint position, velocity, acceleration, and force are the most important in­formation to be sensed. Sensors, integrated into the robot, send information about each link and joint to the control unit, and the control unit deter­mines the configuration of the robot.

32 Controller (Computer)
The controller or control unit has three roles. 1-Information role, which consists of collecting and processing the infor­mation provided by the robot's sensors. 2-Decision role, which consists of planning the geometric motion of the robot structure. 3- Communication role, which consists of organizing the information be­tween the robot and its environment. The control unit includes the proces­sor and software.

33 Robot Classifications
The Japanese Industrial Robot Association divides robots in the 6 different classes listed below. (The Robotics Institute of America (RIA) considers classes 3-6 of the follow­ing classification to be robots. The Association Française de la Robotique (AFR) combines classes 2, 3, and 4 as the same type and divides robots in 4 types.): Class 1: Manual handling devices: A device with multi degrees of freedom that is actuated by an operator. Class 2: Fixed sequence robot: A device that performs the successive stages of a task according to a predetermined and fixed program. Class 3: Variable sequence robot: A device that performs the successive stages of a task according to a predetermined but programmable method. Class 4: Playback robot: A human operator performs the task manually by leading the robot, which records the motions for later playback. The robot repeats the same motions according to the recorded information. Class 5: Numerical control robot: The operator supplies the robot with a motion program rather than teaching it the task manually. Class 6: Intelligent robot: A robot with the ability to understand its environment and the ability to successfully complete a task despite changes in the surrounding conditions under which it is to be performed. Other than these official classifications, robots can be classified by other criteria such as geometry, workspace, actuation, control, and application.

34 Basic Components of a Control Systems (Servos)
Three basic components: Objectives of control or inputs Control system components Result or outputs Objectives or inputs CONTROL SYSTEM Results or outputs The figure illustrates the basic relationship between these three components. The objectives can be identified with inputs or actuating signals. The results are also called outputs or controlled variables. In general the objective of the control system is to control the outputs in some prescribed manner by the inputs through the elements of the control system. Control Systems are found in all sectors of industry including robotics (weapon systems, computer control, space technology, automatic assembly lines, etc.). A servo control system is one of the most important and widely used form of control system. Any machine or piece of equipment that has rotating parts will contain one or more servo control system. Robots may include many servos. The job of the control system may include: (i) Maintaining the speed of motor within certain limits, even when on the output of motor might vary. This is called regulation. (ii) Varying the speed of motor and load according to an externally set of programmed values. This is called set point or reference tracking.

35 Basic Components of an Open-Loop Control System
Reference input r CONTROLLER Actuating signal u Controlled variable y CONTROLLED PROCESS The elements of an open-loop control system (non-feedback system) can usually be divided into two parts: the controller and the controlled process, as shown in the figure. An input signal or command r is applied to the controller, whose output acts as the actuating signal u; the actuating signal then controls the controlled process so that the controlled variable y will perform according to prescribed standards. In simple cases, the controller can be an amplifier, mechanical linkage, filter, a car idle-speed control system, or other control element, depending on the nature of the system. In more sophisticated cases, the controller can be a computer such as a microprocessor. Because of the simplicity and economy of open-loop control systems, we find this type of system in many noncritical applications.

36 Basic Components of a Closed-Loop Control System
Reference input wr + CONTROLLER Error Detector ENGINE SPEED TRANSDUCER we wc - + TL (load torque) Unlike the open-loop control system, for more accurate and more adaptive control, the closed-loop control system includes a link or feedback from the output to the input of the system. To obtain the more accurate control, the controlled signal wc should be fed back and compared with the reference input wr and an actuating signal we proportional to the difference of the input and the output must be sent through the system to correct the error. A closed-loop idle-speed control system is shown in the figure above. The reference input wr sets the desired idling speed. The engine speed at idle should agree with the reference value wr and any difference such as the load torque TL is sensed by the speed transducer and the error detector. The controller will operate on the difference and provide a signal to adjust the throttle to correct the error. The objective of the idle-speed control system illustrated, also known as a regulator system, is to maintain the system output at a prescribed level.

37 Robot Geometry A robot is called a serial or open-loop manipulator if its kinematic structure does not make a loop chain. It is called a parallel or closed-loop manipulator if its structure makes a loop chain. A robot is a hybrid manipulator if its structure consists of both open and closed-loop chains. As a mechanical system, we may think of a robot as a set of rigid bodies connected together at some joints. The joints can be either revolute (R) or prismatic (P), because any other kind of joint can be modeled as a combination of these two simple joints. The open-loop manipula­tors can be classified based on their first three joints starting from the grounded joint. From the two types of joints there are mathematically 72 different manipulator configurations, simply because each joint can be P or R, and the axes of two adjacent joints can be parallel (||), orthogonal (Ͱ), or perpendicular (). Two orthogonal joint axes intersect at a right angle (like the coordinate axes they are in an X-Y-Z type of configuration) however two perpendicular joint axes are in right-angle with respect to their common normal (but not necessarily with respect to each other). Two perpendicular joint axes become parallel if one axis turns 90 degrees about the common normal. Two perpendicular joint axes become orthogonal if the length of their common normal tends to zero (see slide 39-left, revolute 1 and 2 are orthogonal, revolute 2 and 3 are perpendicular.). Out of the 72 possible manipulators, the important ones are: R||R||P (SCARA), R Ͱ RR (articulated), R Ͱ RP (spherical), R||P Ͱ P (cylindri­cal), and P Ͱ P Ͱ P (Cartesian).

38 The R || R || P (SCARA) Manipulator
The SCARA arm (Selective Compliant Articulated Robot for Assem­bly) shown in the Figure below is a popular manipulator, which, as its name suggests, is made for assembly operations.

39 R Ⱶ R  R (articulated) configuration
The R Ⱶ R R configuration shown on the left Figure below, also illustrated on the right Figure, is called elbow, revolute, articulated, or anthropomorphic. It is a suitable configuration for industrial robots. Almost 25% of industrial robots, PUMA (Programmable Universal Machine for Assembly is a robot initially created by Unimation for General Motors) for instance, are made of this kind. Trunk Shoulder Forearm Upper arm Wrist

40 R Ⱶ R  P (spherical) configuration
The R Ⱶ RP spherical configuration (left figure) is a suitable configuration for small ro­bots. Almost 15% of industrial robots, Stanford arm for instance, are made of this configuration. By replacing the third joint of an articulate manipulator with a pris­matic joint, we obtain the spherical manipulator (right figure). The term spherical manipulator derives from the fact that the spherical coordinates de­fine the position of the end-effector with respect to its base frame.

41 The R || P Ⱶ P cylindrical Configuration
The cylindrical configuration is a suitable configuration fr medium load capacity robots. Almost 45% of industrial robots are made of this kind. The R||P Ⱶ P configuration is illustrated in the Figure. The first joint of a cylindrical manipulator is revolute and produces a rotation about the base, while the second and third joints are prismatic. As the name suggests, the joint variables are the cylindrical coordinates of the end- effector with respect to the base.

42 The P Ⱶ P Ⱶ P Cartesian Configuration
The Cartesian configuration is a suitable configuration for heavy load capacity and large robots. Almost 15% of industrial robots are made of this configuration. The P Ⱶ P Ⱶ P configuration is illustrated in the Fig­ure below. For a Cartesian manipulator, the joint variables are the Cartesian co­ordinates of the end-effector with respect to the base. As might be ex­pected, the kinematic description of this manipulator is the simplest of all manipulators. Cartesian manipulators are useful for table-top assembly applications and, as gantry robots, for transfer of cargo.

43 The Workspace of the Robot
The workspace of a manipulator is the total volume of space the end-effector can reach. The workspace is constrained by the geometry of the manipu­lator as well as the mechanical constraints on the joints. The workspace is broken into a reachable workspace and a dexterous workspace. The reach­able workspace is the volume of space within which every point is reachable by the end-effector in at least one orientation. The dexterous workspace is the volume of space within which every point can be reached by the end-effector in all possible orientations. The dexterous workspace is a subset of the reachable workspace. Most of the open-loop chain manipulators are designed with a wrist sub-assembly attached to the main three links assembly. Therefore, the first three links are long and are utilized for positioning while the wrist is utilized for control and orientation of the end-effector. This is why the subassembly made by the first three links is called the arm, and the subassembly made by the other links is called the wrist.

44 The Actuation of the Robot
Actuators translate power into motion. Robots are typically actuated elec­trically, hydraulically (operated by liquid), or pneumatically (operated by pressured gas). Other types of actuation might be considered as piezoelectric, magnetostriction, shape memory alloy, and polymeric. Electrically actuated robots are powered by AC or DC motors and are considered the most acceptable robots. They are cleaner, quieter, and more precise compared to the hydraulic and pneumatic actuated. Electric motors are efficient at high speeds so a high ratio gearbox is needed to reduce the high RPM. Non-backdriveability and self-braking is an advantage of high ratio gearboxes in case of power loss. However, when high speed or high load-carrying capabilities are needed, electric drivers are unable to compete with hydraulic drivers. Hydraulic actuators are satisfactory because of high speed and high torque/mass or power/mass ratios. Therefore, hydraulic driven robots are used primarily for lifting heavy loads. Negative aspects of hydraulics, be­sides their noisiness and tendency to leak, include a necessary pump and other hardware. Pneumatic actuated robots are inexpensive and simple but cannot be controlled precisely. Besides the lower precise motion, they have almost the same advantages and disadvantages as hydraulic actuated robots.

45 The Control of the Robot
Robots can be classified by control method into servo (closed loop control) and non-servo (open loop control) robots. Servo robots use closed-loop computer control to determine their motion and are thus capable of being truly multifunctional reprogrammable devices. Servo controlled robots are further classified according to the method that the controller uses to guide the end-effector. The simplest type of a servo robot is the point-to-point robot. A point-to-point robot can be taught a discrete set of points, called control points, but there is no control on the path of the end-effector in between the points. On the other hand, in continuous path robots, the entire path of the end-effector can be controlled. For example, the robot end-effector can be taught to follow a straight line between two points or even to follow a contour such as a welding seam. In addition, the velocity and/or ac­celeration of the end-effector can often be controlled. These are the most advanced robots and require the most sophisticated computer controllers and software development. Non-servo robots are essentially open-loop devices whose movement is limited to predetermined mechanical stops, and they are primarily used for materials transfer.

46 Kinematics & 0ther definitions
Kinematics is part of Mechanics in Physics of the rigid bodies (the other two parts are Dynamics and Statics). Kinematics is defined as the branch of mechanics concerned with the motion of objects without reference to the forces that cause the motion. Kinematics main elements are thus: position, velocity, and acceleration as a function of the independent variable time. Forward Kinematics: This is the static geometrical problem of computing the manipulator’s end-effector parameters of position and orientation as a function of a given set of joint variables (angles). That is, we change the manipulator position from a joint space description into a Cartesian description. Inverse Kinematics: This is the problem of calculating all possible sets of joint angles which could be used to attain a given position and orientation of the end-effector. This is a much harder problem than the forward kinematics problem. The existence or non-existence of a kinematic solution defines the workspace of a given manipulator.

47 Dynamics, Trajectory Generation, Position Control, Force Control & Robot Programming.
Dynamics is the branch of mechanics that studies the motion of bodies and the forces that cause that motion. In robotics the bodies are rigid bodies which under the influence of forces move, accelerate, decelerate. The manipulator (the robot) is powered by the joint actuators. The control of the manipulator is described by its dynamic equations. The trajectory generation is the path to be followed by the robot from its point of origin to its planned destination including its via points or intermediate locations. The trajectory of the robot must always be converted to an equivalent set of joint motions. The main concern of a position control system is to automatically compensate for errors in knowledge of the parameters of the system, and to suppress disturbances which try to perturb the system from the desired trajectory. This is done by the control algorithm which computes torque commands for the actuators. Force Control is complementary to position control. It is used by the robot when the is not moving in free space but rather in a constrained environment (with obstacles). Robot Programming is the interface between the user and the robot. This interface is becoming increasingly important as automation of robots grows in sophistication.

48 Basic Math Review (you already know this stuff ...)
Robotics has a language and, as always in scientific matters, the language is MATH ... We’ll try to introduce this math “softly” ... as painless as we can ... What’s a function (1 slide) Some Trigonometric Functions (3 slides) Matrices and Determinants (5 slides – the robot moves in the 3D or R3 space ... ) Scalars and Vectors (1 slide) Coordinate Systems in 2D & 3D (2 slides) Vectors including Dot & Cross products (5 slides) Torque definition (1 slide) Quaternions (3 slides – in a way ... aw ... THIS IS NEW!!!) Groups, SO(3), SE(3) definitions (1 slide)


Download ppt "What’s this …? This is … cs4540: “Topics in Robotics”"

Similar presentations


Ads by Google