1)修改源文件source.list为阿里云
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
2)卸载全部ros:
sudo apt-get autoremove --purge ros-*
3)设置编码
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
4)添加key
sudo apt update && sudo apt install curl gnupg2 lsb-release
WINDOWS下打开并下载https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc
把文件另存为ros.asc文件,然后用U盘传到ubuntu系统,然后在文件录下运行命令行:
sudo apt-key add ros.asc
5)添加ros源
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://mirror.tuna.tsinghua.edu.cn/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'
6)删除sources.list.d其他的源
7)安装ros
sudo apt update
sudo apt install ros-foxy-desktop
8)加载ros2
source /opt/ros/foxy/setup.bash
9) 自动补全
sudo apt install python3-argcomplete
10)安装开发工具和ros工具
sudo apt update && sudo apt install -y \ build-essential \ cmake \ git \ python3-colcon-common-extensions \ python3-pip \ python3-rosdep \ python3-vcstool \ wget
python3 -m pip install -U \ argcomplete \ flake8-blind-except \ flake8-builtins \ flake8-class-newline \ flake8-comprehensions \ flake8-deprecated \ flake8-docstrings \ flake8-import-order \ flake8-quotes \ pytest-repeat \ pytest-rerunfailures \ pytest
sudo apt install --no-install-recommends -y \ libasio-dev \ libtinyxml2-dev
sudo apt install --no-install-recommends -y \
libcunit1-dev
11)加入到bashrc:
echo “source /opt/ros/foxy/setup.bash” >> ~/.bashrc
12)测试验证
新开终端,发布话题
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_cpp talker
新开终端,订阅话题
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_py listener
坑1RMW问题需要添加环境变量
export RMW_IMPLEMENTATION=rmw_connext_cpp
坑2注意用户下的.bash文件