补充描述文档

This commit is contained in:
张梦南 2025-07-03 12:39:16 +00:00
parent 9b993cec9d
commit e2d74764b0

View File

@ -1,11 +1,11 @@
# <p align="center">ROS_Learn</p> # <p align="center">ROS_Learn</p>
## 实验一 ## 实验一
### ROS-noetic安装应用于Ubuntu20.04lts<br>最好全程使用root权限 ### ROS-noetic安装应用于Ubuntu20.04LTS<br>最好全程使用root权限
切换ubuntu软件源访问清华源来提升下载速度。 切换ubuntu软件源访问清华源来提升下载速度。
```c ```c
sudo vim /etc/apt/sources.list # 进入apt下载源文件 sudo vim /etc/apt/sources.list # 进入apt下载源文件
``` ```
删除所有ubuntu官方源最好提前备份以下文件避免操作失误无法恢复添加清华源 删除所有ubuntu官方源最好提前备份以下文件避免操作失误无法恢复添加清华源
```c ```c
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
@ -29,34 +29,34 @@ vim中按`Esc`退出编辑模式,按`Shift+`进入命令输入模式输入`
```c ```c
sudo sh -c 'echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros-latest.list' sudo sh -c 'echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros-latest.list'
``` ```
设置密钥 设置apt密钥
```c ```c
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-keys 6A030B21B4D2B67B sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-keys 6A030B21B4D2B67B
``` ```
更新软件源 更新apt软件源
```c ```c
sudo apt update sudo apt update
``` ```
安装ROS-noetic适用于Ubuntu20.04Lts 安装ROS-noetic适用于Ubuntu20.04Lts
```c ```c
sudo apt install ros-noetic-desktop-full sudo apt install ros-noetic-desktop-full
``` ```
初始化 rosdep 初始化 rosdep
```c ```c
sudo rosdep init sudo rosdep init
rosdep update rosdep update
``` ```
配置环境变量 配置环境变量
```c ```c
source /opt/ros/noetic/setup.bash source /opt/ros/noetic/setup.bash
source ~/.bashrc source ~/.bashrc
``` ```
安装ROS-python3工具包 安装ROS-python3工具包
```c ```c
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool
sudo apt install build-essential sudo apt install build-essential
``` ```
环境配置检测,配置无误的话可无需运行 环境配置检测,配置无误的话可无需运行
```c ```c
# 确保环境配置 # 确保环境配置
source /opt/ros/noetic/setup.bash source /opt/ros/noetic/setup.bash
@ -68,40 +68,48 @@ sudo apt install --reinstall ros-noetic-desktop-full
dpkg -l | grep ros-noetic-roslaunch dpkg -l | grep ros-noetic-roslaunch
# 若roslaunch以安装则无需执行下条命令 # 若roslaunch以安装则无需执行下条命令
sudo apt install ros-noetic-roslaunch sudo apt install ros-noetic-roslaunch
```
常用命令。
```c
# 将路径换为文件/文件夹路径,赋予文件/文件夹可执行权限 # 将路径换为文件/文件夹路径,赋予文件/文件夹可执行权限
chmod +x /路径 chmod +x /路径
# 将文件/文件夹可编辑权限赋予某用户 # 将文件/文件夹可编辑权限赋予某用户
sudo chown -R 用户名:用户名 /路径 sudo chown -R 用户名:用户名 /路径
# 停止roscore命令
ps aux | grep roscore
kill -9 <PID>
``` ```
#### 启动roscore 启动roscore
```c ```c
roscore roscore
``` ```
启动小乌龟 启动小乌龟
```c ```c
rosrun turtlesim turtlesim_node rosrun turtlesim turtlesim_node
``` ```
控制小乌龟(新终端窗口打开) 控制小乌龟(新终端窗口打开)
```c ```c
rosrun turtlesim turtle_teleop_key rosrun turtlesim turtle_teleop_key
``` ```
创建工作空间 ### 结果图
终端运行结果:<br>
![小乌龟](/Pictures/Turtle.png#pic_center)
创建工作空间。
```c ```c
mkdir -p src mkdir -p src
catkin_make catkin_make
``` ```
设置 ROS 环境变量 设置 ROS 环境变量
```c ```c
echo "source /文件夹路径/devel/setup.bash" >> ~/.bashrc echo "source /文件夹路径/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc source ~/.bashrc
``` ```
进入 src 目录并创建功能包 进入 src 目录并创建功能包
```c ```c
cd src cd src
catkin_create_pkg Service rospy std_msgs geometry_msgs visualization_msgs message_generation catkin_create_pkg Service rospy std_msgs geometry_msgs visualization_msgs message_generation
``` ```
创建结构和放置文件 创建结构和放置文件
```c ```c
cd Service cd Service
mkdir scripts mkdir scripts
@ -110,31 +118,31 @@ mkdir srv
## 实验二 ## 实验二
### ROS中话题通信 ### ROS中话题通信
编译工作空间 编译工作空间
```c ```c
catkin_make catkin_make
``` ```
设置文件可执行权限 设置文件可执行权限
```c ```c
chmod +x /文件路径/程序名.py chmod +x /文件路径/程序名.py
``` ```
添加环境变量(所有新终端窗口要执行下列命令) 添加环境变量(所有新终端窗口要执行下列命令)
```c ```c
source /home/zmn/Gitea/ROS_Learn/devel/setup.bash source /home/zmn/Gitea/ROS_Learn/devel/setup.bash
``` ```
启动roscore终端A 启动roscore终端A
```c ```c
roscore roscore
``` ```
启动订阅端终端B 启动订阅端终端B
```c ```c
rosrun Topic_Newsletter Subscriber_TN.py rosrun Topic_Newsletter Subscriber_TN.py
``` ```
启动发送端终端C 启动发送端终端C
```c ```c
rosrun Topic_Newsletter Publisher_TN.py rosrun Topic_Newsletter Publisher_TN.py
``` ```
启动RViz终端D 启动RViz终端D
```c ```c
rviz rviz
``` ```
@ -147,35 +155,35 @@ RViz图像<br>
![话题通讯2](/Pictures/Topic_Newsletter_two.png#pic_center) ![话题通讯2](/Pictures/Topic_Newsletter_two.png#pic_center)
## 实验三 ## 实验三
### ROS中服务端和客户端 ### ROS中服务端和客户端
编译工作空间 编译工作空间
```c ```c
catkin_make catkin_make
``` ```
设置文件可执行权限 设置文件可执行权限
```c ```c
chmod +x /文件路径/程序名.py chmod +x /文件路径/程序名.py
``` ```
添加环境变量 添加环境变量
```c ```c
source /home/zmn/Gitea/ROS_Learn/devel/setup.bash source /home/zmn/Gitea/ROS_Learn/devel/setup.bash
``` ```
启动roscore终端A 启动roscore终端A
```c ```c
roscore roscore
``` ```
启动服务端终端B 启动服务端终端B
```c ```c
rosrun Service Service_S.py rosrun Service Service_S.py
``` ```
启动订阅端也是客户端终端C 启动订阅端也是客户端终端C
```c ```c
rosrun Service Subscriber_Client_S.py rosrun Service Subscriber_Client_S.py
``` ```
启动发送端终端D 启动发送端终端D
```c ```c
rosrun Service Publisher_S.py rosrun Service Publisher_S.py
``` ```
启动RViz终端F 启动RViz终端F
```c ```c
rviz rviz
``` ```