ROS Flashcards

1
Q

ROS stand for?

A

Robot Operating System

an open-source robotics middleware suite.

Although ROS is not an operating system (OS) but a set of software frameworks for robot software development, it provides services designed for a heterogeneous computer cluster such as hardware abstraction, low-level device control, implementation of commonly used functionality, message-passing between processes, and package management

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

Benefits of ROS?

A
  • in charge of interfacing the hardware
  • so you can recycle the software module
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Main components of ROS communication

A

Node
Master
Topic

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

What model is used in ROS communication?

A

Publisher/Subscriber

*language needs to be same between publisher/subscriber
*one subscriber can subscribe to different languages

pub / sub topic

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

Key features of ROS

A

*Hardware abstraction
*Low-level device control
*Messaging between process
*package managment

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

in linux how to make a folder into a ROS workspace

A

in the folder

catkin_make

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

3 key components of a ROS application

A

*workspace
*package
*node

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

in linux how to create a ROS package

A

in the folder

catkin_create_pkg [package name] [dependencies]

e.g. catkin_create_pkg arduinobot_test roscpp rospy std_msgs

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

what to do after creating a new package

A

go back to workspace folder and

**catkin_make **

rebuld the workspace, including the new package

then
cd devel
source setup.bash

OR
source devel/setup.bash
*important: you need to source your workspace everytime you open a new terminal!

to inform ROS about the workspace and its pacakges
to prove it:
**roscd [ROS package name]

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

in linux in the workspace, how to run the ROS master? (like opening up the post office)

A

roscore

enable communication between nodes, the creation of topics, and publication of messages

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

flow after creating a publisher (python)

A

to see details like topic type, publisher, subscriber

cd to workspace
catkin_make
rosecore #to start to post office
#split terminal
cd to workspace
source devel/setup.bash
rosrun [package name] [nodename]
e.g. rosrun arduinobot_test simple_publisher.py
* to stop: ctrl+C
#split terminal
rostopic list # list existing topics
rostopic echo [topic name] #see what’s flying around in for that topic
e.g. rostopic echo /chatter

*additionally use
rostopic info [topic name] # see details like type, publisher, subscriber
e.g. rostopic info /chatter
rostopic hz [topic name] # analize frequency

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

3 main components of a ROS application

A

*workspace
*package (microfunction)
*nodo (one function) ? node

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

how to publish in terminal

A

rostopic pub [topic name] <tab></tab>

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