C++与Qt实战:智能组卷考试系统开发全解析
2026/7/18 15:42:40
本文将详细介绍如何在Ubuntu系统上安装和配置ROS1开发环境,为后续的SLAM实践做好准备。
| ROS版本 | Ubuntu版本 | 支持状态 |
|---|---|---|
| Noetic | Ubuntu 20.04 | 推荐(最后的ROS1版本) |
| Melodic | Ubuntu 18.04 | 维护中 |
| Kinetic | Ubuntu 16.04 | 已停止支持 |
推荐配置:Ubuntu 20.04 + ROS Noetic
从Ubuntu官网或国内镜像站下载ISO文件:
使用Rufus(Windows)或dd命令(Linux)制作USB启动盘:
# Linux下制作启动盘sudoddif=ubuntu-20.04.6-desktop-amd64.isoof=/dev/sdXbs=4Mstatus=progress/boot:512MBswap:等于内存大小/:剩余空间# 添加ROS软件源sudosh-c'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'# 使用国内镜像源(推荐)sudosh-c'echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'# 方法1:使用curlcurl-shttps://raw.githubusercontent.com/ros/rosdistro/master/ros.asc|sudoapt-keyadd-# 方法2:如果上面失败,尝试sudoapt-key adv--keyserver'hkp://keyserver.ubuntu.com:80'--recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654# 更新软件包列表sudoaptupdate# 安装完整桌面版(推荐)sudoaptinstallros-noetic-desktop-full# 或者只安装基础版# sudo apt install ros-noetic-ros-base# 安装依赖工具sudoaptinstallpython3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential# 初始化rosdepsudorosdep init rosdep update如果rosdep init失败,可以手动创建:
# 手动创建20-default.list文件sudomkdir-p/etc/ros/rosdep/sources.list.dsudocurl-o/etc/ros/rosdep/sources.list.d/20-default.list https://mirrors.tuna.tsinghua.edu.cn/github-raw/ros/rosdistro/master/rosdep/sources.list.d/20-default.list# 修改rosdep源exportROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml rosdep update# 将ROS环境添加到bashrcecho"source /opt/ros/noetic/setup.bash">>~/.bashrcsource~/.bashrc# 验证安装rosversion-d# 输出:noetic# 创建工作空间目录mkdir-p~/catkin_ws/srccd~/catkin_ws/# 初始化工作空间catkin_make# 或使用catkin build(需要先安装catkin_tools)# sudo apt install python3-catkin-tools# catkin build# 添加工作空间环境到bashrcecho"source ~/catkin_ws/devel/setup.bash">>~/.bashrcsource~/.bashrc# 验证工作空间echo$ROS_PACKAGE_PATH# 输出应包含:/home/用户名/catkin_ws/src:/opt/ros/noetic/share# 导航功能包sudoaptinstallros-noetic-navigation# TF变换sudoaptinstallros-noetic-tf2-ros ros-noetic-tf2-tools# 可视化工具sudoaptinstallros-noetic-rviz# 仿真工具sudoaptinstallros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-control# Gmappingsudoaptinstallros-noetic-gmapping# Cartographersudoaptinstallros-noetic-cartographer ros-noetic-cartographer-ros# Hector SLAMsudoaptinstallros-noetic-hector-slam# AMCL定位sudoaptinstallros-noetic-amcl# 地图服务sudoaptinstallros-noetic-map-server# 机器人模型描述sudoaptinstallros-noetic-urdf ros-noetic-xacro# 键盘控制sudoaptinstallros-noetic-teleop-twist-keyboard# RQT工具集sudoaptinstallros-noetic-rqt ros-noetic-rqt-common-plugins# rosbag数据记录sudoaptinstallros-noetic-rosbag# 终端1:启动ROS Masterroscore# 终端2:查看节点列表rosnode list# 输出:/rosout# 终端3:发布测试消息rostopic pub /test std_msgs/String"data: 'Hello ROS'"# 终端2:订阅测试消息rostopicecho/test# 启动RVizrviz如果RViz正常启动并显示界面,说明安装成功。
# 终端1:启动小乌龟仿真rosrun turtlesim turtlesim_node# 终端2:键盘控制rosrun turtlesim turtle_teleop_key问题:ERROR: cannot download default sources list
解决方案:
# 使用代理或手动下载# 参考3.4节的手动创建方法问题:roscore: command not found
解决方案:
# 确保source了ROS环境source/opt/ros/noetic/setup.bash# 检查是否添加到bashrcgrep"ros"~/.bashrc问题:编译时出现依赖错误
解决方案:
# 安装依赖cd~/catkin_ws rosdepinstall--from-paths src --ignore-src-r-y# 清理后重新编译catkin_make clean catkin_make问题:RViz显示黑屏或崩溃
解决方案:
# 安装显卡驱动sudoubuntu-drivers autoinstall# 或者使用软件渲染exportLIBGL_ALWAYS_SOFTWARE=1rviz问题:多机通信时节点无法发现
解决方案:
# 设置ROS_MASTER_URI和ROS_IPexportROS_MASTER_URI=http://主机IP:11311exportROS_IP=本机IP# 添加到bashrc持久化echo"export ROS_MASTER_URI=http://主机IP:11311">>~/.bashrcecho"export ROS_IP=本机IP">>~/.bashrc# 安装VS Codesudosnapinstallcode--classic# 安装ROS扩展code --install-extension ms-iot.vscode-ros code --install-extension ms-vscode.cpptools code --install-extension ms-python.python创建.vscode/c_cpp_properties.json:
{"configurations":[{"name":"Linux","includePath":["${workspaceFolder}/**","/opt/ros/noetic/include/**","/usr/include/**"],"defines":[],"compilerPath":"/usr/bin/gcc","cStandard":"c17","cppStandard":"c++17","intelliSenseMode":"linux-gcc-x64"}],"version":4}# 安装terminator多终端sudoaptinstallterminator# 安装gitsudoaptinstallgit# 安装htop系统监控sudoaptinstallhtop安装完成后,确认以下项目:
rosversion -d输出noeticecho $ROS_PACKAGE_PATH包含工作空间路径roscore能正常启动rviz能正常显示rosrun turtlesim turtlesim_node能正常运行rospack find gmapping)本文详细介绍了ROS Noetic在Ubuntu 20.04上的安装配置过程,包括:
环境搭建完成后,我们就可以开始进行SLAM实践了。下一篇文章将介绍激光雷达等传感器的配置方法。
系列导航:
版权声明:本文为原创文章,转载请注明出处