Clean-robot-turtlebot3(全覆盖路径规划算法)

Linux

Windows系统下应用Linux系统,需要用到虚拟机。

一.VMware

1.下载

官网链接
在这里插入图片描述
备注一下,这里我用的是别人的网盘下载的VMware压缩包,读到这里的也可以去别人那借个网盘地址,边等待下载边继续阅读

此外,在一些知名软件下载网站也提供VMware Workstation的下载,包括但不限于腾讯软件中心,注意识别正版网站。

2.安装

持续点击下一步,同意全部协议,中间注意修改一下安装位置。
在这里插入图片描述
Tip:
在非C盘创建俩个专属文件夹,一个用于存放VMware,一个用于存放在其上制造的虚拟机(Ubuntu)
在这里插入图片描述

3.启动(非必要)

双击打开界面如下
在这里插入图片描述
点击”编辑“中的”首选项“
在这里插入图片描述
点击”浏览“,修改虚拟机的默认位置到之前创建的文件夹中。

开始创建新的虚拟机

二.Ubuntu

1.下载

镜像地址

推荐20.04版本

找了几遍博客,网盘中的压缩包下载速度相当慢,这个网站下载速度相对较快
下载完成即可进行下一步

2.安装

在VMware上点击”创建新的虚拟机“后会跳出下方界面,点击”典型(推荐)“即可。

在这里插入图片描述
选择刚刚下载的Ubuntu.iso即可
在这里插入图片描述

随机填写信息
在这里插入图片描述
刚刚已经修改默认位置了,这边就不需要更改了。

在这里插入图片描述
接下来的操作默认即可,持续点击下一步。
最后等待安装完成。
在这里插入图片描述
SUCCESS!

ROS(机器人操作系统)

一.前置知识

推荐使用Noetic版本

ROS版本需与Ubuntu版本对应,以下是官方版本的对应关系

UbuntuROS1发行时间停用时间
14.04 LTSIndigo Igloo2014.07.222019.4
16.04 LTSKinetic Kame2016.05.232021.4
18.04 LTSMelodic Morenia2018.05.232023.5
20.04 LTSNoetic Ninjemys2020.05.232025.5
UbuntuROS2发行时间停用时间
20.04 LTSFoxy Fitzroy2020.06.052023.5
20.04 LTSGalactic Geochelone2021.05.232022.11
22.04 LTSHumble Hawksbill2022.05.232027.5
22.04 LTSIron Irwini2023.05.232024.11
24.04 LTSJazzy Jalisco2024.05.232029.11

二.安装

Ctrl+Alt+t 调出控制面板
”±“可调节大小
在这里插入图片描述
查看Ubuntu版本

cat /etc/issue

输出

Ubuntu 20.04.6 LTS \n \l

所以,对应的需要下载Noetic版本
添加ros官方软件源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

添加密钥

sudo apt install curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

更新软件包索引

sudo apt update

安装完整版ROS Noetic

sudo apt install ros-noetic-desktop-full

安装rosdep

 sudo apt install python-rosdep

初始化rosdep

 sudo rosdep init

此处注意一下,你可能会收到这个提示

sudo rosdep init
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.
<urlopen error <urlopen error [Errno 111] Connection refused> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list)>

连接被拒绝,这是非常正常的,你也可以上网查找方法解决,因为无数人遇到了这个问题。国内访问GitHub不稳定或被限制,难以避免,给出几个简单解决方法,具体的可以去找找别人博客,或者问问AI

  • 网络换成手机热点,多试几次
  • 配置rosdep使用清华的镜像源
  • 手动下载所需文件
  • 检查网络代理

rosdepc 是 rosdep 的国内镜像版本,安装依赖更快更稳定。
所以放弃rosdep,换用rosdepc
安装pip

sudo apt update
sudo apt install python3-pip -y

安装rosdepc

sudo pip3 install rosdepc -i https://pypi.tuna.tsinghua.edu.cn/simple

初始化rosdepc

sudo rosdepc init
rosdepc update

设置环境变量

echo 'export PATH=$PATH:~/.local/bin' >> ~/.bashrc
source ~/.bashrc

验证安装

rosdepc --version
rosdepc update

在这里插入图片描述
SUCCESS!

Github

为了仿真全覆盖路径算法,在GitHub上fork了Clean-robot-turtlebot3这个项目。

一.登录

需要梯子或者加速器,选用了Watt Toolkit
注意图标 请支持正版
官网链接
在这里插入图片描述
下载完成后,双击点开,选中GitHub并”一键加速“即可。
在这里插入图片描述
此时就可以进入GitHub网站了,注册账号并登录

二.仿真

项目链接
(一个大佬的项目,大家一起来康康)
点击code,下载代码zip文件
在这里插入图片描述
在Linux系统上安装依赖环境

sudo apt install ros-${ROS_DISTRO}-turtlebot3 ros-${ROS_DISTRO}-navigation ros-${ROS_DISTRO}-dwa-local-planner ros-${ROS_DISTRO}-slam-karto

新建一个catkin_ws文件夹,在其下新建一个src文件夹,将代码文件解压放入其中
在这里插入图片描述
打开终端,Ctrl+Alt+t
进入工作空间

cd ~/catkin_ws

重新编译

catkin_make

刷新环境

source devel/setup.bash

检查文件路径

find $(rospack find clean_robot) -name "*.launch"

在所有的launch文件中找出auto_slam.launch的路径
设置环境变量

export TURTLEBOT3_MODEL=burger  # 或 waffle/waffle_pi

启动命令

roslaunch (+文件路径)

在这里插入图片描述
此外,如果启动clean_work.launch
在这里插入图片描述
SUCCESS!

覆盖路径规划是一种用于确定覆盖范围并找到最优路径的算法。在Python中,可以使用以下步骤进行覆盖路径规划: 1. 提取地图边界和障碍物信息:根据给定的地图,提取边界信息和障碍物位置。这些信息可以用于确定清扫范围和避免碰撞。 2. 转换坐标系:根据最长的边界和一个顶点,进行坐标转换,将清扫边界和内部障碍物进行旋转和平移。这将确保清扫范围在X轴方向上最长,以便选择最适合的遍历方向。 3. 构建栅格地图:将边界外和障碍物内的区域标记为1,而清扫区域标记为0。这将创建一个栅格地图,用于路径规划。 4. 地图膨胀:考虑到机器人的大小问题,对栅格地图进行膨胀。这将确保机器人能够安通过清扫区域。 5. 栅格地图闭算法:从下到上,从左到右依次滤除定义清扫主要方向的栅格。这将使路径规划更加高效。 6. 查找起始点和终点:从栅格地图的最下一行开始,从左到右遍历,找到第一个标记为0的栅格作为起始坐标。同样,在最上一行找到终点坐标。 7. 寻找路径:从起始点开始,寻找下一个点直到到达终点或找不到下一个点。每找到一个点,记录其坐标。 8. 还原坐标:根据原点和长边向量,将记录的点坐标还原。 9. 可以根据需要执行步骤6至8,以实现分区覆盖。 在Python中实现覆盖路径规划可以使用以下库和函数:numpy用于数值计算操作,matplotlib用于数据可视化,可以使用这些库中的函数和方法来实现上述步骤。 参考资料: 文章目录 输出 python实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值