ROS Flashcards
Define ROS
Robot operating system
-a flexible framework for writing robot software
-provides tools and libraries that simplify the task of creating robust robot behaviour
Define the ROS ecosystem
the comprehensive and interconnected sets of tools,libraries and contributions
Give the key components of ROS
ROSCORE - a collection of essential services including ROS master
Communication infrastructure - nodes and topics
What are the two ROS communication methods
-Publisher- subscriber communication
-Client server communication
Explain how Publisher-subscriber communication works
-A publisher node creates a topic and sends message to that topic
-a subscriber node subcribes to the topic and receives the message
-ROS ensures that messages are delivered efficiently and reliably
Explain how client server communication works
-Client node sends a request to the service server and awaits response
-Service node offers service and awaits requests, processes them and sends them back
-a service definition is used to initialise data
Give characteristics of publisher-subsriber communication
-Asynchronous
-ideal for continuous data
-Many to many: multiple publisher nodes can send to a topic and multiple subscriber nodes can receive from a topic
-publishers and subscribers do not need to know each other, just agree on same topic
Give characteristics of client server communication
-Synchronous (immediate response)
-One to one: one client communicates with one server per request
-
Give an example of publisher-subscriber communication application
Robot state updates:
-Robots current pose is sent to ‘/pose’ topic
-visualisation tool (RViz), subscribes to ‘/pose’ topic to display/log robots position
Give an example of client server communication application
Robot manipulation:
-a client node requests joint pose of an arm using a ‘joint_request’ service
-the arm controller processes the request and sends confirmation once movement is complete
Define a URDF
Universal robot description format
-used for visualisation processes
In terms of ROS, define a package
the basic unit of ROS
contains a configuration file to launch other packages or nodes
metapackage contains a set of common purpose packages