The new version of ROS2 will be released soon. You can choose the beta version now. It is not necessary to use it. The official version will be released for at least 3-6 months to keep up with various basic function packages. The release progress of the old version of ROS1 is significantly slower than that of ROS2. It is recommended to use melodic or kinetic. If you have not been in contact with ROS before, please do not learn ROS1. After all, the related technologies and code specifications are very different from ROS2. The focus should be on robotics-related applications and algorithm research, and don't rely too much on tools.
There are currently 440 packages, far less than dashing's 800+.
Installation refer to the following link:
The tutorial will fully adapt dashing and foxy.
Install the beta version of ros2 to use the source:
Install the official version of ros2 to use the source:
For the tutorial, please refer to the first-hand official document first, which will be updated soon:
Using Synaptic installation kit is suitable for beginners, convenient and fast.
Create a new /etc/apt/sources.list.d/ros2-latest.list
, the content is:
Debian/Ubuntu version: Ubuntu 20.04 LTS
deb https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu/ focal main
Then enter the following command to trust the GPG Key of ROS and update the index:
sudo apt install curl gnupg2
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update
- cmake
- setuptools
Foxy Fitzroy(May 2020- May 2023)----------------------------------
Targeted platforms:+--------------+-----------------------+-------------------------+----------------------+--------------------+---------------+| Architecture | Ubuntu Focal(20.04)| MacOS Mojave(10.14)| Windows 10(VS2019)| Debian Buster(10)| OpenEmbedded /||||||| webOS OSE |+==============+=======================+=========================+======================+====================+===============+| amd64 | Tier 1[d][a][s]| Tier 1[a][s]| Tier 1[a][s]| Tier 3[s]||+--------------+-----------------------+-------------------------+----------------------+--------------------+---------------+| arm64 | Tier 1[d][a][s]||| Tier 3[s]| Tier 3[s]|+--------------+-----------------------+-------------------------+----------------------+--------------------+---------------+| arm32 | Tier 2[d][a][s]||| Tier 3[s]| Tier 3[s]|+--------------+-----------------------+-------------------------+----------------------+--------------------+---------------+
The following indicators show what delivery mechanisms are available for each platform." [d] " Debian packages will be provided forthis platform for packages submitted to the rosdistro." [a] " Binary releases are provided as a single archive per platform containing all packages in the Eloquent ROS 2 repos file [6]_." [s] " Compilation from source.
Middleware Implementation Support:+--------------------------+---------------------+---------------+-----------------------------+--------------------------------------+| Middleware Library | Middleware Provider | Support Level | Platforms | Architectures |+==========================+=====================+===============+=============================+======================================+| rmw_fastrtps_cpp | eProsima Fast-RTPS | Tier 1| All Platforms | All Architectures |+--------------------------+---------------------+---------------+-----------------------------+--------------------------------------+| rmw_connext_cpp | RTI Connext | Tier 1| All Platforms except Debian | All Architectures except arm64/arm32 ||||| and OpenEmbedded ||+--------------------------+---------------------+---------------+-----------------------------+--------------------------------------+| rmw_cyclonedds_cpp | Eclipse Cyclone DDS | Tier 1| All Platforms | All Architectures |+--------------------------+---------------------+---------------+-----------------------------+--------------------------------------+| rmw_fastrtps_dynamic_cpp | eProsima Fast-RTPS | Tier 2| All Platforms | All Architectures |+--------------------------+---------------------+---------------+-----------------------------+--------------------------------------+
Middleware implementation support is dependent upon the platform support tier.
For example a Tier 1 middleware implementation on a Tier 2 platform can only receive Tier 2 support.
Minimum language requirements:- C++14- Python 3.7
+- - - - - - - - - - - - - +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +|| Required Support | Recommended Support |+-------------+----------------+---------------+----------------+----------------+---------------------+| Package | Ubuntu Focal | MacOS**| Windows 10**| Debian Buster | OpenEmbedded**|+=============+================+===============+================+================+=====================+| CMake |3.16.3|3.14.4|3.14.4|3.13.4|3.16.1/3.12.2****|+-------------+----------------+---------------+----------------+----------------+---------------------+| EmPY |3.3.2|+-------------+----------------+---------------+----------------+----------------+---------------------+| Gazebo |11.0.0*|11.0.0| N/A |11.0.0*| N/A |+-------------+----------------+---------------+----------------+----------------+---------------------+| Ignition | Citadel*| N/A | Citadel*| N/A |+-------------+----------------+---------------+----------------+----------------+---------------------+| Ogre |1.10*| N/A |+-------------+----------------+---------------+----------------+----------------+---------------------+| OpenCV |4.2.0|4.2.0|3.4.6*|3.2.0|4.1.0/3.2.0****|+-------------+----------------+---------------+----------------+----------------+---------------------+| OpenSSL |1.1.1d |1.1.1f |1.1.1f |1.1.1d |1.1.1d /1.1.1b****|+-------------+----------------+---------------+----------------+----------------+---------------------+| Poco |1.9.2|1.9.0|1.8.0*|1.9.0|1.9.4|+-------------+----------------+---------------+----------------+----------------+---------------------+| Python |3.8.0|3.8.2|3.8.0|3.7.3|3.8.2/3.7.5****|+-------------+----------------+---------------+----------------+----------------+---------------------+| Qt |5.12.5|5.12.3|5.10.0|5.11.3|5.14.1/5.12.5****|+-------------+----------------+---------------+----------------+----------------+---------------------+||**Linux only**|+-------------+----------------+---------------+----------------+----------------+---------------------+| PCL |1.10.0| N/A | N/A |1.9.1|1.10.0|+-------------+----------------+---------------+----------------+----------------+---------------------+|**RMW DDS Milddleware Providers**|+-------------+----------------+---------------+----------------+----------------+---------------------+| Connext DDS |5.3.1| N/A |+-------------+----------------+---------------+----------------+----------------+---------------------+| Cyclone DDS |0.5.1(Eusebius)|+-------------+----------------+---------------+----------------+----------------+---------------------+| Fast-RTPS |1.10.0|+-------------+----------------+---------------+----------------+----------------+---------------------+" * " means that this is not the upstream version(available on the official Operating System repositories) but a package distributed by OSRF or the community(package built and distributed on custom repositories)." ** " Rolling distributions will see multiple version changes of these dependencies during their lifetime.
The versions shown for OpenEmbedded are those provided by the 3.1 Dunfell release series; the versions provided by the other supported release series are listed here: https://github.com/ros/meta-ros/wiki/Package-Version-Differences .
Note that the OpenEmbedded releases series for which a ROS distro has support will change during its support time frame,as per the OpenEmbedded support policy shown here: https://github.com/ros/meta-ros/wiki/Policies#openembedded-release-series-support .
However, it will always be supported by least one stable OpenEmbedded release series." \**** " webOS OSE provides this different version.
This document only captures the version at the first release of a ROS distribution and will not be updated as the dependencies move forward.
These versions are thus a low watermark.
Package manager use for dependencies:- Ubuntu, Debian: apt
- MacOS: Homebrew, pip
- Windows: Chocolatey, pip
- OpenEmbedded: opkg
Build System Support:- ament_cmake
- cmake
- setuptools
Recommended Posts