ROS机器人虚拟仿真挑战赛蓝桥云课环境配置记录

重要文档:

代码语言:javascript
复制
https://docs.tianbot.com/competition/f1tenth_online/env-config.html

一键配置:

代码语言:javascript
复制
echo "Upgrade Mission Begins."

echo "-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

mQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc
VFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro
u5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4
K/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG
aIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+
TwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz
pwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p
V5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT
hM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/
/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV
okdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB
tCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA
PgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur
F8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB
RQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z
PyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa
DaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC
Qucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR
fKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0
quoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1
1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6
qjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA
TUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo
22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6
WE+F5FaIKwb72PL4rLi4
=i0tj
-----END PGP PUBLIC KEY BLOCK-----" >> ~/ros.asc

sudo apt-key add ros.asc

sudo rm /etc/apt/sources.list.d/ros2-latest.list

sudo apt update

sudo apt install ros-kinetic-tf2-geometry-msgs ros-kinetic-ackermann-msgs ros-kinetic-joy ros-kinetic-map-server ros-kinetic-message-runtime -y

sudo apt upgrade -y

mkdir -p ~/tianbot_ws/src && cd ~/tianbot_ws/src

git clone https://mirror.ghproxy.com/https://github.com/tianbot/tianracer.git -b dev

sudo apt install ros-kinetic-move-base ros-kinetic-teb-local-planner ros-kinetic-controller-manager ros-kinetic-amcl -y

cd ~/tianbot_ws/ && catkin_make

source ~/tianbot_ws/devel/setup.zsh

roscd tianracer_gazebo/scripts/ && ./env_config.sh

echo "source ~/tianbot_ws/devel/setup.zsh" --extend >> ~/.zshrc

roslaunch tianracer_gazebo demo_tianracer_teb_nav.launch


问题:

1环境不匹配16.04 << 20.04

不推荐,20.04的云镜像没有免费公开。

2卡顿严重,资源不足,还是本地跑合适

卡到怀疑一切客观事物。


这段脚本的详细总结如下:

目标
该脚本的主要目标是安装ROS Kinetic版本的相关包,配置一个名为tianracer的机器人项目,并在Gazebo仿真环境中启动这个项目的演示。

步骤总结

  1. 更新与升级软件包
    • 使用sudo apt update命令更新APT软件包列表,确保获取最新的软件包信息。
    • 使用sudo apt install命令安装一系列ROS Kinetic版本的包,这些包是机器人项目的基础依赖。
    • 使用sudo apt upgrade命令升级系统中所有已安装的软件包到最新版本。
  2. 创建ROS工作空间并克隆项目代码
    • 创建tianbot_ws工作空间,并导航到其src目录。
    • 使用git clone命令从指定的镜像地址克隆tianracer项目的dev分支。
  3. 安装额外的ROS包
    • 安装额外的ROS包,这些包提供了机器人的导航、路径规划、控制器管理和定位等功能。
  4. 编译ROS工作空间
    • 使用catkin_make命令编译整个工作空间,确保所有ROS包都能正确构建。
  5. 设置环境变量并配置环境脚本
    • 使用source命令将新编译的ROS包添加到当前zsh会话的环境变量中。
    • 导航到tianracer_gazebo包的scripts目录,并执行env_config.sh脚本,进行项目的特定配置。
  6. 持久化环境设置
    • 将环境设置命令添加到.zshrc文件,确保每次打开新的zsh会话时,ROS工作空间的环境变量都能被正确设置。
  7. 启动仿真
    • 使用roslaunch命令启动tianracer_gazebo包的演示启动文件,启动Gazebo仿真环境并配置机器人的导航功能。

总结
这段脚本通过一系列命令完成了ROS环境的安装、机器人项目的配置以及仿真的启动。它涵盖了从软件包更新到项目启动的完整流程,为开发者提供了一个方便的、可重复的方式来设置和运行tianracer机器人项目。执行完这段脚本后,开发者应该能够在Gazebo中看到并控制tianracer机器人的行为,并进行进一步的开发和测试工作。

这段脚本是一个在Ubuntu系统上安装ROS (Robot Operating System) Kinetic版本并配置一个名为tianracer的机器人项目的过程。我会逐行解释这些命令。

1. 更新软件包列表
代码语言:javascript
复制

bash复制代码

sudo apt update

这条命令用于更新APT(Ubuntu的包管理工具)的软件包列表。这确保你安装的是最新的软件包版本。

2. 安装ROS包
代码语言:javascript
复制

bash复制代码

sudo apt install ros-kinetic-tf2-geometry-msgs ros-kinetic-ackermann-msgs ros-kinetic-joy ros-kinetic-map-server ros-kinetic-message-runtime -y

这条命令安装了一系列的ROS Kinetic版本的包,这些包是机器人项目所需的。-y标志是自动接受所有的提示,无需用户输入。

3. 升级已安装的软件包
代码语言:javascript
复制

bash复制代码

sudo apt upgrade -y

这条命令用于升级系统中所有已安装的软件包到最新版本。

4. 创建并进入工作空间
代码语言:javascript
复制

bash复制代码

mkdir -p ~/tianbot_ws/src && cd ~/tianbot_ws/src

这创建了一个名为tianbot_ws的目录(如果不存在的话),并在其src子目录中进入。这是ROS工作空间的常见结构。

5. 克隆项目代码
代码语言:javascript
复制

bash复制代码

这条命令从mirror.ghproxy.com这个镜像克隆了tianbot/tianracer项目的dev分支到当前目录。

6. 安装额外的ROS包
代码语言:javascript
复制

bash复制代码

sudo apt install ros-kinetic-move-base ros-kinetic-teb-local-planner ros-kinetic-controller-manager ros-kinetic-amcl -y

再次安装了一系列的ROS包,这些包提供了导航、局部路径规划、控制器管理和自适应蒙特卡洛定位等功能。

7. 编译工作空间
代码语言:javascript
复制

bash复制代码

cd ~/tianbot_ws/ && catkin_make

切换到工作空间的根目录并编译它。catkin_make是ROS工作空间的编译工具。

8. 设置环境变量
代码语言:javascript
复制

bash复制代码

source ~/tianbot_ws/devel/setup.zsh

这条命令将新编译的ROS包添加到你的环境变量中,使得你可以在当前的shell会话中使用它们。

9. 配置环境脚本
代码语言:javascript
复制

bash复制代码

roscd tianracer_gazebo/scripts/ && ./env_config.sh

使用roscd命令导航到tianracer_gazebo包的scripts目录,并执行env_config.sh脚本。这个脚本可能包含一些项目的特定配置。

10. 将环境设置添加到zshrc文件
代码语言:javascript
复制

bash复制代码

echo "source ~/tianbot_ws/devel/setup.zsh" --extend >> ~/.zshrc

将环境设置命令添加到.zshrc文件,这样每次打开新的zsh会话时,它都会自动执行,确保ROS工作空间的环境变量被正确设置。

11. 启动仿真
代码语言:javascript
复制

bash复制代码

roslaunch tianracer_gazebo demo_tianracer_teb_nav.launch

最后,使用roslaunch命令启动tianracer_gazebo包的demo_tianracer_teb_nav.launch启动文件,这可能会启动一个包含机器人模型的Gazebo仿真环境,并配置导航功能。

总的来说,这段脚本为tianracer项目配置了ROS环境,并设置了必要的软件包和启动文件。