ROS云课基础篇-01-Linux-250529

ROS云课基础篇收到了很多反馈,正面评价比例高,还有很多朋友反馈需要写更具体一点。 

ROS云课基础篇极简复习-C++、工具、导航、巡逻一次走完-优快云博客 

于是,有了这篇以及之后的案例,案例均已经测试过8年,但没有在博客公开。

截止250529博客已经公开内容不足开发全部教程的3%,后续力争达到10%,以点带面。

自主探索最为关键。

博客仅供参考,其实看不看都无所谓的。

时间有限,写得稀巴烂,非常非常抱歉。



ROS Kinetic工作空间(catkin_ws)详细实验流程(基于Zsh)

一、实验目标

通过实践掌握ROS Kinetic工作空间的创建、编译、包管理及环境配置,结合Zsh特性与Bash脚本自动化备份,形成完整的ROS开发环境搭建能力。


二、实验环境

  • 操作系统:Ubuntu 16.04 LTS
  • ROS版本:ROS Kinetic Kame
  • Shell环境:Zsh(需替代默认Bash)
  • 工具catkin_makeoh-my-zsh(可选)、treesshaptsudo

三、实验步骤与结果

1. 安装并配置Zsh

1.1 安装Zsh
# 安装Zsh
sudo apt update
sudo apt install zsh -y

# 验证安装
zsh --version

bash

# 安装Zsh
sudo apt update
sudo apt install zsh -y
# 验证安装
zsh --version

 

1.2 安装Oh-My-Zsh(可选,增强体验)
 

bash

# 通过curl安装Oh-My-Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 或通过wget安装
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
1.3 设置Zsh为默认Shell
 

bash

# 修改默认Shell为Zsh
chsh -s $(which zsh)
# 重新登录或重启终端使配置生效

2. 创建并初始化ROS工作空间

2.1 创建工作空间目录结构
 

zsh

# 创建工作空间顶级目录
mkdir -p ~/catkin_ws/src
# 进入src目录并初始化工作空间
cd ~/catkin_ws/src
catkin_init_workspace
# 返回工作空间根目录
cd ~/catkin_ws
# 编译工作空间(生成build和devel目录)
catkin_make
2.2 验证工作空间结构
 

zsh

# 安装tree工具(若未安装)
sudo apt install tree -y
# 查看工作空间目录结构
tree -L 2

预期输出


~/catkin_ws
├── build
│ ├── CMakeCache.txt
│ ├── CMakeFiles/
│ └── Makefile
├── devel
│ ├── env.sh
│ ├── setup.zsh # 注意:Zsh下自动生成setup.zsh
│ └── lib/
└── src
├── CMakeLists.txt
└── (空或已有ROS包)

3. 创建ROS功能包

3.1 使用catkin_create_pkg创建包
 

zsh

# 进入src目录
cd ~/catkin_ws/src
# 创建名为my_package的包,依赖roscpp、rospy、std_msgs
catkin_create_pkg my_package roscpp rospy std_msgs
3.2 验证包结构
 

zsh

tree ~/catkin_ws/src/my_package

预期输出

 

~/catkin_ws/src/my_package
├── CMakeLists.txt
├── include/
│ └── my_package/
├── package.xml
└── src/

4. 编译工作空间

 

zsh

# 返回工作空间根目录并编译
cd ~/catkin_ws
catkin_make
# 刷新环境变量(临时生效)
source devel/setup.zsh # 使用setup.zsh而非setup.bash
# 永久生效(添加到.zshrc)
echo "source ~/catkin_ws/devel/setup.zsh" >> ~/.zshrc
source ~/.zshrc
4.1 验证环境变量
 

zsh

echo $ROS_PACKAGE_PATH

预期输出

 

/home/user/catkin_ws/src:/opt/ros/kinetic/share

5. 编写并运行ROS节点

5.1 创建Python节点
 

zsh

# 进入包的scripts目录
mkdir -p ~/catkin_ws/src/my_package/scripts
cd ~/catkin_ws/src/my_package/scripts
# 创建Python脚本
gedit talker.py &

脚本内容(同Bash版本):

 

python

#!/usr/bin/env python
import rospy
from std_msgs.msg import String
def talker():
pub = rospy.Publisher('chatter', String, queue_size=10)
rospy.init_node('talker', anonymous=True)
rate = rospy.Rate(10)
while not rospy.is_shutdown():
hello_str = "hello world %s" % rospy.get_time()
rospy.loginfo(hello_str)
pub.publish(hello_str)
rate.sleep()
if __name__ == '__main__':
try:
talker()
except rospy.ROSInterruptException:
pass
5.2 添加执行权限并运行
 

zsh

chmod +x talker.py
# 启动roscore
roscore &
# 在新终端中运行节点
rosrun my_package talker.py

6. 编写Zsh脚本自动化备份

6.1 创建备份脚本
 

zsh

# 进入scripts/backup目录
mkdir -p ~/catkin_ws/src/scripts/backup
cd ~/catkin_ws/src/scripts/backup
# 创建备份脚本
gedit backup_kinetic.zsh &

脚本内容(Zsh与Bash语法兼容):

 

zsh

#!/bin/zsh
# ROS Kinetic备份脚本
set -euo pipefail
ROS_WS_DIR="$HOME/catkin_ws"
BACKUP_DIR="/var/backups/ros_kinetic"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
mkdir -p "$BACKUP_DIR"
tar --exclude='./build' --exclude='./devel' -czf "$BACKUP_DIR/ros_kinetic_$TIMESTAMP.tar.gz" "$ROS_WS_DIR"
echo "ROS Kinetic工作空间已备份至:$BACKUP_DIR"
6.2 添加执行权限并测试
 

zsh

chmod +x backup_kinetic.zsh
./backup_kinetic.zsh

7. 配置.zshrc与进程管理

7.1 自定义.zshrc
 

zsh

gedit ~/.zshrc &

添加内容

 

zsh

# ROS Kinetic环境变量
source /opt/ros/kinetic/setup.zsh # 使用setup.zsh而非setup.bash
source ~/catkin_ws/devel/setup.zsh
# 自定义别名
alias cdw='cd ~/catkin_ws'
alias cds='cd ~/catkin_ws/src'
alias rosbackup='~/catkin_ws/src/scripts/backup/backup_kinetic.zsh'
# 修改命令提示符(Oh-My-Zsh主题可简化配置)
# 示例:使用agnoster主题(需安装Powerline字体)
ZSH_THEME="agnoster"
# 启用插件(如git、zsh-autosuggestions)
plugins=(git zsh-autosuggestions)
7.2 进程管理
# 查看ROS进程
ps aux | grep roscore  

# 终止进程(假设PID为1234)
kill -9 1234

 zsh

 

# 查看ROS进程
ps aux | grep roscore
# 终止进程(假设PID为1234)
kill -9 1234

8. 使用SSH远程管理

8.1 配置SSH服务
 

zsh

sudo apt install openssh-server -y
sudo service ssh start
# 生成SSH密钥对
ssh-keygen -t rsa -b 4096
# 将公钥复制到远程服务器(假设IP为192.168.1.100)
ssh-copy-id -i ~/.ssh/id_rsa.pub user@192.168.1.100
# 测试SSH连接
ssh user@192.168.1.100

9. 软件包管理

9.1 安装ROS Kinetic软件包
 

zsh

sudo apt update
sudo apt install ros-kinetic-rviz ros-kinetic-turtlesim -y

四、实验总结

  1. Zsh环境配置
    • 安装并设置Zsh为默认Shell,可选安装Oh-My-Zsh增强体验。
    • ROS Kinetic自动生成setup.zsh,需在.zshrc中加载。
  2. 工作空间创建
    • 通过catkin_init_workspacecatkin_make完成初始化与编译。
  3. 包管理
    • 使用catkin_create_pkg创建功能包,并通过catkin_make编译。
  4. 节点开发
    • 编写Python节点并通过rosrun运行。
  5. 自动化备份
    • Zsh脚本结合tar命令实现ROS工作空间备份。
  6. 环境配置
    • 通过.zshrc自定义终端行为,简化开发流程。
  7. 远程管理
    • SSH密钥认证提升安全性。
  8. 软件包管理
    • apt统一管理ROS Kinetic依赖。

五、实验扩展

  1. Zsh插件推荐

    • zsh-autosuggestions:命令行自动补全。
    • zsh-syntax-highlighting:语法高亮。
  2. 定时备份

     

    zsh

    # 编辑crontab
    crontab -e
    # 添加每日凌晨2点备份任务
    0 2 * * * /home/user/catkin_ws/src/scripts/backup/backup_kinetic.zsh >> /var/log/ros_backup.log 2>&1
  3. 多节点通信
    结合rostopicrosservice实现节点间通信。

  4. 依赖解析
    使用rosdep自动安装依赖项。


通过本实验,系统掌握了ROS Kinetic工作空间的创建、编译、包管理及自动化开发流程,并熟悉了Zsh环境下的高效开发配置。


bash-zsh

ROS Kinetic工作空间(catkin_ws)详细实验流程

一、实验目标

通过实践掌握ROS Kinetic工作空间的创建、编译、包管理及环境配置,结合Bash脚本自动化备份与进程管理,形成完整的ROS开发环境搭建能力。


二、实验环境

  • 操作系统:Ubuntu 16.04 LTS
  • ROS版本:ROS Kinetic Kame
  • 工具catkin_makegedittreesshaptsudo

三、实验步骤与结果

1. 创建并初始化ROS工作空间

1.1 创建工作空间目录结构
 

bash

# 创建工作空间顶级目录
mkdir -p ~/catkin_ws/src
# 进入src目录并初始化工作空间
cd ~/catkin_ws/src
catkin_init_workspace
# 返回工作空间根目录
cd ~/catkin_ws
# 编译工作空间(生成build和devel目录)
catkin_make
1.2 验证工作空间结构
 

bash

# 安装tree工具(若未安装)
sudo apt install tree -y
# 查看工作空间目录结构
tree -L 2

预期输出

 

~/catkin_ws
├── build
│ ├── CMakeCache.txt
│ ├── CMakeFiles/
│ └── Makefile
├── devel
│ ├── env.sh
│ ├── setup.bash
│ └── lib/
└── src
├── CMakeLists.txt
└── (空或已有ROS包)

2. 创建ROS功能包

2.1 使用catkin_create_pkg创建包
 

bash

# 进入src目录
cd ~/catkin_ws/src
# 创建名为my_package的包,依赖roscpp、rospy、std_msgs
catkin_create_pkg my_package roscpp rospy std_msgs
2.2 验证包结构
 

bash

tree ~/catkin_ws/src/my_package

预期输出

 

~/catkin_ws/src/my_package
├── CMakeLists.txt
├── include/
│ └── my_package/
├── package.xml
└── src/

3. 编译工作空间

 

bash

# 返回工作空间根目录并编译
cd ~/catkin_ws
catkin_make
# 刷新环境变量(临时生效)
source devel/setup.bash
# 永久生效(添加到.bashrc)
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
3.1 验证环境变量
 

bash

echo $ROS_PACKAGE_PATH

预期输出

 

/home/user/catkin_ws/src:/opt/ros/kinetic/share

4. 编写并运行ROS节点

4.1 创建Python节点
 

bash

# 进入包的scripts目录
mkdir -p ~/catkin_ws/src/my_package/scripts
cd ~/catkin_ws/src/my_package/scripts
# 创建Python脚本
gedit talker.py &

脚本内容

 

python

#!/usr/bin/env python
import rospy
from std_msgs.msg import String
def talker():
pub = rospy.Publisher('chatter', String, queue_size=10)
rospy.init_node('talker', anonymous=True)
rate = rospy.Rate(10)
while not rospy.is_shutdown():
hello_str = "hello world %s" % rospy.get_time()
rospy.loginfo(hello_str)
pub.publish(hello_str)
rate.sleep()
if __name__ == '__main__':
try:
talker()
except rospy.ROSInterruptException:
pass
4.2 添加执行权限并运行
 

bash

chmod +x talker.py
# 启动roscore
roscore &
# 在新终端中运行节点
rosrun my_package talker.py

5. 编写Bash脚本自动化备份

5.1 创建备份脚本
 

bash

# 进入scripts/backup目录
mkdir -p ~/catkin_ws/src/scripts/backup
cd ~/catkin_ws/src/scripts/backup
# 创建备份脚本
gedit backup_kinetic.sh &

脚本内容

 

bash

#!/bin/bash
# ROS Kinetic备份脚本
set -euo pipefail
ROS_WS_DIR="$HOME/catkin_ws"
BACKUP_DIR="/var/backups/ros_kinetic"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
mkdir -p "$BACKUP_DIR"
tar --exclude='./build' --exclude='./devel' -czf "$BACKUP_DIR/ros_kinetic_$TIMESTAMP.tar.gz" "$ROS_WS_DIR"
echo "ROS Kinetic工作空间已备份至:$BACKUP_DIR"
5.2 添加执行权限并测试
 

bash

chmod +x backup_kinetic.sh
./backup_kinetic.sh

6. 配置.bashrc与进程管理

6.1 自定义.bashrc
 

bash

gedit ~/.bashrc &

添加内容

 

bash

# ROS Kinetic环境变量
source /opt/ros/kinetic/setup.bash
source ~/catkin_ws/devel/setup.bash
# 自定义别名
alias cdw='cd ~/catkin_ws'
alias cds='cd ~/catkin_ws/src'
alias rosbackup='~/catkin_ws/src/scripts/backup/backup_kinetic.sh'
# 修改命令提示符
PS1="\[\e[32;1m\]\u@\h:\w\n\[\e[0;0m\]\$ "
6.2 进程管理
 

bash

# 查看ROS进程
ps aux | grep roscore
# 终止进程(假设PID为1234)
kill -9 1234

7. 使用SSH远程管理

7.1 配置SSH服务
 

bash

sudo apt install openssh-server -y
sudo service ssh start
# 生成SSH密钥对
ssh-keygen -t rsa -b 4096
# 将公钥复制到远程服务器(假设IP为192.168.1.100)
ssh-copy-id -i ~/.ssh/id_rsa.pub user@192.168.1.100
# 测试SSH连接
ssh user@192.168.1.100

8. 软件包管理

8.1 安装ROS Kinetic软件包
 

bash

sudo apt update
sudo apt install ros-kinetic-rviz ros-kinetic-turtlesim -y

四、实验总结

  1. 工作空间创建:通过catkin_init_workspacecatkin_make完成初始化与编译。
  2. 包管理:使用catkin_create_pkg创建功能包,并通过catkin_make编译。
  3. 节点开发:编写Python节点并通过rosrun运行。
  4. 自动化备份:Bash脚本结合tar命令实现ROS工作空间备份。
  5. 环境配置:通过.bashrc自定义终端行为,简化开发流程。
  6. 远程管理:SSH密钥认证提升安全性。
  7. 软件包管理apt统一管理ROS Kinetic依赖。

五、实验扩展

  1. 定时备份:使用cron实现每日自动备份。
  2. 多节点通信:结合rostopicrosservice实现节点间通信。
  3. 依赖解析:使用rosdep自动安装依赖项。

通过本实验,系统掌握了ROS Kinetic工作空间的创建、编译、包管理及自动化开发流程,为机器人开发奠定了坚实基础。


Linux系统操作与自动化实验报告(ROS Kinetic版本)

一、实验目标

本实验通过实践掌握Linux系统基础操作(目录管理、文件编辑、权限控制)、Bash脚本编程、环境变量配置、进程管理、SSH安全连接及软件包管理,结合ROS Kinetic工作空间(catkin_ws)案例进行系统化学习。


二、实验环境

  • 操作系统:Ubuntu 16.04 LTS
  • ROS版本:ROS Kinetic Kame
  • 工具:gedit、tree、ps、ssh、apt、sudo

三、实验步骤与结果

1. 目录与文件操作

1.1 查看ROS工作空间目录结构
 

bash

# 安装tree工具(若未安装)
sudo apt install tree
# 查看catkin_ws目录结构(限制显示深度为2层)
tree -L 2 ~/catkin_ws

预期输出

 

~/catkin_ws
├── build
│ ├── CMakeCache.txt
│ ├── cmake_install.cmake
│ └── Makefile
├── devel
│ ├── env.sh
│ ├── setup.bash
│ └── lib/
└── src
├── CMakeLists.txt
├── package1
└── package2
1.2 导航与创建目录/文件
 

bash

# 进入src目录
cd ~/catkin_ws/src
# 创建嵌套目录(如需备份ROS包)
mkdir -p scripts/backup
# 创建空文件
touch scripts/backup/backup_kinetic.sh
# 使用gedit编辑文件(写入ROS备份命令)
gedit scripts/backup/backup_kinetic.sh & # &表示后台运行gedit

gedit内容示例

 

bash

#!/bin/bash
# ROS Kinetic备份脚本
ROS_WS_DIR="$HOME/catkin_ws"
BACKUP_DIR="/var/backups/ros_kinetic"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
# 创建备份目录
mkdir -p "$BACKUP_DIR"
# 打包ROS工作空间(排除build和devel目录)
tar --exclude='./build' --exclude='./devel' -czf "$BACKUP_DIR/ros_kinetic_$TIMESTAMP.tar.gz" "$ROS_WS_DIR"
echo "ROS Kinetic工作空间已备份至:$BACKUP_DIR"

2. 文件权限管理

2.1 查看与修改权限
 

bash

# 查看backup_kinetic.sh的当前权限
ls -l ~/catkin_ws/src/scripts/backup/backup_kinetic.sh
# 添加所有者执行权限
chmod u+x ~/catkin_ws/src/scripts/backup/backup_kinetic.sh
# 修改权限为755(所有者可读写执行,组用户和其他用户可读执行)
chmod 755 ~/catkin_ws/src/scripts/backup/backup_kinetic.sh
2.2 权限说明
  • 权限类型
    • r(4):读取权限
    • w(2):写入权限
    • x(1):执行权限
  • 用户组
    • u:所有者(User)
    • g:组用户(Group)
    • o:其他用户(Others)
  • 示例chmod 755 file 等价于 chmod u=rwx,g=rx,o=rx file

3. Bash脚本编程

3.1 编写ROS备份脚本
 

bash

#!/bin/bash
# ROS Kinetic自动化备份脚本
set -euo pipefail # 错误处理:遇到错误立即退出
# 配置参数
ROS_WS_DIR="$HOME/catkin_ws"
BACKUP_DIR="/var/backups/ros_kinetic"
LOG_FILE="$BACKUP_DIR/backup.log"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
# 创建日志目录
mkdir -p "$BACKUP_DIR"
# 记录日志函数
log() {
echo "[$(date +'%Y-%m-%d %H:%M:%S')] $1" >> "$LOG_FILE"
}
# 执行备份
log "开始备份ROS Kinetic工作空间..."
tar --exclude='./build' --exclude='./devel' -czf "$BACKUP_DIR/ros_kinetic_$TIMESTAMP.tar.gz" "$ROS_WS_DIR"
log "备份完成:$BACKUP_DIR/ros_kinetic_$TIMESTAMP.tar.gz"
3.2 运行脚本与参数传递
 

bash

# 直接运行脚本
~/catkin_ws/src/scripts/backup/backup_kinetic.sh
# 模拟参数传递(需修改脚本支持getopts)
# 修改脚本头部添加参数解析:
while getopts "v" opt; do
case $opt in
v) VERBOSE=true ;;
*) echo "用法: $0 [-v]" ;;
esac
done
# 调用时:
bash ~/catkin_ws/src/scripts/backup/backup_kinetic.sh -v # 启用详细模式

4. 环境变量与.bashrc配置

4.1 查看与修改环境变量
 

bash

# 临时添加ROS Kinetic路径到PATH
export PATH="$HOME/catkin_ws/devel/bin:$PATH"
# 查看当前PATH
echo $PATH
# 过滤包含ROS的环境变量
env | grep "ROS"
4.2 自定义.bashrc
 

bash

# 编辑.bashrc文件
gedit ~/.bashrc &
# 添加以下内容到文件末尾:
# ROS Kinetic环境变量
source /opt/ros/kinetic/setup.bash
source ~/catkin_ws/devel/setup.bash
# 自定义别名
alias ll='ls -lh'
alias cdw='cd ~/catkin_ws'
alias cds='cd ~/catkin_ws/src'
# 修改命令提示符
PS1="\[\e[32;1m\]\u@\h:\w\n\[\e[0;0m\]\$ "
# 使修改生效
source ~/.bashrc

5. 进程管理

5.1 查看与控制ROS进程
 

bash

# 查看所有roslaunch进程
ps aux | grep roslaunch
# 终止指定PID的进程
kill -9 12345 # 替换为实际PID
# 暂停与恢复进程(需先通过Ctrl+Z暂停)
jobs # 查看后台任务
bg %1 # 恢复任务1到后台
fg %1 # 将任务1恢复到前台

6. SSH安全连接

6.1 配置SSH服务
 

bash

# 安装SSH服务
sudo apt install openssh-server
# 启动SSH服务
sudo service ssh start
# 检查SSH状态
sudo service ssh status
# 生成SSH密钥对
ssh-keygen -t rsa -b 4096 # 生成高强度密钥
# 将公钥复制到远程服务器(假设IP为192.168.1.100)
ssh-copy-id -i ~/.ssh/id_rsa.pub user@192.168.1.100
# 免密登录测试
ssh user@192.168.1.100

7. 软件包管理

7.1 使用apt管理ROS Kinetic软件包
 

bash

# 更新软件包列表
sudo apt update
# 安装ROS Kinetic可视化工具
sudo apt install ros-kinetic-rviz
# 安装ROS Kinetic功能包(如turtlesim)
sudo apt install ros-kinetic-turtlesim
# 卸载软件包
sudo apt remove ros-kinetic-rviz
# 清理无用软件包
sudo apt autoremove

四、实验总结

  1. 目录管理
    • tree命令可视化目录结构,mkdir -p支持多级目录创建。
    • gedit提供图形化编辑,适合脚本开发。
  2. 权限控制
    • chmod通过数字或符号修改权限,确保脚本可执行。
    • 权限管理是系统安全的基础。
  3. 脚本自动化
    • Bash脚本结合错误处理和日志记录,简化重复任务。
    • 支持参数传递,增强灵活性。
  4. 环境配置
    • .bashrc自定义终端行为,export管理环境变量。
    • ROS Kinetic需显式加载环境配置。
  5. 进程管理
    • pskill组合实现进程监控与控制。
    • 合理使用后台任务(bg/fg)提高效率。
  6. SSH安全连接
    • 密钥认证替代密码登录,提升安全性。
    • 适用于远程开发或服务器管理。
  7. 软件包管理
    • apt统一管理ROS Kinetic软件包,简化安装与更新。

五、实验问题与解决

  1. 问题:执行脚本时报“权限不足”。
    解决:使用chmod +x script.sh添加执行权限,或通过bash script.sh直接运行。

  2. 问题:SSH登录时提示“Connection refused”。
    解决:检查SSH服务是否运行(sudo service ssh status),并确认防火墙未阻止22端口。

  3. 问题:ROS命令未找到。
    解决:确保已正确加载ROS环境(source /opt/ros/kinetic/setup.bash)。


六、实验扩展

  1. 定时备份

     

    bash

    # 编辑crontab
    crontab -e
    # 添加每日凌晨2点备份任务
    0 2 * * * /home/user/catkin_ws/src/scripts/backup/backup_kinetic.sh >> /var/log/ros_backup.log 2>&1
  2. ROS节点自动化启动
    在脚本中调用roslaunch命令,例如:

     

    bash

    #!/bin/bash
    source /opt/ros/kinetic/setup.bash
    source ~/catkin_ws/devel/setup.bash
    roslaunch package_name launch_file.launch
  3. 日志轮转
    使用logrotate管理备份日志文件大小和保留周期。


通过本实验,系统掌握了Linux系统操作与自动化工具,结合ROS Kinetic开发环境,为机器人开发及服务器管理提供了完整解决方案。



推荐:

001:

https://automaticaddison.com/the-complete-guide-to-linux-fundamentals-for-robotics/

002:

https://www.lanqiao.cn/courses/854

001:

该网页是一篇关于在Linux系统上使用ROS(机器人操作系统)进行机器人项目开发的基础教程。教程内容涵盖了Linux系统下ROS开发所需的最常用命令和工具,旨在帮助读者快速掌握在Linux环境中进行ROS开发的基本技能。

教程内容概述:
  1. 准备工作
    • 确保在Ubuntu Linux上运行ROS(作者在Windows 10上的虚拟机中运行Ubuntu Linux)。
  2. 探索文件夹层次结构
    • 使用tree命令查看catkin_ws(ROS工作空间)文件夹的层次结构。
    • 学习如何导航到不同文件夹,使用cd命令。
  3. 创建新文件夹和文件
    • 使用mkdir命令创建新文件夹。
    • 使用touch命令创建新文件。
    • 使用gedit文本编辑器打开和编辑文件。
  4. 文件权限
    • 了解Linux中的文件权限(读、写、执行)和用户权限组(所有者、组、所有用户)。
    • 使用chmod命令修改文件权限。
  5. 创建Bash脚本
    • 学习如何编写和运行Bash脚本,以自动化命令执行。
    • 了解如何向Bash脚本传递参数。
  6. 探索.bashrc文件
    • 了解.bashrc文件的作用,它包含在打开新终端时自动运行的命令和配置。
  7. 环境变量
    • 使用export命令查看和修改环境变量。
    • 使用grep命令过滤包含特定字符串的环境变量。
  8. 理解Linux进程
    • 了解Linux中的前台进程和后台进程。
    • 使用ps命令查看当前运行的进程。
    • 学习如何启动、暂停、恢复和终止进程。
  9. 使用SSH协议
    • 了解SSH协议的作用,它提供了通过不安全网络安全访问计算机的方式。
    • 学习如何在Ubuntu Linux和Raspberry Pi之间设置SSH连接。
  10. 探索“sudo”和“apt”命令
    • 了解sudo命令的作用,它允许用户以超级用户权限运行命令。
    • 使用apt命令更新软件包列表和安装软件。

002:

蓝桥云课的ROS教程提供了ROS1(Kinetic版本)和ROS2(Ardent版本)的综合介绍,具有大量官方制定的教程源码和定制化学习方案。结合上述Linux基础教程,读者可以更全面地掌握在Linux系统上进行ROS开发所需的技能。

  • ROS环境配置:蓝桥云课教程详细介绍了如何在Linux上配置ROS环境,这与AutomaticAddison教程中的准备工作相呼应。
  • ROS项目实践:通过蓝桥云课的教程源码,读者可以在掌握Linux基础命令和工具后,进一步实践ROS项目的开发,加深对ROS的理解和应用能力。
  • 综合学习体验:结合两个教程,读者可以从Linux基础到ROS高级应用,逐步构建起完整的机器人开发知识体系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangrelay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值