Download presentation
Presentation is loading. Please wait.
1
Quick Introduction to ROS
2
Installing Ubuntu 14.04 1 Quick and painless with Virtualbox
3
Install Virtualbox Download Ubuntu 14.04 Install to a USB drive
Open Virtualbox Install Virtualbox Download Ubuntu 14.04 Install to a USB drive
4
Time for a demo! Let’s install Ubuntu on a USB drive. I’ve uploaded a video of this to Youtube here: NOTE: use Ubuntu NOT as in video!!!!!!!!
5
Installing ROS Indigo Full details here - See Chapter 4.1, Installing ROS
6
What is ROS? 2 Getting started with the concepts
7
ROS is an open-source, meta-operating system for humanoid robots
ROS is huge ROS is an open-source, meta-operating system for humanoid robots
8
Research development: Fast prototyping easier in a simulated world.
What can ROS do? Why ROS? Research development: Fast prototyping easier in a simulated world. Lots of packages for sensing, movement, path planning etc. Error free environment for debugging Break bits, not real hardware Transferring from simulated robot to real robot takes a bit of effort, but works! Not really an operating system: really a set of tools message passing infrastructure: ROS is used to connect the various nodes that make up your typical robotic system debugging tools: ROS CLI (rosnode, rostopic, rosmsg, etc.), rqt_graph visualization: RVIZ, Gazebo, tf
9
Low-level device control Message passing between nodes
What can ROS do? Hardware abstraction Low-level device control Message passing between nodes Sophisticated build environment Libraries Debugging and Visualization Tools Not really an operating system: really a set of tools message passing infrastructure: ROS is used to connect the various nodes that make up your typical robotic system debugging tools: ROS CLI (rosnode, rostopic, rosmsg, etc.), rqt_graph visualization: RVIZ, Gazebo, tf
10
ROS packages ROS messages ROS nodes ROS services ROS action servers
What are the major concepts? ROS packages ROS messages ROS nodes ROS services ROS action servers ROS topics ...and many more!
11
ROS software is organized into packages
Each package contains some combination of code, data, and documentation package_name/ package.xml ← describes the package and it’s dependencies CMakeLists.txt ← Finds other required packages and messages/services/actions src/ ← C++, Python code (includes in include/ folder) scripts/ ← Python scripts for your node msg/ ← ROS messages defined for your node (for topics) srv/ ← ROS services defined for your node (for services) launch/ ← folder contains .launch files for this package
12
Catkin is the official build system of ROS
Building/Running Catkin is the official build system of ROS Catkin combines Cmake macros and Python scripts to provide some functionality on top of Cmake’s normal workflow Run ROS code
13
The ROS framework is component oriented
ROS Nodes The ROS framework is component oriented Each component is called a node A node is a process Nodes communicate through topics, services, and actions
14
So what does this mean? Hardware talks to drivers, which then talk to nodes, which then talks to ROS Nodes can run any software you want as long as it is a language ROS supports
15
ROS Master sends/receives Several nodes at once
ROS as a framework ROS Master sends/receives Several nodes at once Whole network on your computer
16
Each node can listen on or publish messages to topics
Built in message types (std_msgs) User defined messages Complex.msg float32 real float32 imaginary
17
Example: Rospy Tutorials Talker_Listener
18
A node can provide services – synchronous remote procedure calls
Request Response
19
Example: Rospy Tutorials: Server/Client – Add 2 integers, return result
20
Launch Files Automate the launching of collections of ROS nodes via XML files and roslaunch
21
You can also pass parameters via launch files
22
Command Line Tools
23
Rviz: Robot Visualization
24
Arbotix Simulator (Homework 1): Turtlebot Simulation
25
Kinect2 → /kinect2/images Publishes image messages What are messages?
ROS as a framework cont. Kinect2 → /kinect2/images Publishes image messages What are messages?
26
I don’t have a Robot in front of me
Robots in the wild - Problems I don’t have a Robot in front of me I want to try something that may break my Robot Setting up the Robot takes too much time, I want to test changes to my code quickly ONE SLIDE FOR PR2 AND BAXTER. ELIMINATE DUPLICATE SLIDES
27
Gazebo Simulator ONE SLIDE FOR PR2 AND BAXTER. ELIMINATE DUPLICATE SLIDES
28
Same interface as real robot Add/remove 3D items in environment
Gazebo Simulator Same interface as real robot Add/remove 3D items in environment Physics engine to simulate effects of motor commands Collision detection Updated sensor feedback Debugging info ONE SLIDE FOR PR2 AND BAXTER. ELIMINATE DUPLICATE SLIDES
29
Simulated Sensor Output Topics
Gazebo Demo Add object to world Physics Simulated Sensor Output Topics ONE SLIDE FOR PR2 AND BAXTER. ELIMINATE DUPLICATE SLIDES
31
Reference class slides/codes provided Google it
If you have a question Look in Tutorials: Reference class slides/codes provided Google it Ask a TA ONE SLIDE FOR PR2 AND BAXTER. ELIMINATE DUPLICATE SLIDES
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.