1. ROS环境搭建与工作空间配置
任务目标
在Ubuntu 20.04上安装ROS Noetic,创建catkin工作空间,并通过运行roscore和示例节点验证ROS核心功能正常。
环境依赖
- Ubuntu 20.04(64位)
- 已配置好软件源,可正常访问网络
安装ROS Noetic
依次执行以下命令完成ROS Noetic安装:
# 1. 添加ROS软件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# 2. 添加密钥
sudo apt install curl -y
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
# 3. 更新软件源
sudo apt update
# 4. 安装完整桌面版(包含rviz、gazebo等常用工具)
sudo apt install ros-noetic-desktop-full -y
# 5. 初始化rosdep
sudo rosdep init
rosdep update
# 6. 配置环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
# 7. 安装构建依赖
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential -y
创建catkin工作空间
# 创建工作空间目录结构
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
# 初始化工作空间(此时src目录下会生成CMakeLists.txt链接文件)
catkin_init_workspace
# 编译工作空间
cd ~/catkin_ws
catkin_make
# 将工作空间环境变量加入bashrc
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
验证ROS核心功能
通过以下三个步骤验证ROS环境是否正常工作:
# 1. 启动ROS Master(需保持终端运行)
roscore
# 2. 另开终端,运行ROS内置的turtlesim小乌龟节点
rosrun turtlesim turtlesim_node
# 3. 再开一个终端,发布运动指令控制小乌龟移动
rosrun turtlesim turtle_teleop_key
验证方法与判定标准
- roscore启动成功:终端显示
started core service [/rosout],无报错退出。 - turtlesim节点运行:弹出蓝色窗口并显示一只小乌龟图形。
- 键盘控制生效:在运行
turtle_teleop_key的终端中按方向键,小乌龟在窗口中移动。 - 节点列表检查(可选):在第三个终端执行
rosnode list,应看到/rosout、/turtlesim、/teleop_turtle三个节点。
以上条件全部满足,说明ROS Noetic安装正确、catkin工作空间配置成功、ROS核心通信功能正常。
常见问题
- sudo rosdep init报错:若提示已存在,可跳过该命令直接执行
rosdep update。 - catkin_make找不到命令:确认已安装
ros-noetic-catkin(desktop-full已包含),并执行过source /opt/ros/noetic/setup.bash。 - roscore启动失败:检查8080端口是否被占用,或执行
killall -9 roscore rosmaster后重试。