参考链接🔗:
古月居的:
https://www.guyuehome.com/9165
别人的博客:
https://blog.csdn.net/fanshuaifang/article/details/114399792?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-11.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-11.control
首先设置中科大的源之类的就不讲了,安装ros2肯定ros1已经装过了有经验了,这次的安装也很简单~要没装ros1就去搜ros1的安装教程装了再说
(ros2目前和ros1并存,很多ros2功能包还依赖ros1的,他们之间也有通信的桥梁,所以系统必须有ros1成功安装之后再说ros2的事情)
1 设置语言环境(好像不设置也行)
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
这里本人的ubuntu使用的中文简体,所以把上述执行里的en_US都改成了zh_CN
2 添加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] http://packages.ros.org/ros2/ubuntu bionic main" > /etc/apt/sources.list.d/ros2-latest.list'
3 安装ros-dashing-desktop(wifi不行的换成话手机热点这一步可能会因为网络问题多试几次)
sudo apt update
sudo apt install ros-dashing-desktop
4 安装python3库
sudo apt install -y libpython3-dev python3-pip
#这个是自动补全工具
pip3 install -U argcomplete
5 设置环境变量
#导入配置脚本
source /opt/ros/dashing/setup.bash
#写入.bashrc
echo "source /opt/ros/dashing/setup.bash" >> ~/.bashrc
6 安装其他依赖
sudo apt install python3-argcomplete ros-dashing-rmw-opensplice-cpp ros-dashing-rmw-connext-cpp ros-dashing-ros1-bridge python3-colcon-common-extensions
这步解压到一半会有个同意协议的请求才会继续按enter一直到协议显示Did you agree…please answer yes or no,输入yes(不能是y)回车才能解压完成
7 测试
ros2安装完成后默认带有部分例程,可以使用如下命令测试
#第一个终端输入
ros2 run demo_nodes_cpp listener
#第二个终端输入
ros2 run demo_nodes_cpp talker
仿真小海龟例子
#第一个终端
ros2 run turtlesim turtlesim_node
#第二个终端
ros2 run turtlesim draw_square
基本大功告成,但现在ubuntu有ros1和ros2为了方便使用需要手动更改.bashrc文件来选择自己要使用的系统
8 手动设置.bashrc
在系统的根目录下按Ctrl+h找到隐藏文件.bashrc加入以下内容:
#source /opt/ros/melodic/setup.bash
#source /opt/ros/dashing/setup.bash
# ROS 1.0 melodic or ROS 2.0 Dashing
echo ROS 1.0 or ROS 2.0? 1=Melodic 2=Dashing
read ROS
if (($ROS==1));then
source /opt/ros/melodic/setup.bash
echo "Melodic"
elif (($ROS==2));then
source /opt/ros/dashing/setup.bash
echo "Dashing"
else
echo "Non-ROS"
fi
这样每次打开终端就会询问使用哪个版本0是不使用,1是ros1,2是ros2,对应输入即可
关于有一句ROS_distro was set to …not mix paths from different distributions.和之前编译过ros1的东西有关,只是警告无需理会,介意的话可以 做以下步骤:
1 bashrc或者zshrc文件中的ros1相关的内容注释掉;
2 把之前在ros1环境下编译的东西全部删掉,只保留src;
3 source一下bashrc/zshrc文件即可。
以上,ros2安装完毕。