13天前
#!/bin/bash
# ROS Noetic 扩展功能一键安装脚本
# 功能:自动安装导航、感知、可视化等ROS扩展包及系统依赖
# 适用系统:Ubuntu 20.04 + ROS Noetic
set -e # 遇到错误立即退出
# 1. 检查系统环境
if ! lsb_release -d | grep -q "Ubuntu 20.04"; then
echo "错误:该脚本仅适用于Ubuntu 20.04系统!"
exit 1
fi
if ! command -v roscore &> /dev/null; then
echo "错误:未检测到ROS Noetic安装,请先安装ROS基础环境!"
exit 1
fi
# 2. 更新软件源
echo -e "\n\033[36m[1/3] 更新软件源...\033[0m"
sudo apt update
sudo apt upgrade -y
# 3. 安装ROS核心扩展包
echo -e "\n\033[36m[2/3] 安装ROS扩展包...\033[0m"
sudo apt install -y \
ros-noetic-jsk-recognition-msgs \
ros-noetic-jsk-rviz-plugins \
ros-noetic-grid-map-cv \
ros-noetic-grid-map-ros \
ros-noetic-nmea-msgs \
ros-noetic-nmea-navsat-driver \
ros-noetic-automotive-navigation-msgs \
ros-noetic-automotive-platform-msgs \
ros-noetic-velodyne-pointcloud \
ros-noetic-qpoases-vendor \
ros-noetic-velodyne-description
# 4. 安装系统级依赖库
echo -e "\n\033[36m[3/3] 安装系统依赖库...\033[0m"
sudo apt install -y \
libpugixml-dev \
libgeographic-dev \
geographiclib-tools \
libglew-dev
# 5. 验证安装
echo -e "\n\033[32m安装完成!验证关键包...\033[0m"
for pkg in jsk-recognition-msgs velodyne-pointcloud grid-map-ros; do
if ! dpkg -l | grep -q "ros-noetic-$pkg"; then
echo "警告:ros-noetic-$pkg 可能未安装成功"
else
echo "已确认安装:ros-noetic-$pkg"
fi
done
# 6. 可选:配置GeographicLib数据集(用于地理定位)
echo -e "\n是否需要安装GeographicLib数据集?(y/n)"
read -r answer
if [ "$answer" = "y" ]; then
sudo geographiclib-get-all-datasets
echo "GeographicLib数据集已安装"
fi
echo -e "\n\033[32m所有操作已完成!建议重启终端使环境变量生效。\033[0m"
评论于:SLAM简介