Towards a Domain Specific Language for a Scene Graph based Robotic World Model
|
|
- Lynn Rice
- 6 years ago
- Views:
Transcription
1 Towards a Domain Specific Language for a Scene Graph based Robotic World Model, Herman Bruyninckx Mechanical Engineering, KU Leuven, Belgium mech.kuleuven.be 1
2 Outline Introduction The Robot Scene Graph: RSG The RSG-DSL Conclusion 2
3 DSLs for robotic applications "knowledge" (models + configuration + functions) Task specification Platform capabilities Knowledge base World model offline online Application "processes" (runtime state) perception planning control learning r e a s o n i n g adaptation (Prior) Knowledge Robot, Task,... World Model Algorithms For various domains: planning, perception, control,... Framework for execution and communication 3
4 Existing World Models Control Kinematic chains Geometry Navigation Grids Perception 2D/3D images Features Poses Planning (Triangle) Meshes 4
5 Existing World Models Control Kinematic chains Geometry Navigation Grids Perception 2D/3D images Features Poses Planning (Triangle) Meshes Not well connected yet! 4
6 Shared world model for robot applications perception planning world model control coordination World Model: as shared (distributed) resource with dynamic scene, multi-resolution and uncertainty support 5
7 Shared world model for robot applications perception planning world model control coordination World Model: as shared (distributed) resource with dynamic scene, multi-resolution and uncertainty support Problem: Does not exist yet! Concept DSL 5
8 Contributions M3: Ecore framework M2: Xtext based DSL for a world model M1: Editor via Eclipse toolchain M0: Prior work: C++ implementation (BRICS 3D library), code generation from M2 level 6
9 The Robot Scene Graph: RSG 7
10 RSG: Robot Scene Graph perception scene graph planning control coordination 8
11 RSG: Robot Scene Graph RSG contains: Objects Low level like a point cloud High level scene objects Relations Both organized in a Directed Acyclic Graph (DAG) Example graph Scene with table Cup on table Robot observes cup GeometricNode: table mesh GeometricNode: handle mesh Transform Group: table Transform Group: cup Group: root Transform Group: robot Transform GeometricNode: cylinder 9
12 RSG: Nodes Nodes Unique IDs Attributes GeometricNodes Point Cloud Mesh Box Cylinder Groups Transforms Cache with time stamps 10
13 RSG: Function blocks scene graph function block IN OUT A function block is a generic computation hosted by the world model Consumes a part of the world model and might perform updates or add new data Inputs and outputs are based on (unique) IDs 11
14 RSG: Example ID [1] ID [2] Updates: 1 (name = roi_box_tf) ID [4] Updates: 1 (name = world_to_sensor_tf) ID [7] (name = sceneobjects) ID [946] (name = roi_box ) ID [6] (name = sensor) ID [911] Updates: 4 (name = cluster_tf) (tasktype = sceneobject) ID [952] ID [898] ID [947] (name = point_cloud) ID [948] (name = filtered_point_cloud)... Updates: 1 (name = cluster_tf) (name = cluster_bbox) (shapetype = Box) (tasktype = sceneobject) (tasktype = sceneobject) ID [953] (name = cluster_bbox)) (shapetype = Box) 12
15 The RSG-DSL 13
16 RSG-DSL Overview Primitives: Node types, function blocks Relationships: DAG structure Transformations: Model-to-text (C++) 14
17 DSL Primitives for RSG node types WorldModel Primitive AbstractNodeProperties Attribute primitives name : EString cardinality : EString attributes key : EString value : EString Geometry geometry Node AbstractNode properties child Child Box PointCloud type PointCloudType type : EString sharedptr : EString library : EString root Cylinder GeometricNode Group Transform TimeStamp value : EString HomogeneousTransformationMatrix children children transforms stamp value TransformCache history RigidTransform name : EString 15
18 DSL Primitives for RSG node types WorldModel Primitive AbstractNodeProperties Attribute primitives name : EString cardinality : EString attributes key : EString value : EString Geometry geometry Node AbstractNode properties child Child Box PointCloud type PointCloudType type : EString sharedptr : EString library : EString root Cylinder GeometricNode Group Transform TimeStamp value : EString HomogeneousTransformationMatrix children children transforms stamp value TransformCache history RigidTransform name : EString 15
19 DSL Primitives for RSG node types WorldModel Primitive AbstractNodeProperties Attribute primitives name : EString cardinality : EString attributes key : EString value : EString Geometry geometry Node AbstractNode properties child Child Box PointCloud type PointCloudType type : EString sharedptr : EString library : EString root Cylinder GeometricNode Group Transform TimeStamp value : EString HomogeneousTransformationMatrix children children transforms stamp value TransformCache history RigidTransform name : EString 15
20 DSL Primitives for RSG node types WorldModel Primitive AbstractNodeProperties Attribute primitives name : EString cardinality : EString attributes key : EString value : EString Geometry geometry Node AbstractNode properties child Child Box PointCloud type PointCloudType type : EString sharedptr : EString library : EString root Cylinder GeometricNode Group Transform TimeStamp value : EString HomogeneousTransformationMatrix children children transforms stamp value TransformCache history RigidTransform name : EString 15
21 DSL Primitives for RSG node types WorldModel Primitive AbstractNodeProperties Attribute primitives name : EString cardinality : EString attributes key : EString value : EString Geometry geometry Node AbstractNode properties child Child Box PointCloud type PointCloudType type : EString sharedptr : EString library : EString root Cylinder GeometricNode Group Transform TimeStamp value : EString HomogeneousTransformationMatrix children children transforms stamp value TransformCache history RigidTransform name : EString 15
22 Example scene setup 1 root rootnode // application scene 2 3 Group rootnode { 4 child group1 5 child worldtocamera 6 } 7 8 Group group1 { 9 Attribute ("name ", " scene_objects ") 10 child kitchentable 11 } Transform worldtocamera { 14 Attribute ("name ", " wm_to_sensor_tf ") 15 child sensor 16 transforms { 17 RigidTransform t1 { 18 stamp TimeStamp ( 0.0 s) 19 value HomogeneousTransformationMatrix ( 20 [1.0, 0.0, 0.0, 0.0 m ], 21 [0.0, 1.0, 0.0, 0.0 m ], 22 [0.0, 0.0, 1.0, 1.0 m ], 23 [0.0, 0.0, 0.0, 0.0 ]) 24 } 25 } 26 } 27 Group sensor { 28 Attribute (" name ", " sensor ") 29 } 16
23 Generated code (excerpt) 1 std :: vector <rsg :: Attribute > attributes ; // Instantiation of list of attributes. 2 unsigned int rootnodeid ; // IDs correspond to names in model on M1 level. 3 unsigned int group1id ; 4 unsigned int worldtocameraid ; 5 // [...] 6 7 /* Add group1 as a new node to the scene graph */ 8 attributes. clear (); 9 attributes. push_back ( Attribute ("name ", " scene_objects ")); 10 wm ->scene. addgroup ( rootnodeid, group1id, attributes ); // group1id = output 11 // [...] // -> returns a unique ID /* Add worldtocamera as a new node to the scene graph */ 14 attributes. clear (); 15 attributes. push_back ( Attribute ("name ", " wm_to_sensor_tf ")); 16 brics_3d :: IHomogeneousMatrix44 :: IHomogeneousMatrix44Ptr worldtocamerainitialtf ( 17 new brics_3d :: HomogeneousMatrix44 ( , 0.0, 0.0, , 1.0, 0.0, , 0.0, 1.0, * 1.0, 0.0 * 1.0, 1.0 * 1.0 // Values are scaled to SI unit [m ]. 22 )); wm ->scene. addtransformnode ( rootnodeid, worldtocameraid, attributes, 25 worldtocamerainitialtf, brics_3d :: rsg :: TimeStamp (0.0, Units :: Second ) 26 ); // Value is scaled to SI unit [s ]. 17
24 Resulting scene graph ID [1] ID [2] ID [3] (name = scene_objects) ID [14] T = (0, 0, 1) Updates: 1 (name = wm_to_sensor_tf) ID [15] (name = sensor) ID [71] (name = sensor_point_cloud) 18
25 DSL Primitives for RSG function blocks 19
26 Example function block 1 PointCloudType PointCloudPCL { 2 type "pcl :: PointCloud <PointType >" 3 sharedptr "pcl :: PointCloud <PointType >:: Ptr " 4 library " pcl " 5 } 6 7 PointCloud inputcloud type PointCloudPCL 8 PointCloud planecloud type PointCloudPCL 9 10 GeometricNode pointcloud { 11 Attribute ("name ", " point_cloud ") 12 geometry inputcloud 13 } Group planes { 16 Attribute (" name ", " planes ") 17 child tftoplanecentroid 18 } 1 GeometricNode horizontalplane { 2 Attribute (" name ", " plane ") 3 geometry planecloud 4 } 5 6 FunctionBlock horizontalplanesegmentation { 7 inputstructure pointcloud 8 inputhook sensorpointcloud 9 outputstructure planes 10 outputhook sensor 11 } 20
27 Generated code (excerpt) 1 /* Interface stub for HorizontalPlaneSegmentation function block */ 2 class HorizontalPlaneSegmentation : public rsg :: IFunctionBlock { 3 public : 4 5 /* used input IDs */ 6 unsigned int pointcloudid ; 7 8 /* used output IDs */ 9 unsigned int planesid ; 10 unsigned int cloudcentertoplanecenterid ; 11 unsigned int horizontalplaneid ; HorizontalPlaneSegmentation ( brics_3d :: WorldModel * wmhandle ) : IFunctionBlock ( wmhandle ) {}; 14 virtual ~HorizontalPlaneSegmentation () {}; virtual void configure ( brics_3d :: ParameterSet parameters ){} 17 virtual void execute () {} protected : /* data conventions */ 22 const static unsigned int horizontalplanesegmentationinputhookid = 0; 23 const static unsigned int horizontalplanesegmentationoutputhookid = 1; 21
28 Generated code (excerpt) 1 pcl :: PointCloud <PointType >:: Ptr getinputcloudpointcloud () { 2 pcl :: PointCloud <PointType >:: Ptr inputclouddata (new pcl :: PointCloud < PointType >() ); 3 4 /* Query the world model based on the input id pointcloudid */ 5 brics_3d :: rsg :: TimeStamp resulttimestamp ; 6 brics_3d :: rsg :: Shape :: ShapePtr shape ; 7 wm ->scene. getgeometry ( pointcloudid, shape, resulttimestamp ); 8 9 /* Resolve ( raw ) data type known by model */ 10 brics_3d :: rsg :: PointCloud <pcl :: PointCloud <PointType > >:: PointCloudPtr inputcloudcontainer (new brics_3d :: rsg :: PointCloud <pcl :: PointCloud < PointType > >()); 11 inputcloudcontainer = boost :: dynamic_pointer_cast <brics_3d :: rsg :: PointCloud < pcl :: PointCloud <PointType > > >( shape ); 12 inputclouddata = inputcloudcontainer -> data ; return inputclouddata ; 15 } }; 22
29 Conclusion Robot applications require models for different aspects the world model is one of them Different existing world models for various domains RSG is shared world model RSG-DSL Primitives: Nodes, function blocks Relations: DAG structure Transforms: Model-to-text (C++) Expresses Prior knowledge: scene setups, known objects Interfaces for function blocks Future works Uncertainty, multi resolution support, triggers Composition with other DSLs 23
Scene Graphs. COMP 575/770 Fall 2010
Scene Graphs COMP 575/770 Fall 2010 1 Data structures with transforms Representing a drawing ( scene ) List of objects Transform for each object can use minimal primitives: ellipse is transformed circle
More informationOntologies & Meta meta models at KU Leuven
Ontologies & Meta meta models at KU Leuven Herman Bruyninckx University of Leuven Eindhoven University of Technology European Robotics Forum, Ljubljana March 23, 2016 1 Meta models for geometry in robotics
More informationTransformation Hierarchies. CS 4620 Lecture 5
Transformation Hierarchies CS 4620 Lecture 5 2013 Steve Marschner 1 Data structures with transforms Representing a drawing ( scene ) List of objects Transform for each object can use minimal primitives:
More informationGame Programming. Bing-Yu Chen National Taiwan University
Game Programming Bing-Yu Chen National Taiwan University Character Motion Hierarchical Modeling Character Animation Motion Editing 1 Hierarchical Modeling Connected primitives 2 3D Example: A robot arm
More informationPlane Detection and Segmentation For DARPA Robotics Challange. Jacob H. Palnick
Plane Detection and Segmentation For DARPA Robotics Challange A Major Qualifying Project Report submitted to the Faculty of WORCESTER POLYTECHNIC INSTITUTE in partial fulfillment of the requirements for
More informationDominique Blouin Etienne Borde
Dominique Blouin Etienne Borde dominique.blouin@telecom-paristech.fr etienne.borde@telecom-paristech.fr Institut Mines-Télécom Content Domain specific Languages in a Nutshell Overview of Eclipse Modeling
More informationMODELING AND HIERARCHY
MODELING AND HIERARCHY Introduction Models are abstractions of the world both of the real world in which we live and of virtual worlds that we create with computers. We are all familiar with mathematical
More informationExploiting Depth Camera for 3D Spatial Relationship Interpretation
Exploiting Depth Camera for 3D Spatial Relationship Interpretation Jun Ye Kien A. Hua Data Systems Group, University of Central Florida Mar 1, 2013 Jun Ye and Kien A. Hua (UCF) 3D directional spatial relationships
More informationCollision Detection. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering
RBE 550 MOTION PLANNING BASED ON DR. DMITRY BERENSON S RBE 550 Collision Detection Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering http://users.wpi.edu/~zli11 Euler Angle RBE
More informationDominique Blouin Etienne Borde
Dominique Blouin Etienne Borde SE206: Code Generation Techniques dominique.blouin@telecom-paristech.fr etienne.borde@telecom-paristech.fr Institut Mines-Télécom Content Introduction Domain specific Languages
More informationArchGenTool: A System-Independent Collaborative Tool for Robotic Architecture Design
ArchGenTool: A System-Independent Collaborative Tool for Robotic Architecture Design Emanuele Ruffaldi (SSSA) I. Kostavelis, D. Giakoumis, D. Tzovaras (CERTH) Overview Problem Statement Existing Solutions
More informationCS283: Robotics Fall 2016: Software
CS283: Robotics Fall 2016: Software Sören Schwertfeger / 师泽仁 ShanghaiTech University Mobile Robotics ShanghaiTech University - SIST - 18.09.2016 2 Review Definition Robot: A machine capable of performing
More information2D/3D Geometric Transformations and Scene Graphs
2D/3D Geometric Transformations and Scene Graphs Week 4 Acknowledgement: The course slides are adapted from the slides prepared by Steve Marschner of Cornell University 1 A little quick math background
More informationOctrees: Point Cloud Compression and Change Detection using Octrees
Octrees: Point Cloud Compression and Change Detection using Octrees November 6, 2011 Outline 1. Overview 2. Octree Interface 3. Octree Framework 4. Neighbor Search 5. Application Scenarios 6. Summary -
More informationIntroduction to Mobile Robotics Techniques for 3D Mapping
Introduction to Mobile Robotics Techniques for 3D Mapping Wolfram Burgard, Michael Ruhnke, Bastian Steder 1 Why 3D Representations Robots live in the 3D world. 2D maps have been applied successfully for
More informationINTRODUCTION TO EMF. Creating Model using EMF. Our Domain model used to showcase this use case is as shown below in fig.1
INTRODUCTION TO EMF Creating Model using EMF This is the basic method of creating the Model instance using EMF (Eclipse Modelling Framework). In this tutorial we are going to explain the following, 1.
More informationVirtual Environments: System Architectures
Virtual Environments: System Architectures Anthony Steed Simon Julier Department of Computer Science University College London http://www.cs.ucl.ac.uk/teaching/ve Outline Problem Statement Representing
More informationCMU Amazon Picking Challenge
CMU Amazon Picking Challenge Team Harp (Human Assistive Robot Picker) Graduate Developers Abhishek Bhatia Alex Brinkman Lekha Walajapet Feroza Naina Rick Shanor Search Based Planning Lab Maxim Likhachev
More informationCS 352: Computer Graphics. Hierarchical Graphics, Modeling, And Animation
CS 352: Computer Graphics Hierarchical Graphics, Modeling, And Animation Chapter 9-2 Overview Modeling Animation Data structures for interactive graphics CSG-tree BSP-tree Quadtrees and Octrees Visibility
More informationAn abstract tree stores data that is hierarchically ordered. Operations that may be performed on an abstract tree include:
4.2 Abstract Trees Having introduced the tree data structure, we will step back and consider an Abstract Tree that stores a hierarchical ordering. 4.2.1 Description An abstract tree stores data that is
More informationC-style casts Static and Dynamic Casts reinterpret cast const cast PVM. Casts
PVM Casts Casting Casting: explicit type conversion Upcasting: casting to a supertype E.g. cast from Dog to Animal Downcasting: casting to a subtype E.g. cast from Animal to Dog Upcasts are always safe
More informationActive Recognition and Manipulation of Simple Parts Exploiting 3D Information
experiment ActReMa Active Recognition and Manipulation of Simple Parts Exploiting 3D Information Experiment Partners: Rheinische Friedrich-Wilhelms-Universität Bonn Metronom Automation GmbH Experiment
More informationIntroduction Feature Estimation Keypoint Detection Combining Keypoints and Features. PCL :: Features. Michael Dixon and Radu B.
PCL :: Features Michael Dixon and Radu B. Rusu July 1, 2011 Outline 1. Introduction 2. Feature Estimation 3. Keypoint Detection 4. Combining Keypoints and Features Introduction In this session, we ll talk
More informationJava2D/Java3D Graphics
Java2D/Java3D Graphics Sandro Spina Computer Graphics and Simulation Group Computer Science Department University of Malta 1 Abstraction in Software Engineering We shall be looking at how abstraction is
More informationIntroduction to PCL: The Point Cloud Library
Introduction to PCL: The Point Cloud Library Basic topics Alberto Pretto Thanks to Radu Bogdan Rusu, Bastian Steder and Jeff Delmerico for some of the slides! Point clouds: a definition A point cloud is
More informationEECE 478. Learning Objectives. Learning Objectives. Rasterization & Scenes. Rasterization. Compositing
EECE 478 Rasterization & Scenes Rasterization Learning Objectives Be able to describe the complete graphics pipeline. Describe the process of rasterization for triangles and lines. Compositing Manipulate
More informationIntroduction to PCL: The Point Cloud Library
Introduction to PCL: The Point Cloud Library 1 - basic topics Alberto Pretto Thanks to Radu Bogdan Rusu, Bastian Steder and Jeff Delmerico for some of the slides! Contact Alberto Pretto, PhD Assistant
More informationCGS 3220 Lecture 17 Subdivision Surfaces
CGS 3220 Lecture 17 Subdivision Surfaces Introduction to Computer Aided Modeling Instructor: Brent Rossen Overview Converting from polygons to subdivision surfaces (sub-d) Modeling with sub-d using polygon
More informationPeople Pose Detection Koen Buys (KU Leuven)
People Pose Detection Koen Buys (KU Leuven) May 10, 2013 What is this all about What Human pose detection and tracking Human recognition Applications in: Human robot interaction Medical field Entertainment
More informationSpring 2016 :: :: Robot Autonomy :: Team 7 Motion Planning for Autonomous All-Terrain Vehicle
Spring 2016 :: 16662 :: Robot Autonomy :: Team 7 Motion Planning for Autonomous All-Terrain Vehicle Guan-Horng Liu, Samuel Wang, Shu-Kai Lin, Chris Wang, Tiffany May Advisor : Mr. George Kantor OUTLINE
More informationComputer Graphics Ray Casting. Matthias Teschner
Computer Graphics Ray Casting Matthias Teschner Outline Context Implicit surfaces Parametric surfaces Combined objects Triangles Axis-aligned boxes Iso-surfaces in grids Summary University of Freiburg
More informationModern C++ for Computer Vision and Image Processing. Igor Bogoslavskyi
Modern C++ for Computer Vision and Image Processing Igor Bogoslavskyi Outline Using pointers Pointers are polymorphic Pointer this Using const with pointers Stack and Heap Memory leaks and dangling pointers
More informationTopics. Ray Tracing II. Intersecting transformed objects. Transforming objects
Topics Ray Tracing II CS 4620 Lecture 16 Transformations in ray tracing Transforming objects Transformation hierarchies Ray tracing acceleration structures Bounding volumes Bounding volume hierarchies
More informationCOS Lecture 13 Autonomous Robot Navigation
COS 495 - Lecture 13 Autonomous Robot Navigation Instructor: Chris Clark Semester: Fall 2011 1 Figures courtesy of Siegwart & Nourbakhsh Control Structure Prior Knowledge Operator Commands Localization
More informationTutorial: Using the UUCS Crowd Simulation Plug-in for Unity
Tutorial: Using the UUCS Crowd Simulation Plug-in for Unity Introduction Version 1.1 - November 15, 2017 Authors: Dionysi Alexandridis, Simon Dirks, Wouter van Toll In this assignment, you will use the
More informationSpatial Data Structures
Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster
More informationDynamics in Maya. Gary Monheit Alias Wavefront PHYSICALLY BASED MODELING SH1 SIGGRAPH 97 COURSE NOTES
Dynamics in Maya Gary Monheit Alias Wavefront SH1 Dynamics in Maya Overall Requirements Architecture and Features Animations SH2 Overall Requirements Why Dynamics? Problems with traditional animation techniques
More informationImplementation of 3D Object Recognition Based on Correspondence Grouping Final Report
Implementation of 3D Object Recognition Based on Correspondence Grouping Final Report Jamison Miles, Kevin Sheng, Jeffrey Huang May 15, 2017 Instructor: Jivko Sinapov I. Abstract Currently, the Segbots
More informationAdaptive Point Cloud Rendering
1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13
More informationEDAN30 Photorealistic Computer Graphics. Seminar 2, Bounding Volume Hierarchy. Magnus Andersson, PhD student
EDAN30 Photorealistic Computer Graphics Seminar 2, 2012 Bounding Volume Hierarchy Magnus Andersson, PhD student (magnusa@cs.lth.se) This seminar We want to go from hundreds of triangles to thousands (or
More informationTopics. Ray Tracing II. Transforming objects. Intersecting transformed objects
Topics Ray Tracing II CS 4620 ations in ray tracing ing objects ation hierarchies Ray tracing acceleration structures Bounding volumes Bounding volume hierarchies Uniform spatial subdivision Adaptive spatial
More informationModeling. Anuj Agrawal Dan Bibyk Joe Pompeani Hans Winterhalter
Modeling Anuj Agrawal Dan Bibyk Joe Pompeani Hans Winterhalter Modeling Joe o Polygon Models o NURBS o Subdivision Surfaces o Locators Hans o Splitting polygons, joining objects, extruding faces o Extrude,
More informationLAUROPE Six Legged Walking Robot for Planetary Exploration participating in the SpaceBot Cup
FZI RESEARCH CENTER FOR INFORMATION TECHNOLOGY LAUROPE Six Legged Walking Robot for Planetary Exploration participating in the SpaceBot Cup ASTRA 2015, ESA/ESTEC, Noordwijk 12. Mai 2015 Outline SpaceBot
More informationData Representation in Visualisation
Data Representation in Visualisation Visualisation Lecture 4 Taku Komura Institute for Perception, Action & Behaviour School of Informatics Taku Komura Data Representation 1 Data Representation We have
More informationRay Tracing Acceleration. CS 4620 Lecture 20
Ray Tracing Acceleration CS 4620 Lecture 20 2013 Steve Marschner 1 Will this be on the exam? or, Prelim 2 syllabus You can expect emphasis on topics related to the assignment (Shaders 1&2) and homework
More informationB-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes
B-KD rees for Hardware Accelerated Ray racing of Dynamic Scenes Sven Woop Gerd Marmitt Philipp Slusallek Saarland University, Germany Outline Previous Work B-KD ree as new Spatial Index Structure DynR
More information6.837 Computer Graphics Hierarchical Modeling Wojciech Matusik, MIT EECS Some slides from BarbCutler & Jaakko Lehtinen
6.837 Computer Graphics Hierarchical Modeling Wojciech Matusik, MIT EECS Some slides from BarbCutler & Jaakko Lehtinen Image courtesy of BrokenSphere on Wikimedia Commons. License: CC-BY-SA. This content
More informationCS4495/6495 Introduction to Computer Vision
CS4495/6495 Introduction to Computer Vision 9C-L1 3D perception Some slides by Kelsey Hawkins Motivation Why do animals, people & robots need vision? To detect and recognize objects/landmarks Is that a
More information3D Modeling Course Outline
3D Modeling Course Outline Points Possible Course Hours Course Overview 4 Lab 1: Start the Course Identify computer requirements. Learn how to move through the course. Switch between windows. Lab 2: Set
More informationproject in an industrial context
Anatomy of a domain-specific language project in an industrial context Development and examination of a DSL demonstrator for elevator controllers Software Engineering, Architecture and Platform Technologies
More informationAbstract Classes Interfaces CSCI 201 Principles of Software Development
Abstract Classes Interfaces CSCI 201 Principles of Software Development Jeffrey Miller, Ph.D. jeffrey.miller@usc.edu Abstract Classes Outline USC CSCI 201L Abstract Classes An abstract class is a way for
More informationAbstract Classes Interfaces CSCI 201 Principles of Software Development
Abstract Classes Interfaces CSCI 201 Principles of Software Development Jeffrey Miller, Ph.D. jeffrey.miller@usc.edu Abstract Classes Outline USC CSCI 201L Abstract Classes An abstract class is a way for
More informationJohn Hsu Nate Koenig ROSCon 2012
John Hsu Nate Koenig ROSCon 2012 Outline What is Gazebo, and why should you use it Overview and architecture Environment modeling Robot modeling Interfaces Getting Help Simulation for Robots Towards accurate
More informationStudents will understand 1. That patterns of numbers help when counting. 2. That there are different ways to count (by ones, tens).
Kindergarten Counting and Cardinality Essential Questions: 1. Why do we use numbers, what are their properties, and how does our number system function? 2. Why do we use estimation and when is it appropriate?
More informationGoogle SketchUp/Unity Tutorial Basics
Software used: Google SketchUp Unity Visual Studio Google SketchUp/Unity Tutorial Basics 1) In Google SketchUp, select and delete the man to create a blank scene. 2) Select the Lines tool and draw a square
More informationS7316: Real-Time Robotics Control and Simulation for Deformable Terrain Applications Using the GPU
S7316: Real-Time Robotics Control and Simulation for Deformable Terrain Applications Using the GPU Daniel Melanz Copyright 2017 Energid Technology Overview 1. Who are we? 2. What do we do? 3. How do we
More informationWith FARO PointSense for Revit. Jörg Braunes Platform Owner Software Chris Palmer Sales Engineer 1
From Point Clouds to BIM Models With FARO PointSense for Revit Jörg Braunes Platform Owner Software Chris Palmer Sales Engineer 1 Agenda Scan to BIM with Revit PointClouds in Revit Advanced Workflow with
More informationRoswell Independent School District Grade Level Targets Summer 2010
1 NM Standards Children s Progress Core Standards Target: Possesses a working knowledge of the base ten number system, including ones and tens. Q1 Counts, sketches and represents some numbers. Q2 Counts,
More informationBounding Volume Hierarchies. CS 6965 Fall 2011
Bounding Volume Hierarchies 2 Heightfield 3 C++ Operator? #include int main() { int x = 10; while( x --> 0 ) // x goes to 0 { printf("%d ", x); } } stackoverflow.com/questions/1642028/what-is-the-name-of-this-operator
More information3D Reconstruction with Tango. Ivan Dryanovski, Google Inc.
3D Reconstruction with Tango Ivan Dryanovski, Google Inc. Contents Problem statement and motivation The Tango SDK 3D reconstruction - data structures & algorithms Applications Developer tools Problem formulation
More informationRecursive Grammars for Scene Parsing a.k.a. RANSACing Offices
Recursive Grammars for Scene Parsing a.k.a. RANSACing Offices Caspar Anderegg (cja58), CS 12 Bill Best (wpb47), MEng 12 with Abhishek Anand May 15, 2012 Abstract Our goal was to use recursive grammars
More informationCS354 Computer Graphics Character Animation and Skinning
Slide Credit: Don Fussell CS354 Computer Graphics Character Animation and Skinning Qixing Huang April 9th 2018 Instance Transformation Start with a prototype object (a symbol) Each appearance of the object
More informationTree traversals and binary trees
Tree traversals and binary trees Comp Sci 1575 Data Structures Valgrind Execute valgrind followed by any flags you might want, and then your typical way to launch at the command line in Linux. Assuming
More informationFault Avoidance in Development of Robot Motion-Control Software by Modeling the Computation
Fault Avoidance in Development of Robot Motion-Control Software by Modeling the Computation Yury Brodskiy, Robert Wilterdink, Stefano Stramigioli, Jan Broenink SIMPAR2014 Content Introduction Why Modeling
More informationKindergarten Progress Report Rubric - Mathematics. Counting and Cardinality
Kindergarten Progress Report Rubric - Mathematics Counting and Cardinality Know number names and the count sequence (K.CC.- K.CC.3) Not yet able to: *Count to 0 by ones; *Count and write numerals 0 0.
More informationYou can also export a video of what one of the cameras in the scene was seeing while you were recording your animations.[2]
Scene Track for Unity User Manual Scene Track Plugin (Beta) The scene track plugin allows you to record live, textured, skinned mesh animation data, transform, rotation and scale animation, event data
More informationSpatial Data Structures
15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie
More informationThe Kinematic Chain or Tree can be represented by a graph of links connected though joints between each Link and other links.
Lab 3 URDF and Hydra Robot Models In this Lab we will learn how Unified Robot Description Format (URDF) describes robots and use it to design our own Robot. We will use the Ubuntu Linux editor gedit to
More informationData Visualization. What is the goal? A generalized environment for manipulation and visualization of multidimensional data
Data Visualization NIH-NSF NSF BBSI: Simulation and Computer Visualization of Biological Systems at Multiple Scales Joel R. Stiles, MD, PhD What is real? Examples of some mind-bending optical illusions
More informationABOUT ME. Gianluca Bardaro, PhD student in Robotics Contacts: Research field: goo.gl/dbwhhc.
ABOUT ME Gianluca Bardaro, PhD student in Robotics Contacts: gianluca.bardaro@polimi.it 02 2399 3565 Research field: Formal approach to robot development Robot and robot architecture models Robot simulation
More informationABOUT ME. Gianluca Bardaro, PhD student in Robotics Contacts: Research field:
ABOUT ME Gianluca Bardaro, PhD student in Robotics Contacts: gianluca.bardaro@polimi.it 02 2399 3565 Research field: Formal approach to robot development Robot and robot architecture models Robot simulation
More informationCS 465 Program 4: Modeller
CS 465 Program 4: Modeller out: 30 October 2004 due: 16 November 2004 1 Introduction In this assignment you will work on a simple 3D modelling system that uses simple primitives and curved surfaces organized
More informationHierarchical Modeling
Hierarchical Modeling Geometric Primitives Remember that most graphics APIs have only a few geometric primitives Spheres, cubes, triangles, etc These primitives are instanced in order to apply transforms
More informationData Visualization. What is the goal? A generalized environment for manipulation and visualization of multidimensional data
Data Visualization NIH-NSF NSF BBSI: Simulation and Computer Visualization of Biological Systems at Multiple Scales June 2-4, 2 2004 Joel R. Stiles, MD, PhD What is the goal? A generalized environment
More informationKindergarten Math: I Can Statements
Kindergarten Math: I Can Statements Processes, Content Statements & Expectations (Disciplinary Knowledge) I Can Student Statements I Can Teacher Statements Counting and Cardinality Known number names and
More informationSpatial Data Structures
15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie
More informationROS-Industrial Basic Developer s Training Class. Southwest Research Institute
ROS-Industrial Basic Developer s Training Class Southwest Research Institute 1 Session 3: Motion Control of Manipulators Southwest Research Institute 2 URDF: Unified Robot Description Format 3 URDF: Overview
More informationModif Documentation. Refactoring User Guide
Modif Documentation - Refactoring User Guide This document explains the steps for using ModifRoundtrip for a Metamodel Refactoring June, 2015 by Paola Vallejo, Jean Philippe Babau Modif Documentation-
More informationSemantizing Complex 3D Scenes using Constrained Attribute Grammars
Semantizing Complex 3D Scenes using Constrained Attribute Grammars A. Boulch, S. Houllier, R. Marlet and O. Tournaire slight variant of the material presented at SGP 2013 Motivation Semantizing complex
More informationOPENRAVE TUTORIAL. Robot Autonomy Spring 2014
OPENRAVE TUTORIAL Robot Autonomy Spring 2014 OPENRAVE Stands for: Open Robotics Automation Virtual Environment All-in-one Robotics Package Contains: Kinematics (forward, inverse, velocity, etc.) Collision
More informationOSG: MEMORY MANAGEMENT. Class 2
OSG: MEMORY MANAGEMENT AND GEOMETRY CLASSES Class 2 MEMORY MANAGEMENT Memory Management Memory Management Memory Management osg::referenced osg::ref_ptr The Referenced Class Main components Protected
More informationLarge-Scale. Point Cloud Processing Tutorial. Basic Data Structures
Large-Scale 3D Point Cloud Processing Tutorial 2013 Basic Data Structures The image depicts how our robot Irma3D sees itself in a mirror. The laser looking into itself creates distortions as well as Prof.
More informationW4. Perception & Situation Awareness & Decision making
W4. Perception & Situation Awareness & Decision making Robot Perception for Dynamic environments: Outline & DP-Grids concept Dynamic Probabilistic Grids Bayesian Occupancy Filter concept Dynamic Probabilistic
More informationFigure 1. A breadth-first traversal.
4.3 Tree Traversals Stepping, or iterating, through the entries of a linearly ordered list has only two obvious orders: from front to back or from back to front. There is no obvious traversal of a general
More informationAre you looking for ultrafast and extremely precise stereovision technology for industrial applications? Learn about
Edition November 2017 Image sensors and vision systems, Smart Industries, imec.engineering Are you looking for ultrafast and extremely precise stereovision technology for industrial applications? Learn
More informationKinematics of the Stewart Platform (Reality Check 1: page 67)
MATH 5: Computer Project # - Due on September 7, Kinematics of the Stewart Platform (Reality Check : page 7) A Stewart platform consists of six variable length struts, or prismatic joints, supporting a
More informationObject-oriented programming. and data-structures CS/ENGRD 2110 SUMMER 2018
Object-oriented programming 1 and data-structures CS/ENGRD 2110 SUMMER 2018 Lecture 4: OO Principles - Polymorphism http://courses.cs.cornell.edu/cs2110/2018su Lecture 3 Recap 2 Good design principles.
More informationAutomatic Contact Surface Detection
Automatic Contact Surface Detection Will Pryor Worcester Polytechnic Institute Email: jwpryor@wpi.edu Abstract Motion planners for humanoid robots search the space of all possible contacts the robot can
More informationGrade 8 Mathematics Item Specifications Florida Standards Assessments
MAFS.8.G.1 Understand congruence and similarity using physical models, transparencies, or geometry software. MAFS.8.G.1.2 Understand that a two-dimensional figure is congruent to another if the second
More informationIntern Presentation:
: Gripper Stereo and Assisted Teleoperation Stanford University December 13, 2010 Outline 1. Introduction 2. Hardware 3. Research 4. Packages 5. Conclusion Introduction Hardware Research Packages Conclusion
More informationModeling Objects. Modeling. Symbol-Instance Table. Instance Transformation. Each appearance of the object in the model is an instance
Modeling Objects Modeling Hierarchical Transformations Hierarchical Models Scene Graphs A prototype has a default size, position, and orientation You need to perform modeling transformations to position
More informationRobotics Programming Laboratory
Chair of Software Engineering Robotics Programming Laboratory Bertrand Meyer Jiwon Shin Lecture 8: Robot Perception Perception http://pascallin.ecs.soton.ac.uk/challenges/voc/databases.html#caltech car
More informationInvestigations in Number, Data, and Space for the Common Core 2012
A Correlation of Investigations in Number, Data, and Space for the Common Core 2012 to the Common Core State s with California Additions s Map Kindergarten Mathematics Common Core State s with California
More informationIntroducing Autodesk Maya Chapter 2: Jumping in Headfirst, with Both Feet!
Introducing Autodesk Maya 2015 Chapter 2: Jumping in Headfirst, with Both Feet! Maya topics covered in this chapter include the following: Introducing the UI Maya project structure Creating and animating
More informationL1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming
L1 - Introduction Contents Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming 1 Definitions Computer-Aided Design (CAD) The technology concerned with the
More informationLUCON. Data Flow Control for Message-Based IoT Systems. Julian Schütte, Gerd Brost. Fraunhofer AISEC, Germany
LUCON Data Flow Control for Message-Based IoT Systems Julian Schütte, Gerd Brost Fraunhofer AISEC, Germany TrustCom 2018, New York, 1st of August, 2018 Outline 1 Message-based IoT Architectures 2 Approach
More informationEE-565-Lab2. Dr. Ahmad Kamal Nasir
EE-565-Lab2 Introduction to Simulation Environment Dr. Ahmad Kamal Nasir 29.01.2016 Dr. -Ing. Ahmad Kamal Nasir 1 Today s Objectives Introduction to Gazebo Building a robot model in Gazebo Populating robot
More informationDETECTION AND ROBUST ESTIMATION OF CYLINDER FEATURES IN POINT CLOUDS INTRODUCTION
DETECTION AND ROBUST ESTIMATION OF CYLINDER FEATURES IN POINT CLOUDS Yun-Ting Su James Bethel Geomatics Engineering School of Civil Engineering Purdue University 550 Stadium Mall Drive, West Lafayette,
More informationCS 395T Numerical Optimization for Graphics and AI (3D Vision) Qixing Huang August 29 th 2018
CS 395T Numerical Optimization for Graphics and AI (3D Vision) Qixing Huang August 29 th 2018 3D Vision Understanding geometric relations between images and the 3D world between images Obtaining 3D information
More informationCPSC / Sonny Chan - University of Calgary. Collision Detection II
CPSC 599.86 / 601.86 Sonny Chan - University of Calgary Collision Detection II Outline Broad phase collision detection: - Problem definition and motivation - Bounding volume hierarchies - Spatial partitioning
More information