Appearance
ROS 1
ROS (Robot Operating System) (https://www.ros.org/) is a flexible framework for writing robot software. It provides a wide range of tools and libraries for building and operating robots, including tools for communication, perception, and control. ROS is designed to be modular and extensible, making it easy to add new functionality and integrate with different hardware and software systems.
ROS is based on a publish-subscribe architecture, where nodes (i.e. processes) send and receive messages on topics. This allows for easy communication and coordination between different parts of the robot's software, regardless of whether the nodes are running on the same machine or on different machines.
ROS provides a wide range of libraries and tools for working with common robotics-related functionality such as sensor processing, path planning, and control. It also includes tools for visualization, debugging, and simulation. This makes it easier for developers to create and test their software, as well as to integrate with existing tools and libraries.
ROS is widely used in the robotics community and has a large number of available resources and a huge community supporting it. It's been used in a wide range of applications, including research, education, manufacturing, and entertainment.
In summary, ROS is a flexible framework for writing robot software that provides a wide range of tools and libraries for building and operating robots. It is based on a publish-subscribe architecture, it's modular and extensible, providing tools for visualization, debugging, and simulation, it's widely used in the robotics community, and it's available in multiple operating systems.
Native ROS
When we say "Native ROS robot components" it generally refers to hardware and software components that have been specifically designed to work with the Robot Operating System (ROS). These components are able to "speak" the ROS communication protocols, and can therefore be easily integrated into a robot system that is built with ROS.
Examples of native ROS robot components can include:
Sensors such as cameras, lidars, and IMUs Actuators such as motors and servos Controller boards and Single-Board Computers (SBCs) that run a ROS-compatible operating system Software libraries and drivers that provide ROS interfaces for interacting with the hardware ROS packages that provide additional functionality, such as localization, path planning, and control Using native ROS components in building a robot, allows developers to leverage the powerful and flexible libraries and tools provided by ROS, and to easily integrate their components with other parts of the robot system. It also allows them to take advantage of the large and active community of developers and researchers who use ROS, and to build upon the existing knowledge and resources that are available for ROS.
In summary, native ROS robot components are hardware and software components that have been specifically designed to work with the Robot Operating System (ROS). They allow developers to easily integrate them into a robot system, leveraging the powerful and flexible libraries and tools provided by ROS. They also allow to take advantage of the large and active community of developers and researchers who use ROS, and to build upon the existing knowledge and resources that are available for ROS.
ROS Insatllation on the Host PC
Installing ROS Noetic (the latest version of ROS) on your system can be done using the following general steps:
Add the ROS Noetic repository to your system. This can be done by running the following command in a terminal:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
Set up your system's key to allow secure communication with the ROS Noetic package repository by running the following commands:
sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
Update the package lists on your system to include the ROS Noetic repository by running:
sudo apt update
sudo apt update
Install the ROS Noetic packages. You can install the base ROS Noetic packages by running the following command:
sudo apt install ros-noetic-desktop-full
sudo apt install ros-noetic-desktop-full
Initialize rosdep. Before you can use ROS, you will need to initialize rosdep. rosdep enables you to easily install system dependencies for source you want to compile and is required to run some core components in ROS.
sudo rosdep init
rosdep update
sudo rosdep init
rosdep update
Set up the environment. Source the ROS environment setup file in your bash/zsh profile
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
Done!