Construction of Mobile Robots Software
|
|
- Elmer Payne
- 6 years ago
- Views:
Transcription
1 Construction of Mobile Robots Software Institute for Software Technology 1
2 Referee Box I central game controller automatically controls the game time keeping game phases robot status orders machine status stand alone server interactive GUI (shell) communicates information periodically 2
3 Referee Box II different communication channels TCP/non-encrypted connection to GUI UDP/non-encrypted public general information to teams UDP/encrypted private information to/from teams modbus connection to the machines communication to GUI and teams is based on protocol buffer (protobuf) 3
4 Referee Box III source distribution contains a ready to use communication library (protobuf_comm) examples for peers and robot connections important messages Attention human interaction required Beacon alive signal for robot and referee box ExplorationInfo mapping lights machine type GameState information about the game MachineInfo available machines MachineCommands setup commands for machines OrderInfo orders to be processed various sub messages, e.g. time, pose 4
5 protobuf communication is based on protocol buffer (protobuf) library to serialize messages by google message description language compiler to generate serialization classes language and platform independent (C++, Java, python, ) network client-server communication based on protobuf messages simple standalone library by RWTH Aachen sending of messages receiving messages with registered callbacks 5
6 protobuf message 6
7 GRIPS Architecture - Overview RefBox Shell (GUI) protobuf TCP RefBox modbus MPS MPS protobuf UDP protobuf TCP Team Server OpenPRS OpenPRS protobuf TCP ROS Gateway ROS topics ROS Action Servers per robot 7
8 Team Server central control of the robot team handles all information from/to referee box game state machine info/setup orders maintains a knowledge base (game state, orders, machine state, ) a task network by using a planner triggers execution of tasks on robots integration of execution results relays messages of robots (heartbeat, machine setup) 8
9 abstract base class Planners need to implement 3 functions (waitforplannerinfos, createmissingtasks, generatetasklist) existing exploration planner partitions of zones assigned to robots explore one zone after each other individually existing production planner generate a task network for each order estimate the necessary start time (to keep the deadline) schedule a task network for execution once start time passes only one task network active at a time 9
10 Task Networks represents individual tasks and dependencies as a tree one network per order execution based on precondition relation between tasks tasks are mapped on OPRS procedures retrieve cap dispose base mount cap retrieve product deliver product retrieve base C1 product 10
11 LP/CSP scheduling and planning problems can be expressed as Linear Programming or Constraint Satisfaction Problems a number of description languages and solver exists commercial or academic MiniZinc powerful modelling language a lot semantic sugar mapping to existing solvers nice for prototyping (GUI, editor) Gecode efficient basis for constraint-based systems C++ library for integration in applications 11
12 Optimal Assignment Problem find m n non-negative integers x ij to maximize U x ij m i 1 j 1 m i 1 n j 1 n x x ij ij {0,1} x ij U 1 1 ij j j n i n i th agent will do one job j th job will be done by only one agent n m j are the weights for the prioritization of tasks 12
13 MiniZinc int: jobs = 4; int: machines= 4; array [1..jobs,1.. machines] of var 0..1: x; array [1..jobs,1.. machines] of int: costs = [ 90,75,75,80, 35,85,55,65, 125,95,90,105 45,110,95,115 ]; constraint forall(i in 1..jobs) (sum(j in 1.. machines) (x[i,j]) ==1); constraint forall(j in 1.. machines) (sum(i in 1..jobs) (x[i,j]) ==1); solve minimize sum(i in 1..jobs, j in 1.. machines) (x[i,j]*costs[i,j]); 13
14 Belief-Desire-Intention (BDI) popular architecture for agent control based on the explicit representation of propositional attitudes belief - what the agent knows about the world desire - pending goals, either percepts, messages or internal goals intention a set of plans chosen for (eventual) execution reacts fast simply matching of goals and intentions several intention may be active at the same time example: Procedural Reasoning System (PRS) we work with the OpenPRS implementation 14
15 BDI System Overview Sensors Beliefs Plan Library Environment BDI Reasoning Engine Goals Intension Structure Actuators 15
16 Working With OpenPRS I definition of symbols, predicates and actions best in a single file ( xxx.sym ), examples are in rcll.sym symbols: declare symbol xxx predicates: normal: declare predicate xxx, hold whenever asserted to knowledge base closed world assumption: declare cwp xxx, hold whenever asserted to knowledge base otherwise the negation holds evaluable predicates: not here automatically registered by dynamic library, dynamically derive their truth values using the code in the library actions: look like ordinary predicates not here automatically registered by dynamic library 16
17 Working With OpenPRS II definition of the initial knowledge base best in a single file ( xxx.db ), examples are in rcll.db just an enumeration of the predicates that holds in LISP syntax. e.g. ( (game running) (state robot1 active) ) 17
18 Working With OpenPRS III definition of plans (operational procedures) best in files ( xxx.opf ), examples are in move.opf OpenPRS is able to load several definition files each definition files may contain several operational procedures (OP) all Ops contain invocation: when is the OP triggered, single goal expression context: when is a triggered OP executable, set of expressions effects: what does the OP affect, set of goal expressions there are different types of Ops graphical: graphical representation of an OP textual: textual representation of an OP actions: simple OP without a plan body but a single executable action 18
19 Working With OpenPRS IV all definition can be loaded using include files best in files ( xxx.inc ), examples are in rcll.inc supported commands load external "library_name" "init_function", load a dynamic link library with actions and evaluable predicates, e,g. load external "libasrael_oprs" "init_asrael_oprs include "xxx.sym", loading the symbol/predicate definitions, e.g. include "./rcll.sym" load db "xxx.db", loading the initial knowledge base, e.g. load db "./rcll.db load opf "xxx.opf", loading a plan library, load opf "./rcll.opf" 19
20 Hookup C++ to OpenPRS I OpenPRS Interface for Actions (C++ dynamic library) Symbols Predicates robot-specific C++ code Interface for Evaluate Predicates (C++ dynamic library) Reasoning Engine Knowledge Base Interface for Evaluate Functions (C++ dynamic library) Plan Library 20
21 Hookup C++ to OpenPRS II OpenPRS allows to use external code to execute actions, evaluate predicates and functions realized using a shared library register all external code by a central function extern "C" void init_oprs_rcll(void) register actions make_and_declare_action("move", moveaction, 1); Term *moveaction(termlist terms) register predicates make_and_declare_eval_pred("see", see, 1, TRUE); PBoolean see(termlist terms) register functions make_and_declare_eval_funct( nrobots", nrobots, 1); Term *nrobots(termlist terms) 21
22 Executive Layer I to team server protobuf server OPRS goals Message Passing protobuf client OPRS evaluable predicates OPRS evaluable functions OPRS actions low-level actions reports and commands to refbox action execution reports to team server low-level queries protobuf server to ros interface protobuf client 22
23 OPRS actions Executive Layer II OpenGripper, CloseGripper, CheckLightState MoveToWayPoint, MoveToExplorationPoint FineAlignment, RawAlignmentSafe, DistanceAlignmentSafe SendTaskResult, SendFoundLightInfo, SendRobotInfo, ReportSeenMachines SendRobotStop ConfigureXX (XX = BS, RS, CS, DS) OPRS evaluable predicates lightstate, facemachine, seear OPRS evaluable functions getmachinename 23
24 Robot Operating System (ROS) framework for the development of robot software provides OS-like functionality originally developed by Stanford AI Lab (SAIL) and Willow Garage meanwhile maintained by the Open Source Robotics Foundation open source robotics framework used by several leading robotics labs provides a lot of functionality on various levels 24
25 provides a lot of functionality many research groups provide their results as open source ROS packages: motion planning and navigation localization exploration and mapping arm navigation and object manipulation 3D perception and object manipulation high-level control and knowledge representation 25
26 Transport Mechanisms (1) all architectures comprise different modules they need to exchange commands and data Publisher-Subscriber (Topics) messages are broadcasted multiple recipients components are usually not aware of each other central message routing (IPC, ROS topics) single point of failure Client-Server (Services - Blocking) components directly talk to each other components are aware of each other remote method invocation (RPC, CORBA, ROS services) + explicit return value 26
27 Transport Mechanisms (2) Client-Server (Actions Non Blocking) components directly talk to each other components are aware of each other remote trigger of durative activities on the server side + explicit status, error and return values 27
28 Tools in ROS rxgraph display a visualization of a ROS computation graph client library supports the development of nodes allows easy access to topics, paramter, C++ & Phyton rviz is a 3d visualization tool it is online configurable and is able to display sensor data, point clouds, paths, coordinate systems ROS is able to record and playback all topics in an transparent way and in the proper timing 28
29 Launch Files it s a pain to start up larger project form scratch at the command-line the tool roslaunch allows to script start up procedures allows to specify nodes, configurations, renaming follows a XML-syntax <launch> <param name="foo" value="$(optenv NUM_CPUS 1)" /> <param name= foofile" value="$(find foo_pkg)/foo.xml" /> <node name= foo" pkg= foo_pkg" type= foo.py" /> </launch> 29
30 robots usually have a number of data (2D and 3D senor data, poses, ) in various static and variable coordinate systems data in ROS are relative to a coordinate system called frame data stay in their producing frame data are transformed in a target frame on purpose only the tf library and a set of tools take care about transformations tf 30
31 Transformation Basics +Z yaw pitch +Y roll right hand rule +X roll, pitch, yaw Euler angles [x,y,z,w] ROS uses Quarterions 31
32 Transform Chains frames can build transformation chains tree-like structure transformation between any frames automatically calculated by tf if connected by a tree (a forest is possible too) map kinect frame laser frame plate frame [Andreasson et al. 2008] odometry frame base frame 32
33 Transformation Tree plate_link map kinect_base_link odom base_link laser_base_link odom base_link map plate_link laser_base_link kinect:_base_link 33
34 Reactive Layer to OPRS protobuf server protobuf client ROS interface conveyor allignment HOG detector gripper moveto AR checker set reference machine position report machines ROS action lib movebase 34
35 Robotino ROS Robotino offers a web-based (RPC) interface API allows access to all features of the robot API server runs on the internal PC a ROS interface node exists cmd_- vel topic gripper - service sensors - topics Robotino ROS Node API C++ Library web RPC demon external PC internal PC 35
36 Localization in ROS ROS provides a ready-to use localization stack the Adaptive Monte Carlo Localization (amcl) package laser-based localization particle filter localization (MCL) KLD sampling to control the sample size augmented MCL to recover from localization errors Sensor model beam range finder model likelihood field model Motion model sample-based odometry model (differential drive) sample-based odometry model (omni-directional drive) for usage and parameter look to the tutorial 36
37 amcl overview Map Server Laser Node initial pose/pose with covariance acml particles/pose array Robot Node odometry/odometry-tf 37
38 ROS Navigation Stack ROS provides a full navigation stack global planning A* and LPN local planning Dynamic Window Approach or Trajectory Rollout implemented as action service (non-blocking) supports differential drive and omni-directional robots works with and without global localization and map can work with 2d and/or 3d maps and sensors for usage and parameter look to the tutorial 38
39 ROS Navigation Stack Overview 39
40 Detecting AR Markers each machine of a team is labeled with a two distinctive AR tags on the input and output each tag represents a particular number alvar (a library for virtual and augmented reality) can track multiple tags a ROS package exists (ar_track_alvar) provides position and transformation of each detected tag in camera frame Cap Station Team Cyan Input 1 Cap Station Team Cyan Input 2 40
41 Gazebo Simulator high-fidelity simulator for robots and environments rich and accurate physics simulation a lot of libraries for robots, sensors, objects and environments separation of physical modelling and behavior neat integration of ROS 41
42 Grips Simulator II completely based on Gazebo uses RCLL simulation environment of RWTH Aachen communication independent connection to refbox automated loading of environment (machines, field) full functioning model of MPS (all machine types) basic model of robotino robot and common sensors adaptation for Grips architecture ROS interface abstraction of actuators and sensors multi-robot enabled by topics name prefix plugin based 42
43 RefBox RCLL Environment Models Grips Simulator II ROS interface localization (amcl, abstracted) topis ROS interface robot topics plugins MPS Robot 1 actuators, sensors Robot 2 actuators, sensors Robot 3 actuators, sensors Gazebo API & topics ROS interface lidar topics ROS interface cameras topics ROS interface gripper (abstracted) actionlib ROS interface light detector (absracted) actionlib 43
44 ROS Build System - catkin catkin official build system of ROS Cmake with some custom Cmake macros and Python scripts supports for automatic 'find package' infrastructure and building multiple, dependent projects at the same time simplifies the build process of ROS s large, complex, and highly heterogeneous code ecosystem advantages of using catkin enables to use packages after building (without installation) generates find_package() code for your package generates pkg-config files for your package handles build order of multiple packages handles transitive dependencies 44
45 package.xml Overview of a catkin package contains the meta information of a package name, description, version, maintainer(s), license opt. authors, url's, dependencies, plugins, etc... CMakeLists.txt The main CMake file to build the package Calls catkin-specific functions/macros "Read" the package.xml find other catkin packages to access libraries / include directories export items for other packages depending on you 45
46 Dependency Management: package.xml (c) ETH Zürich 46
47 Dependency Management: CMakeLists.txt (c) ETH Zürich 47
48 Other common files in a package Common source layout include/pkgnamespace/ src/ setup.py ROS specific subfolders msg/ srv/ launch/ scripts/ the recommended folder name equals the package name 48
49 Recommended Literature Murphy: Introduction to AI Robotics Thrun, Fox, Burgard: Probabilistic Robotics ROS Wiki ( ROS Tutorials Robotics Wiki at IST ( RoboCup logistics League OpenPRS Gecode PDFs for download at the course website 49
Mobile Robots Robot Operating System (ROS)
Mobile Robots Robot Operating System (ROS) Institute for Software Technology 1 Motivation Beer me https://www.youtube.com/watch?v=c3cq0sy4tbs 2 Robotics is Easy control behavior perception modelling domain
More informationArchitectures. Gerald Steinbauer Institute for Software Technology. Gerald Steinbauer. Advanced Robotics - Architectures
Advanced Robotics Architectures Institute for Software Technology 1 Agenda Motivation Function vs. Operation Requirements to Architectures Classical Architectures Sample Architectures and Frameworks Robot
More informationThe Fawkes Robot Software Framework
Nov 28th 2016 MSL Workshop 2016 The Fawkes Robot Software Framework Software Stack for the RoboCup Logistics League Matthias Löbach Tim Niemueller Carologistics RoboCup participant since 2012 Joint team
More informationQuick Introduction to ROS
Quick Introduction to ROS ROS is huge ROS is an open-source, meta-operating system for humanoid robots What can ROS do? Hardware abstraction Low-level device control Message passing between nodes Sophisticated
More informationRoboCup Rescue Summer School Navigation Tutorial
RoboCup Rescue Summer School 2012 Institute for Software Technology, Graz University of Technology, Austria 1 Literature Choset, Lynch, Hutchinson, Kantor, Burgard, Kavraki and Thrun. Principle of Robot
More informationIntroduction to ROS. COMP3431 Robot Software Architectures
Introduction to ROS COMP3431 Robot Software Architectures Robot Software Architecture A robot s software has to control a lot of things: 2D/3D Cameras, LIDAR, Microphones, etc Drive motors, Arm motors
More informationIntroduction to Robot Operating System (ROS)
Introduction to Robot Operating System (ROS) May 22, 2018 Outline What is ROS? ROS Communication Layer ROS Ecosystem ROS Master ROS Nodes Topics, Services, Actions ROS Packages Catkin build system Libraries/Tools
More informationIntroduction to ROS Adopted from MIT 4.151
Introduction to ROS Adopted from MIT 4.151 A meta-operating system for robots Comparison: the PC ecosystem Comparison: the robotics ecosystem Standardized layers System software abstracts hardware Applications
More informationProgramming for Robotics Introduction to ROS
Programming for Robotics Introduction to ROS Course 1 Péter Fankhauser, Dominic Jud, Martin Wermelinger Prof. Dr. Marco Hutter Péter Fankhauser 20.02.2017 1 Overview Course 1 ROS architecture & philosophy
More informationCS 309: Autonomous Intelligent Robotics FRI I. Lecture 9: Introduction to ROS. Instructor: Justin Hart
CS 309: Autonomous Intelligent Robotics FRI I Lecture 9: Introduction to ROS Instructor: Justin Hart http://justinhart.net/teaching/2018_spring_cs309/ A couple of quick notes Homework 1: Due tonight Any
More informationIntroduction to the Robot Operating System (ROS)
- Lisboa Introduction to Robotics 2018/2019 Introduction to the Robot Operating System (ROS) Rodrigo Ventura Instituto Superior Técnico, Universidade de Lisboa rodrigo.ventura@isr.tecnico.ulisboa.pt What
More informationTeaching Assistant: Roi Yehoshua
Teaching Assistant: Roi Yehoshua roiyeho@gmail.com Introduction to ROS ROS Main Features ROS Main Concepts Installing ROS Agenda Course Administration Course s home page: http://www.cs.biu.ac.il/~yehoshr1/89-685/
More informationROS: introduction, concepts and examples
ROS: introduction, concepts and examples Cédric Pradalier October 16 th, 2013 Objectives of this talk ROS and middleware Quick presentation Quick comparison Use case For teaching For research 2/21 Cédric
More informationROS navigation stack Costmaps Localization Sending goal commands (from rviz) (C)2016 Roi Yehoshua
ROS navigation stack Costmaps Localization Sending goal commands (from rviz) Robot Navigation One of the most basic things that a robot can do is to move around the world. To do this effectively, the robot
More informationCOMP3431 Robot Software Architectures
COMP3431 Robot Software Architectures Week 1 Introduction to ROS David Rajaratnam Click to edit Present s Name People Prof. Claude Sammut claude@cse.unsw.edu.au Timothy Wiley t.wiley@unsw.edu.au David
More information3 Problems You Need to Tackle when Developing Robot Software
ROS : Robot Operating System RSS Technical Lecture 6 Monday, February 27 th, 2012 Michael Fleder MIT 6-3, MEng, PhD 1 3 Problems You Need to Tackle when Developing Robot Software (1) Sequential programming
More informationCourse Updates. Website set-up at
Course Updates Website set-up at https://ae640a.github.io/ Canvas invite (for assignments & submissions) will be sent once course list (after add-drop) is available Attendance: 70% Minimum Last 2 lectures
More informationPreface...vii. Printed vs PDF Versions of the Book...ix. 1. Scope of this Volume Installing the ros-by-example Code...3
Contents Preface...vii Printed vs PDF Versions of the Book...ix 1. Scope of this Volume...1 2. Installing the ros-by-example Code...3 3. Task Execution using ROS...7 3.1 A Fake Battery Simulator...8 3.2
More informationINF Introduction to Robot Operating System
INF3480 - Introduction to Robot Operating System February 22, 2017 Justinas Mišeikis Side Note This is an overview lecture, but do expect exam question on ROS topic also. Please pay more attention to the
More informationROS : Robot Operating System
ROS : Robot Operating System Weipeng He 2he@informatik.uni-hamburg.de 5 November, 2012 Outline Introduction Motivation Software Structure Community Conclusion Introduction What is ROS? ROS is Robot Operating
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 informationUsing the ikart mobile platform
Using the mobile platform Marco Randazzo Sestri Levante, July 23th, 2012 General description A holonomic mobile base for icub: Omnidirectional movement (six omnidirectional wheels) Integrates an high-performance
More informationROBOT OPERATING SYSTEM AN INTRODUCTION BY SYED MUHAMMAD ABBAS LUMS SCHOOL OF SCIENCE & ENGINEERING, PAKISTAN
ROBOT OPERATING SYSTEM AN INTRODUCTION BY SYED MUHAMMAD ABBAS LUMS SCHOOL OF SCIENCE & ENGINEERING, PAKISTAN ROBOTICS EVOLUTION SIMPLIFIED! Micro Controller Brain Sumo Line follower Maze solver Firefighting...
More informationCS 309: Autonomous Intelligent Robotics FRI I. Lecture 18: Coordinate Frames TF2 Alvar. Instructor: Justin Hart
CS 309: Autonomous Intelligent Robotics FRI I Lecture 18: Coordinate Frames TF2 Alvar Instructor: Justin Hart http://justinhart.net/teaching/2018_spring_cs309/ A couple of quick notes Homework 4 Due March
More informationEvent-based Systems with ROS: Examples from the STAIR Project
Event-based Systems with ROS: Examples from the STAIR Project Morgan Quigley Stanford University Joint work with: Stanford: Blake Carpenter, Adam Coates, Quoc Le, Ellen Klingbeil, Andrew Ng, many others
More informationROBOT NAVIGATION ROBOTICS
ROBOT NAVIGATION ROBOTICS OUR IMPLEMENTATION /joy joy_cmd /cmd_joy / /velocity ROBOT joy_node /odom JOYPAD pose OUR IMPLEMENTATION /mode /joy joy_cmd /cmd_joy mux / /velocity /cmd_auto ROBOT joy_node planner
More informationOverview KMR WS2012/13. ROS Basics. Robot Operating System (ROS) Practical Introduction. Johannes Maurer Clemens Mühlbacher. Master.
KMR WS2012/13 Practical Introduction Overview Johannes Maurer Clemens Mühlbacher Graz University of Technology Graz, October 12th, 2012 1 2 Robot Operating System (ROS) open-source meta-operating system
More informationThe Problem. Robotics is a huge and growing area: research, innovation Lack of standards for robotics. Programming Robots with ROS
ROS Introduction Main concepts Basic commands Borrowed extensively from: Roi Yehoshua, BIU The Problem Robotics is a huge and growing area: research, innovation Lack of standards for robotics (C)2016 Roi
More informationHumanoid Robotics. Monte Carlo Localization. Maren Bennewitz
Humanoid Robotics Monte Carlo Localization Maren Bennewitz 1 Basis Probability Rules (1) If x and y are independent: Bayes rule: Often written as: The denominator is a normalizing constant that ensures
More informationEECS 4330/7330 Introduction to Mechatronics and Robotic Vision, Fall Lab 5. Controlling Puma Using Leap Motion Device
1 Lab 5 Controlling Puma Using Leap Motion Device Objective In this experiment, students will use Leap Motion device to achieve the following goals: - Get familiar with the Leap Motion device - Experience
More informationTeam Description Paper Team AutonOHM
Team Description Paper Team AutonOHM Jon Martin, Daniel Ammon, Helmut Engelhardt, Tobias Fink, Tobias Scholz, and Marco Masannek University of Applied Science Nueremberg Georg-Simon-Ohm, Kesslerplatz 12,
More informationCOMP3431 Robot Software Architectures
COMP3431 Robot Software Architectures Week 2 ROS Continued David Rajaratnam Click to edit Present s Name ROS Continued What we're doing today: Recap from last week Example of turtlebot setup Frames of
More informationIntroduction to ROS. Lasse Einig, Dennis Krupke, Florens Wasserfall
Introduction to ROS Lasse Einig, Dennis Krupke, Florens Wasserfall University of Hamburg Faculty of Mathematics, Informatics and Natural Sciences Technical Aspects of Multimodal Systems April 6, 2015 L.
More informationAdvanced Robotics Path Planning & Navigation
Advanced Robotics Path Planning & Navigation 1 Agenda Motivation Basic Definitions Configuration Space Global Planning Local Planning Obstacle Avoidance ROS Navigation Stack 2 Literature Choset, Lynch,
More informationSheet 2 Topic: Motion Models and Robot Odometry
Visual Navigation for Flying Robots Computer Vision Group D. Cremers, J. Sturm, N. Engelhard Institut für Informatik Summer Term 2012 Technische Universität München Sheet 2 Topic: Motion Models and Robot
More informationFinal Report. Project #19 Service robot simulation: Care-O-bot 4
Aalto University ELEC-E8002/E8003 Project work course Year 2016 Final Report Project #19 Service robot simulation: Care-O-bot 4 Date: 12.12.2016 Taneli Halme Kimmo Ojala Otto Sirola Jason Toivanen Noora
More informationRobotics Programming Laboratory
Chair of Software Engineering Robotics Programming Laboratory Bertrand Meyer Jiwon Shin Lecture 2: ROS and Roboscoop Robots of today Many sensors and actuators Able to operate in familiar or expected environments
More informationAMR 2011/2012: Final Projects
AMR 2011/2012: Final Projects 0. General Information A final project includes: studying some literature (typically, 1-2 papers) on a specific subject performing some simulations or numerical tests on an
More informationRobot Programming with Lisp
7. Coordinate Transformations, TF, ActionLib Institute for Artificial University of Bremen Outline Coordinate Transformations TF ActionLib 2 Outline Coordinate Transformations TF ActionLib 3 Poses in 3D
More informationF1/10 th Autonomous Racing. Localization. Nischal K N
F1/10 th Autonomous Racing Localization Nischal K N System Overview Mapping Hector Mapping Localization Path Planning Control System Overview Mapping Hector Mapping Localization Adaptive Monte Carlo Localization
More informationOpen Source Software in Robotics and Real-Time Control Systems. Gary Crum at OpenWest 2017
Open Source Software in Robotics and Real-Time Control Systems Gary Crum at OpenWest 2017 Background and some videos for context ASI history with some open source and USU academic roots: asirobots.com
More informationIntroduction to the Robot Operating System (ROS) Middleware
Introduction to the Robot Operating System (ROS) Middleware Mike Anderson Chief Scientist The PTR Group, LLC. mailto: mike@theptrgroup.com http://www.theptrgroup.com What We Will Talk About What is ROS?
More informationGazebo. Amirreza Kabiri Fatemeh Pahlevan Aghababa. Autumn 2017
Gazebo Amirreza Kabiri Fatemeh Pahlevan Aghababa Autumn 2017 History Started in fall 2002 in USC by Dr. Andrew Howard and his student Nate Koenig as a complementary simulator to Stage, Nate continue to
More informationIntelligent Robots Seminar
Intelligent Robots Seminar Topic: Robotics Software Architectures 11/18/2013 Anton Kiggundu Msc. IAS 1 Outline 1. Background Description of Robotic Software Architecture 2. What is Robot Operating System?
More informationRobocup In summary. Amirreza Kabiri Fatemeh Pahlevan Aghababa
Robocup 2017 In summary Amirreza Kabiri Fatemeh Pahlevan Aghababa Autumn 2017 Outline Models Hardware Specifications Software Specifications Game Field Specifications RoboCup2017RVRL_Demo Repository How
More informationConstruction of SCARA robot simulation platform based on ROS
Construction of SCARA robot simulation platform based on ROS Yingpeng Yang a, Zhaobo Zhuang b and Ruiqi Xu c School of Shandong University of Science and Technology, Shandong 266590, China; ayangyingp1992@163.com,
More informationIndividual Lab Report #6. Pratik Chatrath. Team A / Team Avengers. Teammates: Tushar Agrawal, Sean Bryan. January 28, 2016
Individual Lab Report #6 Pratik Chatrath Team A / Team Avengers Teammates: Tushar Agrawal, Sean Bryan January 28, 2016 I. Individual Progress Overall in the last semester, I worked on developing obstacle
More informationIntroducing MoveIt! First, start the Baxter simulator in Gazebo:
Introducing MoveIt! One of the challenging aspects of robotics is defining a path for the motion of a robot's arms to grasp an object, especially when obstacles may obstruct the most obvious path of motion.
More informationROS-Industrial Basic Developer s Training Class
ROS-Industrial Basic Developer s Training Class August 2017 Southwest Research Institute 1 Session 2: ROS Basics Continued Southwest Research Institute 2 Outline Services Actions Launch Files Parameters
More informationirobot Create Setup with ROS and Implement Odometeric Motion Model
irobot Create Setup with ROS and Implement Odometeric Motion Model Welcome Lab 4 Dr. Ahmad Kamal Nasir 18.02.2015 Dr. Ahmad Kamal Nasir 1 Today s Objectives Introduction to irobot-create Hardware Communication
More informationTF (transform) in ROS
TF (transform) in ROS ECET 49900/58100 Credit: PhD comics and Willow Garage 1 ROS tf (transform) package Goal: Maintain relationship between multiple coordinate frames overtime. Transform points, or vectors
More informationEMC 2015 Tooling and Infrastructure
EMC 2015 Tooling and Infrastructure Sjoerd van den Dries Eindhoven University of Technology Department of Mechanical Engineering April 29, 2015 Introducing PICO Telepresence Robot from Aldebaran Robot
More information16-662: Robot Autonomy Project Bi-Manual Manipulation Final Report
16-662: Robot Autonomy Project Bi-Manual Manipulation Final Report Oliver Krengel, Abdul Zafar, Chien Chih Ho, Rohit Murthy, Pengsheng Guo 1 Introduction 1.1 Goal We aim to use the PR2 robot in the search-based-planning
More informationProgress review #3. Gauri Gandhi. Team G Robographers. Teammates: Rohit Dashrathi. Jimit Gandhi. Tiffany May. Sida Wang ILR #4
Progress review #3 Gauri Gandhi Team G Robographers Teammates: Rohit Dashrathi Jimit Gandhi Tiffany May Sida Wang ILR #4 November 12, 2015 1 a. Individual Progress For the third progress review, I worked
More informationINF Introduction to Robot Operating System
INF3480 - Introduction to Robot Operating System April 19, 2018 Justinas Mišeikis Side Note This is an overview lecture, but do expect exam question on ROS topic also. Please pay more attention to the
More informationProbabilistic Robotics
Probabilistic Robotics Sebastian Thrun Wolfram Burgard Dieter Fox The MIT Press Cambridge, Massachusetts London, England Preface xvii Acknowledgments xix I Basics 1 1 Introduction 3 1.1 Uncertainty in
More informationRobotics: Science and Systems II
Robotics: Science and Systems II 6.189/2.994/16.401 September 7th, 2005 Last Semester Motor Control Visual Servoing Range Processing Planning Manipulation Lab Progression 1. Schematics: Layout and Components
More informationL17. OCCUPANCY MAPS. NA568 Mobile Robotics: Methods & Algorithms
L17. OCCUPANCY MAPS NA568 Mobile Robotics: Methods & Algorithms Today s Topic Why Occupancy Maps? Bayes Binary Filters Log-odds Occupancy Maps Inverse sensor model Learning inverse sensor model ML map
More informationROS tf System February, Janyl Jumadinova
ROS tf System 13-15 February, 2017 Janyl Jumadinova What is tf? A robotic system typically has many coordinate frames that change over time, such as a world frame, base frame, gripper frame, head frame,
More informationHow I Learned to Stop Reinventing and Love the Wheels. with (home/hackerspace) robotics
How I Learned to Stop Reinventing and Love the Wheels 1 or having Andreas FUNBihlmaier with (home/hackerspace) robotics Overview On Reinventing Wheels in Robotics ROS Technical Overview and Concepts Hardware
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 informationROS-Industrial Basic Developer s Training Class
ROS-Industrial Basic Developer s Training Class August 2017 Southwest Research Institute 1 Session 1: ROS Basics Southwest Research Institute 2 Outline Intro to ROS Catkin (Create workspace) Installing
More informationRobot Opera+ng System
Robot Opera+ng System Robots and Complexity A Robot is an amalgam of sensors and actuators, each of which needs to be interpreted/controlled in synchronicity with the others so that the whole produces
More informationIntroduction to Robot Operating System (ROS) using C++
1/22 1 Introduction to Robot Operating System (ROS) using C++ Mahmoud Abdul Galil Tutorial-2 These slides are based on the online ROS Wiki documentation 2/22 2 ros-example-1 Cont'd: CMakeLists.txt lwe
More informationECE 5463 Introduction to Robotics Spring 2018 ROS TUTORIAL 1. Guillermo Castillo (Wei Zhang)
ECE 5463 Introduction to Robotics Spring 2018 ROS TUTORIAL 1 Guillermo Castillo (Wei Zhang) Department of Electrical and Computer Engineering Ohio State University 01/2018 Previous Steps Outline Previous
More informationtf: On the PR2 ROS + PR2 Training Workshop
tf: On the PR2 What is tf? A coordinate frame tracking system A standardized protocol for publishing transform data to a distributed system Helper classes and methods for: Publishing coordinate frame data
More informationCloud Robotics. Damon Kohler, Ryan Hickman (Google) Ken Conley, Brian Gerkey (Willow Garage) May 11, 2011
1 Cloud Robotics Damon Kohler, Ryan Hickman (Google) Ken Conley, Brian Gerkey (Willow Garage) May 11, 2011 2 Overview Introduction (Ryan) ROS (Ken and Brian) ROS on Android (Damon) Closing Remarks (Ryan)
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 informationSet up and Foundation of the Husky
Set up and Foundation of the Husky Marisa Warner, Jeremy Gottlieb, Gabriel Elkaim Worcester Polytechnic Institute University of California, Santa Cruz Abstract Clearpath s Husky A200 is an unmanned ground
More informationIntroduction to Distributed Systems
Introduction to Distributed Systems Other matters: review of the Bakery Algorithm: why can t we simply keep track of the last ticket taken and the next ticvket to be called? Ref: [Coulouris&al Ch 1, 2]
More informationMobile Robotics contact: and Olfaction Lab,
Prof. Achim J. Lilienthal Mobile Robotics contact: and Olfaction Lab, www.aass.oru.se/~lilien AASS, Örebro achim.lilienthal@oru.se University 1 Prof. Achim J. Lilienthal Mobile Robotics contact: and Olfaction
More informationPractical Course WS12/13 Introduction to Monte Carlo Localization
Practical Course WS12/13 Introduction to Monte Carlo Localization Cyrill Stachniss and Luciano Spinello 1 State Estimation Estimate the state of a system given observations and controls Goal: 2 Bayes Filter
More informationROS: Tips n' Tricks. by: Anqi Xu COMP-417, McGill University Monday September 20th, Inspired by presentation of Marek Doniec, MIT
ROS: Tips n' Tricks by: Anqi Xu COMP-417, McGill University Monday September 20th, 2013 Inspired by presentation of Marek Doniec, MIT Overview What is ROS? Features Philosophies Core elements Development
More informationT. Moulard () ROS tutorial January / 32
ROS tutorial Thomas Moulard LAAS robotics courses, January 2012 T. Moulard () ROS tutorial January 2012 1 / 32 So what is ROS? A component oriented robotics framework, A development suite, A (bad) package
More informationDistributed Systems 8. Remote Procedure Calls
Distributed Systems 8. Remote Procedure Calls Paul Krzyzanowski pxk@cs.rutgers.edu 10/1/2012 1 Problems with the sockets API The sockets interface forces a read/write mechanism Programming is often easier
More informationComprehensive AngularJS Programming (5 Days)
www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop
More informationMoveIt. Release Indigo. MoveIt Motion Planning Framework
MoveIt Release Indigo MoveIt Motion Planning Framework August 10, 2016 Contents 1 Beginner Tutorials 1 2 Advanced Tutorials 13 3 Configuration Tutorials 23 i ii CHAPTER 1 Beginner Tutorials 1.1 Move Group
More informationL10. PARTICLE FILTERING CONTINUED. NA568 Mobile Robotics: Methods & Algorithms
L10. PARTICLE FILTERING CONTINUED NA568 Mobile Robotics: Methods & Algorithms Gaussian Filters The Kalman filter and its variants can only model (unimodal) Gaussian distributions Courtesy: K. Arras Motivation
More informationProceedings of the 2016 Winter Simulation Conference T. M. K. Roeder, P. I. Frazier, R. Szechtman, E. Zhou, T. Huschka, and S. E. Chick, eds.
Proceedings of the 2016 Winter Simulation Conference T. M. K. Roeder, P. I. Frazier, R. Szechtman, E. Zhou, T. Huschka, and S. E. Chick, eds. SIMULATION RESULTS FOR LOCALIZATION AND MAPPING ALGORITHMS
More informationOverview. EECS 124, UC Berkeley, Spring 2008 Lecture 23: Localization and Mapping. Statistical Models
Introduction ti to Embedded dsystems EECS 124, UC Berkeley, Spring 2008 Lecture 23: Localization and Mapping Gabe Hoffmann Ph.D. Candidate, Aero/Astro Engineering Stanford University Statistical Models
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 informationROS-Industrial Basic Developer s Training Class
ROS-Industrial Basic Developer s Training Class Southwest Research Institute 1 Session 1: ROS Basics Southwest Research Institute 2 Outline Intro to ROS Installing Packages / Nodes Parameters Messages
More informationROS-Industrial Basic Developer s Training Class
ROS-Industrial Basic Developer s Training Class Southwest Research Institute 1 Session 4: More Advanced Topics (Descartes and Perception) Southwest Research Institute 2 MOVEIT! CONTINUED 3 Motion Planning
More informationAssignment 1: Control and obstacle avoidance
Assignment 1: Control and obstacle avoidance ETH Zurich Individual Demonstration: Thursday, 08.10.2015 at 15:15 Individual Software Due: Thursday, 08.10.2015 at 23:00 Group Work Demonstration: Monday,
More informationROS ARCHITECTURE: AN EXAMPLE ROBOTICS
ROS ARCHITECTURE: AN EXAMPLE ROBOTICS GENERAL ARCHITECTURE sequencer_node goal control_node /willy2/cmd_vel /plan /willy2/pose ROBOT send_plan pose_node /willy2/odom GENERAL ARCHITECTURE sequencer_node
More informationCS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM
CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM Objectives Defining a wellformed method to check class invariants Using assert statements to check preconditions,
More informationROS-Industrial Basic Developer s Training Class
ROS-Industrial Basic Developer s Training Class Shaun Edwards Sr. Research Engineer Southwest Research Institute 1 OVERVIEW 2 Overview Presentation See What Can ROS-I Do Today? presentation 3 INTRODUCTION
More informationOperating Systems. 18. Remote Procedure Calls. Paul Krzyzanowski. Rutgers University. Spring /20/ Paul Krzyzanowski
Operating Systems 18. Remote Procedure Calls Paul Krzyzanowski Rutgers University Spring 2015 4/20/2015 2014-2015 Paul Krzyzanowski 1 Remote Procedure Calls 2 Problems with the sockets API The sockets
More informationSeminar on Languages for Scientific Computing Aachen, 6 Feb Navid Abbaszadeh.
Scientific Computing Aachen, 6 Feb 2014 navid.abbaszadeh@rwth-aachen.de Overview Trends Introduction Paradigms, Data Structures, Syntax Compilation & Execution Concurrency Model Reference Types Performance
More informationROS-Industrial Basic Developer s Training Class
ROS-Industrial Basic Developer s Training Class Southwest Research Institute 1 Session 2: ROS Basics Continued Southwest Research Institute 2 Outline Services Actions Launch Files TF 3 Services 4 Services
More informationMonte Carlo Localization using Dynamically Expanding Occupancy Grids. Karan M. Gupta
1 Monte Carlo Localization using Dynamically Expanding Occupancy Grids Karan M. Gupta Agenda Introduction Occupancy Grids Sonar Sensor Model Dynamically Expanding Occupancy Grids Monte Carlo Localization
More informationRobot Mapping. A Short Introduction to the Bayes Filter and Related Models. Gian Diego Tipaldi, Wolfram Burgard
Robot Mapping A Short Introduction to the Bayes Filter and Related Models Gian Diego Tipaldi, Wolfram Burgard 1 State Estimation Estimate the state of a system given observations and controls Goal: 2 Recursive
More informationgetting started with usarsim Amirreza Kabiri Fatemeh Pahlevan Autumn 2017
getting started with usarsim Amirreza Kabiri Fatemeh Pahlevan Autumn 2017 Outline Intro Requirements Installation Installation problems How to setup How to use Robots Intro USARSim was the first server
More informationAGENTSPEAK AND JASON. AgentSpeak ROBOTICS AND AUTONOMOUS SYSTEMS. Today. Language of choice for the Multi-Agent Programming Contest
ROBOTICS AND AUTONOMOUS SYSTEMS Simon Parsons Department of Computer Science University of Liverpool LECTURE 19 comp329-2013-parsons-lect19 2/35 Today In this lecture we will begin to look at the tools
More informationVehicle Localization. Hannah Rae Kerner 21 April 2015
Vehicle Localization Hannah Rae Kerner 21 April 2015 Spotted in Mtn View: Google Car Why precision localization? in order for a robot to follow a road, it needs to know where the road is to stay in a particular
More informationBasics of Localization, Mapping and SLAM. Jari Saarinen Aalto University Department of Automation and systems Technology
Basics of Localization, Mapping and SLAM Jari Saarinen Aalto University Department of Automation and systems Technology Content Introduction to Problem (s) Localization A few basic equations Dead Reckoning
More informationAn Introduction to ROS. Or how to write code that starts fires!
An Introduction to ROS Or how to write code that starts fires! A Conceptual Overview Nodes, Topics and Messages What is ROS? Stands for Robotics Operating System NOT an Operating System. Provides many
More informationNERC Gazebo simulation implementation
NERC 2015 - Gazebo simulation implementation Hannan Ejaz Keen, Adil Mumtaz Department of Electrical Engineering SBA School of Science & Engineering, LUMS, Pakistan {14060016, 14060037}@lums.edu.pk ABSTRACT
More informationLaser, Kinect, Gmapping, Localization, PathPlanning
Soso s knowledge Laser, Kinect, Gmapping, Localization, PathPlanning Faculty of Information Technology, Brno University of Technology Bozetechova 2, 612 66 Brno name@fit.vutbr.cz 99.99.9999 Sensors Stereo
More informationAutonomous Navigation of Humanoid Using Kinect. Harshad Sawhney Samyak Daga 11633
Autonomous Navigation of Humanoid Using Kinect Harshad Sawhney 11297 Samyak Daga 11633 Motivation Humanoid Space Missions http://www.buquad.com Motivation Disaster Recovery Operations http://www.designnews.com
More information