Special Topics in Computer Science Computational Modeling for Snake-Based Robots Introduction Week 1, Lecture 1 William Regli Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University http://gicl.cs.drexel.edu 1 Team 1 • Lead Institution: Drexel University – PI William Regli, co-PI Michael Piasecki • University of Maryland @ College Park – SK Gupta • University of North Carolina @ Chapel Hill – Ming Lin and Dinesh Manocha • University of Wisconsin @ Madison – Nicola Ferrier, Vadim Shapiro, Krishnan Suresh 2 About the Team • W. Regli – CS, ECE and Mech E – 1997 NSF CAREER • M. Piasecki – Civil • SK Gupta – Mech E – PECASE, CAREER, and ONR YIP • M. Lin – CS – CAREER • D. Manocha – CS – PYI, ONR YIP, Sloan Fellow • N. Ferrier – Mech E – NSF CAREER • V. Shapiro – Mech E, Math & CS – NSF CAREER • K. Suresh – Mech E 3 Goals and Objectives • Build and play with robots • Course is fundamentally about modeling – Mathematically model robot kinematics and dynamics – Geometrically model robot design – Virtually simulate robot behavior and performance • Document experiences in GICL Wiki for – – – – Use by future generations of students Development of outreach materials (I.e. K-12) Development of demonstration materials Illustrate comprehensive, multidisciplinary, engineering modeling 4 Course Outcomes • The goal of this class is to build comprehensive engineering models of biologically-inspired robotic systems. Students completing this class will – be able to identify problems resulting from the interdisciplinary interactions in bio-inspired robots; – perform system engineering to design, test and build biobots; – be able to apply informatics principles to bio-bot design and testing; – gain experience using a variety of pedagogically appropriate hardware (i.e. Lego Mindstorms, Roombas, etc) and software tools (see above) for robot design/analysis. 5 Hardware Available • Lego MindStorms Robot Kits, V1 – Note: I will buy V2 or other modules as needed • IRobot Roomba • Sony Aibo – ERS 7M3 • HP iPAQs – 3800 and 5400 series 6 Lego Mindstorms Kits • 12+ 1st generation kits • Motors, sensors, handyboards, etc • Many examples on the web of bio-lego designs http://www.bea.hi-ho.ne.jp/meeco/index_e.html 7 iRobot Roomba • Basic vacuum cleaner robot, but – Has USB port – Hacker guides • http://www.roombareview.com/hack/ • Issues: – Not particularly bio-inspired 8 Sony Aibo • Sadly, discontinued • Happily, we have 2 • Fully programmable – Quadruped motion – Internal wifi, cameras, etc • Lots of tools on the internet for hacking Aibos 9 Also available: HP iPaqs • More interesting behaviors might require more computational power • Several late-model HP iPaqs can be made available to the class 10 Given the hardware, What do we mean by modeling? 11 What do we mean by modeling? • There are several kinds we care about in this class – System modeling • Software, hardware, power, sensors and their interactions – CAD/3D/Assembly Modeling • Geometry, topology, constraints, joints and features – Functional Modeling • Intended use (or function) for the device (note, device may have other unintended functions or uses) – Behavioral Modeling • System inputs/outputs, motion characteristic, etc that achieve the function – Physics-based modeling • Statics, kinematics, dynamics and laws of physics – Information Modeling • Data, relationships, semantics (meaning) 12 Basic Engineering for CS Students • Statics: The branch of physics concerned with the analysis of loads (force, moment, torque) on a physical systems in static equilibrium, that is, in a state where the relative positions of subsystems do not vary over time, or where components and structures are at rest under the action of external forces of equilibrium. • Kinematics: The branch of mechanics (physics) concerned with the motions of objects without being concerned with the forces that cause the motion. – Inverse Kinematics: The process of determining the parameters of a jointed flexible object in order to achieve a desired pose. • Dynamics: The branch of classical mechanics (physics) that is concerned with the effects of forces on the motion of objects. 13 Physics-Based Modeling • The creation of computational representations and models whose behaviors are governed by the laws of the physical world • In the context of bio-inspired robots: create an virtual environment for creation, testing and simulation of virtual robot design 14 An example of a multi-disciplinary engineering model 15 Designing a “Windshield Wiper” • From D. Macaulay, “How Things Work” • What are the models? – Functional – Behavioral 16 Models (1) • Functional model – The function of a windshield wiper is to remove dirt from the surface of a car’s windshield • Behavioral model – Input: motor rapidly rotating around the z axis – Output: oscillation in the yz plane with low frequency 17 Models (2) • CAD Models – 3D models with joints and constraints • Typically consist of – Part models – Assembly model(s) • Formats can be 3D solid or 3D wireframe 18 3 Lego models of a wiper assembly Models (3): Information Windshield Wiper Referring artifact Sub_of Sub Gear Function Rotation conversion Inflow Outflow High speed rotation Oscillation Function Motion conversion Outflow Rotation Function Motion conversion Inflow Sub Sub_of Sub_of Mechanical Function Wiping motion Sub Inflow Outflow Referring artifact Source Destination Referring artifact Low speed rotation Low speed circular motion Referring artifact Source Low speed oscillating motion Destination Shaft Source Worm and Gear pair Destination Source Arm with Peg Destination Slide Rocker Wiper Arm 19 Models (3): Information • Information modeling representations – XML, OWL, FOL, UML… • Information modeling tools – Protégé, Ontobuilder, Rational, etc • Information modeling tasks – Knowledge engineering, ontology building, creating a knowledge base, functional modeling, etc. 20 Physics-based Models • Kinematics (i.e. Animation) – Just move the parts based on joints & constraints • Dynamics – Incorporate forces, motor torques, power consumption, friction, etc • Other issues: – collision detection algorithms that check for intersection, calculate trajectories, impact times and impact points in a physical simulation 21 End Result of this Class • 10-to-12 comprehensive engineering models of bio-inspired robot designs – Individuals, teams (1-to-2 people) • All documentation in the Wiki – “README.TXT”-like instructions so as to make work reproducible – Your audience: Projects could be accessible to K-12 students or Frosh design 22 Grading • Three duties: – 15%, Weekly scribe: everyone will get a turn scribing notes and discussion from each week’s class into the Wiki. The more details the better (i.e. scribe is encouraged to ‘back-fill’ discussion with links and references and to-do items). – 35% Weekly progress: each person/group will set up a project space in the Wiki to document complete design and modeling project • Instructor will use the ‘discussion’ mechanism to post feedback and monitor progress; students welcome to comment on the work of other students; vandalism harshly punished – 50% Final project: due on or before finals week. Includes walking robot, mathematical and physical models, and Wiki pages. 23 Bio-Inspired Robot Locomotion: Topics • Explain motivation for bio-inspiration in mobile robot design – What ideas can nature offer engineers? – Can bio-inspired designs outperform traditional technology? • Identify important design parameters in nature – How can we quantify and evaluate nature? – How can we measure maneuverability and the ability to navigate various terrain? • Show successful implementation of bio-inspiration in mobile robot design – How is the source for bio-inspiration chosen? – How is the bio-inspiration implemented into the design? – What advantages does the bio-inspired robot offer over the traditional robot alternatives? 24 Some Concepts from Nature • Scorpion • Cockroach • Stick Insect • Crab • Spider • Lobster 25 Some Concepts from Nature • Dog • Snake • Gorilla • Gecko • Human • Dinosaur 26 Example: Snake Robot Applications • Search and Rescue – Urban environments – Natural environments • • • Planetary surface exploration Minimally invasive surgery / examination Pipe inspection / cable routing 27 Example: Snake Robot Applications Snakes are also being used as inspiration for stationary robots that are capable of complex manipulations. • Bridge inspection • Disarming bombs • Construction/repair in space http://voronoi.sbp.ri.cmu.edu/serpentine/serpentine.html 28 Design Problem • Design requirements • Application: Search and rescue • Motivation – Hazardous environments • Further collapse • Fire and toxic gases – Narrow spaces • Obstacles may be densely packed • People, devices, or conventional robots may not fit – Small body diameter – Small area required for locomotion – High maneuverability – Ability to navigate obstacles – Locomotion through various environments • • • • Dirt Rocks Water Obstacles 29 Conventional Robots • • • • Require large cross sectional areas for passage due to wheels or legs Cannot navigate through narrow spaces Have limited maneuverability Limited by terrain and obstacle height 30 Where do we start? • Projects should focus on robot locomotion and gait • Wheels are not allowed • Identify bio-mimetic behaviors – i.e. 4 legs, make a mathematical model of movement for each leg, how many joints does each leg need, etc • Build some bots – Legos are probably easiest to start with • Iterate between working in the physical world and enhancing the virtual world – Objective: create as complete and high-fidelity model as possible! • When in the virtual world, you’ll need to learn about and teach yourself a number of tools – CAD/CAE, 3D, etc. 31 Project Examples • 1-to-10 legged robot – Turtle, ant, spider, etc. • “Snake” that lifts its head – i.e. climb up a stair step • Jumping robot – How high can you jump? How far (Frog)? • Tumbling robot – i.e. Star Wars • Whatever your imagination can think up! 32 Software to Investigate • Anything is fair game! Part of this classes’ goals is to explore what works best in the classroom • Software is needed for – Design – Modeling – Simulation 33 Modeling Software • CAD Systems – Pro/ENGINEER – SDRC/UG I-DEAS – AutoCAD, MicroStation, SolidWorks • Lower level – Models: OpenCascade, ACIS, Parasolid – Rendering: OpenGL, DirectX 34 Simulation Software • OpenSource – Open Dynamics Engine • Open Source dynamics & collision detection • Game engines – Havoc • CAD – Pro/MECHANICA, Adams, … • Other – Matlab, maple 35 Initial Data • Lego Models – http://gicl.cs.drexel.edu/repository/datasets 36 Discussion Topics • Engineering Datatypes – 2D/3D, standards, proprietary • • • • How to represent an assembly Role of the Wiki Expectations of the scribe Help spend money! 37 Other Events This Term • Two talks sponsored by GRASP Lab – Fridays at 11am – THIS FRIDAY: Daniella Rus, MIT – Oct 13: Dinesh Manocha, UNC 38 END 39 Issues in Physics-Based Modeling of Bio-Robots • One needs to algorithmically and 40 Engineering Design 41