Introduction to Arduino Programming: Features of Arduino
Robotic os (cheatsheet)
1. Robotic OS (Cheatsheet)
Installation
ROS (Robotic OS) is made to work with Ubuntu.
Each Ubuntu version has its own ROS:
● Ubuntu 14.04 → ROS Indigo
● Ubuntu 16.04 → ROS Kinetic
● Ubuntu 17.07 → ROS Lunar
● Ubuntu 18.04 → ROS Melodic
● Ubuntu 20.04 → ROS Noetic
→ Install ROS using this link.
ROS has also been released in a ROS 2 version.
● Ubuntu 16.04 → ROS 2 Crystal
● Ubuntu 18.04 → ROS 2 Dashing Diademata
● Ubuntu 20.04 → ROS Foxy Fitzroy
→ Install ROS 2 using this link.
Architecture
Once ROS is installed, it uses the following architecture:
● A node is a program: For example, obstacle detection.
It uses:
○ A subscriber that receives information: For example, a camera image
○ A publisher that publishes information: For example, position of an
obstacle in the image
● A topic is that the node publishes on.
● A message is the type of information exchanged between nodes.
2.
ROS Commands - The Essential
MASTER
Run a master
● roscore
NODES
Get list of nodes
● rosnode list
Get information on a node
● Rosnode info [node]
TOPICS
Get list of topics
● rostopic list
Get information on a topic (subscribers, publishers, …)
● rostopic info [topic]
Visualize a topic
● rostopic echo [topic]
MESSAGES
Get list of messages
● rosmsg list
Visualize a message structure
● rosmsg show [message_type]
FILESYSTEM
Run a Node
● rosrun [package] [node]
Launch an application
● roslaunch [package] [launcher]
Build a package
● catkin_create_pkg
Compile a workspace
● Catkin_make
3. ROS Commands - What we’ll need
MASTER
Run a master
● roscore
Visualize a topic
● rostopic echo [topic]
MESSAGES
Visualize a message structure
● rosmsg show [message_type]
FILESYSTEM
Play a bag
● rosbag play
● rosbag play -l (will play in loop)
Record a bag
● rosbag record [node]
● rosbag record -a (will record all topics)
Run a Node
● rosrun [package] [node]
Run RVIZ
● rosrun rviz rviz
Run RQT_IMAGE_VIEW
● rqt_image_view
Show the Graph
● rosrun rqt_graph rqt_graph
Launch an application
● roslaunch [package] [launcher]
Build a package
● catkin_create_pkg
Compile a workspace
● catkin_make