注意,本教程只针对默认设置,例外选项请查看官方源指导!
参考来源:http://wiki.ros.org/melodic/Installation/Ubuntu
将计算机设置为接受来自packages.ros.org的软件。
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
如果是刚完成安装的系统,并且需要安装turtlebot,建议此处先安装git,然后在执行2.4时同时执行3.2,以节省时间
sudo apt install git
包含ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators 和 2D/3D perception 等
如果你需要安装turtlebot3,建议可以跳到3.1,跑完3.1再回来继续2.5,你会感谢我为你节省一次盯着屏幕的时间的~ XD
sudo apt install ros-melodic-desktop-full (和安装kinetic的差异在这里)
在使用ROS之前,您需要初始化rosdep。rosdep使您能够轻松安装要编译的源的系统依赖项,并且需要在 ROS 中运行一些核心组件。
sudo rosdep init
rosdep update
如果每次启动新 shell 时 ROS 环境变量都自动添加到 bash 会话中,则这很方便。在这一步,我们需要将 source /opt/ros/melodic/setup.bash 语句添加到位于/home/user/.bashrc的配置文件中,有以下两种方式:
命令行:echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
图形界面:使用VScode、gedit或者其它文本编辑器打开.bashrc(注意,这个是隐藏文件,需要显示隐藏文件才可以看到),然后将source /opt/ros/melodic/setup.bash这一句添加到文件末尾。
更加全面地设置可以如下所示:
# Set ROS Melodic 注意,~/catkin_ws/devel/setup.bash文件在catkin_make编译后才会产生
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
# Set ROS Network 注意,此处ROS_HOSTNAME为此计算机在局域网中的IP地址,ROS_MASTER_URI为主节点在局域网中的IP地址,均可设置为环回地址localhost,可以视需要而设定在不同的计算机上
export ROS_HOSTNAME=xxx.xxx.xxx.xxx
export ROS_MASTER_URI=http://xxx.xxx.xxx.xxx:11311
# Set ROS alias command 设置快捷命令
alias cw='cd ~/catkin_ws'
alias cs='cd ~/catkin_ws/src'
alias cm='cd ~/catkin_ws && catkin_make'
已打开的终端,需要更新配置文件:
source ~/.bashrc(本操作亦可以通过重新打开新的终端来完成)
参考来源:http://emanual.robotis.com/docs/en/platform/turtlebot3/pc_setup/#install-dependent-ros-packages、ROS_Robot_Programming_CN.pdf(ROS机器人编程,turtlebot3官方教程PDF版本,提供中英文两个语言版本)
(基本上就是将kinect搜索替换为melodic)
sudo apt install ros-melodic-desktop-full ros-melodic-joy ros-melodic-teleop-twist-joy ros-melodic-teleop-twist-keyboard ros-melodic-laser-proc ros-melodic-rgbd-launch ros-melodic-depthimage-to-laserscan ros-melodic-rosserial-arduino ros-melodic-rosserial-python ros-melodic-rosserial-server ros-melodic-rosserial-client ros-melodic-rosserial-msgs ros-melodic-amcl ros-melodic-map-server ros-melodic-move-base ros-melodic-urdf ros-melodic-xacro ros-melodic-compressed-image-transport ros-melodic-rqt-image-view ros-melodic-gmapping ros-melodic-navigation ros-melodic-interactive-markers ros-melodic-turtlebot3-gazebo
注1:本命令事实上可以在2.4运行,直接把所有的都装完了。
注2:ros-melodic-turtlebot3-gazebo此项在Kinect的安装教程中没有,但是实际也在运行中依赖,需要安装
3.2.1打开到工作空间-源文件文件夹(如果没建立的话请先建立该文件夹):
cd ~/catkin_ws/src/
3.2.2下载源码到~/catkin_ws/src/中
通过git clone的方式(此处,git clone可能会很慢,自行百度解决,关键是写hosts直接解析IP地址,IP分别是140.82.114.4 github.com 和199.232.5.194 github.global.ssl.fastly.net):
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
或者在网页端下载压缩文件到相应路径下解压亦可
3.2.3编译:
打开到catkin_ws路径并编译:
cd ~/catkin_ws && catkin_make
在.bashrc文件中设置turtlebot3机器人构型,免去后续每次运行前的设置。构型为burger、waffle或waffle pi,根据自己手头机型设置
export TURTLEBOT3_MODEL=burger