ROS_Learn/README.md
2025-07-02 20:35:51 +08:00

4.9 KiB
Raw Blame History

ROS_Learn

实验一

ROS-noetic安装应用于Ubuntu20.04lts
最好全程使用root权限

1.切换ubuntu软件源访问清华源来提升下载速度。

sudo vim /etc/apt/sources.list  # 进入apt下载源文件

删除所有ubuntu官方源最好提前备份以下文件避免操作失误无法恢复添加清华源

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse

# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

# 预发布软件源,不建议启用
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

vim中按Esc退出编辑模式,按Shift+进入命令输入模式输入wq保存退出。
在命令行中输入下列命令添加ROS源地址。

sudo sh -c 'echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros-latest.list'

设置密钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-keys 6A030B21B4D2B67B

更新软件源

sudo apt update

安装ROS-noetic适用于Ubuntu20.04Lts

sudo apt install ros-noetic-desktop-full

初始化 rosdep

sudo rosdep init
rosdep update

配置环境变量

source /opt/ros/noetic/setup.bash
source ~/.bashrc

安装ROS-python3工具包

sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool
sudo apt install build-essential

环境配置检测,配置无误的话可无需运行

# 确保环境配置
source /opt/ros/noetic/setup.bash
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
# 确保ROS安装完整
sudo apt install --reinstall ros-noetic-desktop-full
# 检测roslaunch是否安装
dpkg -l | grep ros-noetic-roslaunch
# 若roslaunch以安装则无需执行下条命令
sudo apt install ros-noetic-roslaunch

# 将路径换为文件/文件夹路径,赋予文件/文件夹可执行权限
chmod +x /路径  
# 将文件/文件夹可编辑权限赋予某用户
sudo chown -R 用户名:用户名 /路径

2.启动roscore

roscore

启动小乌龟

rosrun turtlesim turtlesim_node

控制小乌龟(新终端窗口打开)

rosrun turtlesim turtle_teleop_key

创建工作空间

mkdir -p src
catkin_make

设置 ROS 环境变量

echo "source /文件夹路径/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

进入 src 目录并创建功能包

cd src
catkin_create_pkg Service rospy std_msgs geometry_msgs visualization_msgs message_generation

创建结构和放置文件

cd Service
mkdir scripts
mkdir srv

实验二

ROS中话题通信

编译工作空间

catkin_make

设置文件可执行权限

chmod +x scripts/程序名.py

添加环境变量(所有新终端窗口要执行下列命令)

source /home/zmn/Gitea/ROS_Learn/devel/setup.bash

启动roscore终端A

roscore

启动订阅端终端B

rosrun Topic_Newsletter Subscriber_TN.py

启动发送端终端C

rosrun Topic_Newsletter Publisher_TN.py

启动RViz终端D

rviz

将RViz左侧 Global Options 面板中 Fixed Frame 设为 map (默认无需修改)。 在 Displays 面板中,点击 Add添加 Marker 类型。

实验三

ROS中服务端和客户端

编译工作空间

catkin_make

设置文件可执行权限

chmod +x scripts/程序名.py

添加环境变量

source /home/zmn/Gitea/ROS_Learn/devel/setup.bash

启动roscore终端A

roscore

启动服务端终端B

rosrun Service Service_S.py

启动订阅端也是客户端终端C

rosrun Service Subscriber_Client_S.py

启动发送端终端D

rosrun Service Publister_S.py

启动RViz终端F

rviz

将RViz左侧 Global Options 面板中 Fixed Frame 改为程序中的 world 。 在 Displays 面板中,点击 Add添加 Marker 类型。