ROS Flashcards

1
Q

What is ROS?

A

Robot Operating System is a flexible framework for writing robot software.

Better definition:
An open-source, meta-operating system for your robot. It provides the services you would expect from an operating system, including hardware abstraction, low-level device control, implementation of commonly-used functionality, message-passing between processes, and package management. It also provides tools and libraries for obtaining, building, writing, and running code across multiple computers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

ROS nodes

A

Nodes are processes (programs) where computation is done.

  • Each node can interact with other nodes, thanks to the ROS network managed by the ROS Master
  • A complex system may have many nodes, each node controls different functions of the system
  • It is better to have many nodes that provide only a single functionality, rather than having a large node that makes everything in the system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

ROS master

A

The ROS master stores information about the network because it sets up connections between the nodes (p2p connections).

  • Nodes register themselves with the Master on startup
  • Nodes ask the Master where to find other nodes. After that, nodes establish peer-to-peer communication with each other
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Nodes communication

A

Nodes communicate with each other through messages.

  • Each message must have a name to be routed by the ROS network, this name is called topic
  • When a node is sending data, we say that the node is publishing a topic
  • Nodes can receive topics from other nodes simply by subscribing to the topic
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

ROS services

A

Services give the possibility of interacting more strictly within nodes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

ROS actions

A

The actionlib package provides tools to create servers that execute long-running goals that can be preempted.

Components: goal, feedback, result

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

ROS features

A
  • rviz
  • rqt_graph
  • Gazebo
  • MoveIt!
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

rviz

A

rviz (short for “ROS visualization”) is a 3D visualization software tool for robots, sensors, and algorithms. It enables you to see the robot’s perception of its world (real or simulated).

The purpose of rviz is to enable you to visualize the state of a robot. It uses sensor data to try to create an accurate depiction of what is going on in the robot’s environment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

rqt_graph

A

rqt_graph provides a GUI plugin for visualizing the ROS computation graph.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Gazebo

A

Gazebo is a 3D robot simulator. Its objective is to simulate a robot, giving you a close substitute to how your robot would behave in a real-world physical environment. It can compute the impact of forces (such as gravity).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

MoveIt!

A

MoveIt is the robotic manipulation platform for ROS, and incorporates the latest advances in motion planning, manipulation, 3D perception, kinematics, control, and navigation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly