目前大多高校和企业都在使用ROS1,ROS2在迭代了几个版本后,其性能和生态已经发展相当成熟了,因此,大多企业都开始从ROS1转入ROS2。小米的机器狗铁蛋就搭载了ROS2系统,华为自动驾驶仿真也在大量招聘ROS2相关人才。但是,目前ROS2的学习资料很少,给学习ROS2带来了很多困难,系统性的学习资料更是几乎没有。因此,我们试图从外文资料推出一些ROS技术资料。
常常装不了ros2,其原因是版本问题。进入
我们看到版本维护界面如图:
我们看到,至少有十几个版本的ros,因此,安装的方法也至少有十几种。因而如果ubuntu和ros版本不一致可能导致安装不成。
locale是对系统语言设置,这里预先设置,想必ros2要用到。
- sudo locale-gen en_US en_US.UTF-8
- sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
- export LANG=en_US.UTF-8
安装ROS2的资源库到本地。
- sudo apt update && sudo apt install curl gnupg2 lsb-release
- curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
将资源路径加入本地:
sudo sh -c 'echo "deb [arch=amd64,arm64] http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'
设置存储库后更新您的 apt 存储库缓存。
- sudo apt update
- sudo apt install ros-eloquent-desktop
- sudo apt install ros-eloquent-ros-base
执行:
source /opt/ros/eloquent/setup.bash
argcomplete
(可选)用于ROS2的命令行工具
sudo apt install python3-argcomplete
如果您在上面安装了 ros-eloquent-desktop,您可以尝试一些示例。
在一个终端中,获取设置文件,然后运行 C++talker:
- source /opt/ros/eloquent/setup.bash
- ros2 run demo_nodes_cpp talker
在另一个终端中获取设置文件,然后运行 Python 侦听器:
- source /opt/ros/eloquent/setup.bash
- ros2 run demo_nodes_py listener
通过下列指令卸载ROS2
sudo apt remove ros-eloquent-* && sudo apt autoremove
Installing ROS 2 via Debian Packages — ROS 2 Documentation: Dashing documentation
Installing ROS 2 via Debian Packages — ROS 2 Documentation: Eloquent documentation