Ubuntu20.04安装配置ROS Noetic

一、按照官网的安装教程安装

官网链接:http://wiki.ros.org/noetic/Installation/Ubuntu

  1. 配置sources.list,添加ROS软件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
  1. 设置密钥
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 -
  1. 安装
sudo apt update  # 更新apt软件源
sudo apt install ros-noetic-desktop-full  # 安装ROS
  1. 环境配置

如果不配置环境变量,在每个新打开的终端都需要运行"source /opt/ros/noetic/setup.bash"命令

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc  # 设置环境变量
source ~/.bashrc  # 使设置生效
  1. 安装rosinstall和其他依赖项
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
  1. 初始化rosdep
sudo apt install python3-rosdep
sudo rosdep init
rosdep update

在这里插入图片描述

  1. ROS功能包的安装方法

在ROS中有许多功能包,可以用以下命令安装指的功能包:

sudo apt install ros-noetic-PACKAGE
# 例如
sudo apt install ros-noetic-slam-gmapping

查看可以安装的功能包:

apt search ros-noetic
  1. 安装Terminator终端

Terminator终端可以在一个窗口中创建多个终端,并且可以水平、垂直分割,运行ROS时很方便。

sudo apt install terminator

这样安装完成后,使用快捷键Ctrl + Alt +T打开的就是新安装的terminator终端,可以使用以下方法仍然打开ubuntu默认的终端:

  • 输入以下命令
sudo update-alternatives --config x-terminal-emulator

可以看到有两个终端,/usr/bin/gnome-terminal.wrapper就是默认的终端,/usr/bin/terminator是新安装的Terminator终端

  • 输入默认终端对应的编号
    在这里插入图片描述
    此时再输入Ctrl + Alt +T打开的就是ubuntu的默认终端了

二、运行小海龟仿真器测试ROS是否安装成功

  1. 打开一个终端,启动ROS master
roscore

在这里插入图片描述

  1. 打开新的终端,运行turtlesim功能包下的turtlesim_node节点,启动小海龟仿真界面
rosrun turtlesim turtlesim_node

在这里插入图片描述

  1. 打开新的终端,运行turtlesim功能包下的turtle_teleop_key节点,使用键盘控制小海龟运动
rosrun turtlesim turtle_teleop_key

在这里插入图片描述

三、创建ROS工作空间

  1. 创建工作空间
mkdir -p workspace_name/src
cd workspace_name/src
catkin_init_workspace
cd ..
catkin_make

运行catkin_make命令后,会在src目录下创建一个CMakeLists.txt文件,并且会在工作空间目录下创建build和devel两个目录。

  1. 将创建的工作空间添加到ROS环境变量
source devel/setup.bash

查看ROS环境变量,可以发现新创建的工作空间目录已经添加到了环境变量中,并且在最前面。这一步很重要,不执行source的话,在工作空间中创建的功能包会无法运行。

echo ${ROS_PACKAGE_PATH}
  1. 创建ROS功能包
cd src/
catkin_create_pkg package_name [dependency1] [dependency2] ...

四、VSCode搭建ROS开发环境

为方便的ROS代码编写和编译、运行,可以在VSCode开发环境中配置ROS来进行开发。

  1. 安装VSCode
sudo dpkg -i ./code_1.73.1-1667967334_amd64.deb
  1. 安装ROS插件和catkin-tools插件
    在这里插入图片描述

在这里插入图片描述
3. 用VSCode打开创建的工作空间

cd ~/workspace_name
code .

打开工作空间后,可以看到自动生成了两个.json文件
在这里插入图片描述

c_cpp_properties.json:重要参数是includePath,用于添加头文件路径
settings.json:主要用于Python编程的相关配置

  1. VSCode编译配置

按快捷键Ctrl + Shift + B,在弹出的下拉菜单中选择"catkin_make: build",就可以执行catkin_make命令对ROS工作空间进行编译,但是这样每次都要手动选择。可以在出现下拉菜单后,点击"catkin_make: build"选项后面的小齿轮创建tasks.json文件,并将其中的"group"标签修改为认下内容:
在这里插入图片描述
这样就将"catkin_make"设置为默认build选项,此时再按Ctrl + Shift + B快捷键就可以直接运行catkin_make命令进行编译了。

  1. 创建ROS功能包

在工作空间的"src"目录下右键 ==> 选择"Create Catkin Package" == > 分别输入功能包名和依赖项,在工作空间的src目录下创建了一个hello_ros目录,其目录结构如下:
在这里插入图片描述
可以看到,创建功能包时指定的依赖项已经写入了package.xml配置文件和CMakeLists.txt文件。

  1. 编写功能包代码并运行
  • 在功能包目录下的src目录下创建hello_ros.cpp源文件,编写如下代码:
#include <ros/ros.h>

int main(int argc, char* argv[]) {
    ros::init(argc, argv, "hello_ros");

    ROS_INFO("Hello ROS!");

    return 0;
}
  • 修改CMakeLists.txt文件
add_executable(hello_ros src/hello_ros.cpp)
target_link_libraries(hello_ros ${catkin_LIBRARIES})
  • Ctrl + Shift + B 编译代码
    在这里插入图片描述
  • 运行ROS功能包

方法一: 直接在终端中输入命令运行
(1) 打开一个终端,输入roscore启动ROS master
(2) 重新打开一个终端,输入rosrun hello_ros hello_ros运行功能包。
需要注意的是,如果使用ubuntu系统下的终端,在运行功能包之前,需要先运行以下命令将当前工作空间添加到ROS环境变量中

cd ~/workspace_name
source devel/setup.bash  # 添加环境变量
rosrun hello_ros hello_ros  # 运行功能包

如果使用VSCode里的终端,可以不用添加环境变量,直接运行功能包即可。

方法二: 通过VSCode快捷键运行
(1) 按快捷键Ctrl + Shift + P,在搜索框中输入ros,选择"ROS: start"启动ROS master
(2) 按快捷键Ctrl + Shift + P,在搜索框中输入ros,选择"ROS: Run a ROS executable (rosrun)"运行功能包
在这里插入图片描述
这里笔者觉得直接使用终端运行更加方便,使用VSCode提供的快捷键反而比较麻烦。

五、ROS卸载

sudo apt purge ros-*
sudo apt autoremove  # 谨慎使用

参考
[1] Ubuntu18.04安装Terminator后切换回默认终端
[2] ROS集成开发环境搭建
[3] 【ROS】VSCODE + ROS 配置方法(保姆级教程,总结了多篇)

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值