第一章 ROS安装
1.1 安装ROS
ROS官网:noetic/Installation/Ubuntu - ROS Wiki
1.配置ubuntu的软件和更新
2.设置安装源
官方默认安装源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
推荐安装源(清华安装源)
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
其他安装源:ROS/Installation/UbuntuMirrors - ROS Wiki
3.设置key
sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
4.安装
sudo apt update
sudo apt install ros-noetic-desktop-full
卸载
sudo apt remove ros-noetic-*
5.设置环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
6.安装依赖
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
初始化rosdep
sudo rosdep init
rosdep update
7.测试ROS
通过小乌龟的程序来检测ROS环境是否可以正常运行
在3个不同的终端中分别输入以下 内容
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
1.2 ROS集成开发环境搭建
1.2.1 安装终端
采用Terminator
1.安装
sudo apt install terminator
2.Terminator常用快捷键
第一部分:在同一个标签内的操作
Alt+Up //移动到上面的终端
Alt+Down //移动到下面的终端
Alt+Left //移动到左边的终端
Alt+Right //移动到右边的终端
Ctrl+Shift+O //水平分割终端
Ctrl+Shift+E //垂直分割终端
Ctrl+Shift+Right //在垂直分割的终端中将分割条向右移动
Ctrl+Shift+Left //在垂直分割的终端中将分割条向左移动
Ctrl+Shift+Up //在水平分割的终端中将分割条向上移动
Ctrl+Shift+Down //在水平分割的终端中将分割条向下移动
Ctrl+Shift+S //隐藏/显示滚动条
Ctrl+Shift+F //搜索
Ctrl+Shift+C //复制选中的内容到剪贴板
Ctrl+Shift+V //粘贴剪贴板的内容到此处
Ctrl+Shift+W //关闭当前终端
Ctrl+Shift+Q //退出当前窗口,当前窗口的所有终端都将被关闭
Ctrl+Shift+X //最大化显示当前终端
Ctrl+Shift+Z //最大化显示当前终端并使字体放大
Ctrl+Shift+N or Ctrl+Tab //移动到下一个终端
Ctrl+Shift+P or Ctrl+Shift+Tab //Crtl+Shift+Tab 移动到之前的一个终端
第二部分:不同标签之间的操作
F11 //全屏开关
Ctrl+Shift+T //打开一个新的标签
Ctrl+PageDown //移动到下一个标签
Ctrl+PageUp //移动到上一个标签
Ctrl+Shift+PageDown //将当前标签与其后一个标签交换位置
Ctrl+Shift+PageUp //将当前标签与其前一个标签交换位置
Ctrl+Plus (+) //增大字体
Ctrl+Minus (-) //减小字体
Ctrl+Zero (0) //恢复字体到原始大小
Ctrl+Shift+R //重置终端状态
Ctrl+Shift+G //重置终端状态并clear屏幕
Super+g //绑定所有的终端,以便向一个输入能够输入到所有的终端
Super+Shift+G //解除绑定
Super+t //绑定当前标签的所有终端,向一个终端输入的内容会自动输入到其他终端
Super+Shift+T //解除绑定
Ctrl+Shift+I //打开一个窗口,新窗口与原来的窗口使用同一个进程
Super+i //打开一个新窗口,新窗口与原来的窗口使用不同的进程
1.2.2 安装VScode
1.下载
VScode下载: Documentation for Visual Studio Code
2.安装
sudo dpkg -i xxxx.deb
卸载
sudo dpkg --purge code
3.VScode集成ROS插件
1.3 Ros快速体验
1.3.1 HelloWorld实现简介
可采用python或者C++来实现,其流程相同,如下所示:
1.先创建一个工作空间
2.在创建一个功能包
3.编辑源文件
4.编辑配置文件
5.编译并执行
上述流程中,C++和python只是在步骤3和步骤4的实现上存在差异,其他流程基本一致。
step1.创建工作空间并初始化
mkdir -p 自定义工作空间的名称/src
cd 自定义工作空间的名称
catkin_make
其中catkin_make用来编译,会在新建文件下生成"build"和"devel"两个问文件
step2.进入src创建ros包并添加依赖
cd src
catkin_create_pkg 自定义的ros包名 roscpp rospy std_msgs
上述命令,会在工作空间下生成一个功能包,该功能包依赖于 roscpp、rospy 与 std_msgs,其中roscpp是使用C++实现的库,而rospy则是使用python实现的库,std_msgs是标准消息库,创建ROS功能包时,一般都会依赖这三个库实现。
1.3.2 使用C++实现HelloWorld
本节基于1.3.1,已经完成了1和2两部分内容
step3. 进入ros包的src目录编辑源文件
cd ~/demo01/src/HelloWorld/src