跳转至

ROS

机器人操作系统学习笔记,涵盖 ROS1 / ROS2 及 Linux 基础。


ROS 概览

特性 ROS1 (Noetic) ROS2 (Humble / Jazzy)
通信中间件 自研 TCPROS / UDPROS DDS(Data Distribution Service)
多机器人 需手动配置 原生支持
实时性 不支持 支持(配合 RTOS)
生命周期节点
Python 版本 Python 2/3 Python 3
构建工具 catkin colcon
推荐 Ubuntu 20.04 22.04 / 24.04

Linux 常用命令速查

文件与目录

命令 说明 示例
ls -la 列出所有文件(含隐藏) ls -la ~/catkin_ws/src/
cd 切换目录 cd ~/catkin_ws
pwd 显示当前路径
mkdir -p 递归创建目录 mkdir -p src/my_pkg/launch
cp -r 递归复制 cp -r pkg_a/ pkg_b/
mv 移动 / 重命名 mv old.py new.py
rm -rf 强制递归删除 rm -rf build/ devel/
find 查找文件 find . -name "*.launch"
tree -L 2 树形展示目录(2层) tree -L 2 src/

文本处理

命令 说明 示例
cat 查看文件内容 cat CMakeLists.txt
head -n 20 查看前 20 行 head -n 20 log.txt
tail -f 实时追踪日志 tail -f ~/.ros/log/latest/rosout.log
grep -rn 递归搜索关键词 grep -rn "subscriber" src/
nano / vim 终端编辑器 nano config.yaml

权限与用户

命令 说明 示例
chmod +x 添加可执行权限 chmod +x scripts/run.py
chown 修改所有者 chown -R $USER:$USER ~/ws/
sudo 以管理员身份执行 sudo apt install ros-humble-...

系统与进程

命令 说明 示例
ps aux \| grep ros 查找 ROS 进程
kill -9 <PID> 强制终止进程
htop 交互式进程监控
df -h 查看磁盘空间
free -h 查看内存使用
uname -a 查看系统信息
lsb_release -a 查看 Ubuntu 版本

网络(多机通信常用)

命令 说明 示例
ifconfig / ip a 查看 IP 地址
ping 测试网络连通性 ping 192.168.1.100
ssh 远程登录 ssh user@192.168.1.100
scp 远程拷贝文件 scp file.bag user@host:~/
export ROS_MASTER_URI 设置 ROS1 主节点地址 export ROS_MASTER_URI=http://192.168.1.100:11311
export ROS_IP 设置本机 IP export ROS_IP=192.168.1.50

包管理

sudo apt update                          # 更新软件源
sudo apt install <package>               # 安装软件包
sudo apt remove <package>                # 卸载
dpkg -l | grep ros                       # 查看已安装的 ROS 包
sudo dpkg -i 你的安装包名称.deb           # 安装已经下载好的软件
pip install <package>                    # Python 包安装

Shell 环境

source ~/.bashrc                         # 重新加载配置
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc   # 写入环境变量
alias cb='cd ~/colcon_ws && colcon build' # 自定义快捷命令
export | grep ROS                        # 查看 ROS 相关环境变量