lawnmower 基于ROS开发的自动割草机

环境配置

一、安装 ROS noetic 及其附属工具(catkin、rosdep等)

  1. 添加ROS软件源
    在这里插入图片描述修改软件与更新中的配置,点击选择"restricted"、“universe” 和 “multiverse”

将以下命令复制到ubuntu的终端执行

sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release
-sc) main” > /etc/apt/sources.list.d/ros-latest.list’
在这里插入图片描述

  1. 添加密钥
    将以下命令复制到ubuntu的终端执行

sudo apt-key adv --keyserver ‘hkp://keyserver.ubuntu.com:80’
–recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
在这里插入图片描述

  1. 更新软件源

sudo apt update
在这里插入图片描述

等待一段时间运行成功

在这里插入图片描述

  1. 开始安装ROS

sudo apt install ros-noetic-desktop-full
在这里插入图片描述

等待一段时间下载完成

在这里插入图片描述

  1. 设置环境变量

    进入bashrc文件添加source /opt/ros/noetic/setup.bash,也可以手动添加

echo “source /opt/ros/noetic/setup.bash” >> ~/.bashrc

source ~/.bashrc
在这里插入图片描述

  1. 安装rosinstall等工具

rosinstall 是ROS中一个独立分开的常用命令行工具, 它可以方便让你通过一条命令就可 以给某个ROS软件包下载很多源码树。 比如sudo apt install ros-noetic-…

sudo apt install python3-rosinstall python3-rosinstall-generator python3- wstool build-essential python3-roslaunch
在这里插入图片描述

成功

在这里插入图片描述

以下步骤我没有进行,[参考](https://blog.csdn.net/qq_57162593/article/details/118532403)
初始化组件 rosdep :
	需要安装rosdep,rosdep是ROS一些核心组件的运行基础,在编译ROS源码时检查和安装程	序包依赖:
	sudo rosdep init
	rosdep update
	需要安装 rosdep 时,即运行 sudo rosdep init 这一步时会大部分出现失败现象,有时	候可能是网络问题,多运行几次,或者更换手机热点试试。
	如果还不行,可以试试:查看是否可以拼通网址raw.githubusercontent.com
	sudo gedit /etc/hosts
	可以的话就修改hosts文件,加入以下两个网址的IP地址实现访问:
	199.232.28.133 raw.githubusercontent.com
	151.101.228.133 raw.github.com
	修改完成后,再次执行:
	sudo rosdep init
	rosdep update
	下载完整的ROS源代码学习:
	mkdir ~/ros_catkin_ws/ && cd ~/ros_catkin_ws/
	rosinstall_generator desktop_full --rosdistro noetic --deps --tar > 	noetic-desktop-full.rosinstall
	wstool init -j8 src melodic-desktop-full.rosinstall 

到这里,ROS的安装已经完成,下面就让我们来一起测试一下吧:
首先启动三个终端
终端一输入:

roscore
在这里插入图片描述

终端二输入:

rosrun turtlesim turtlesim_node
在这里插入图片描述此时会弹出图形化界面

终端三输入:

rosrun turtlesim turtle_teleop_key
在这里插入图片描述在终端三中可以通过上下左右控制二中乌龟的运动

参考:
https://blog.csdn.net/a894943069/article/details/119111471
https://blog.csdn.net/qq_57162593/article/details/118532403
https://blog.csdn.net/Thurs/article/details/120462829

二、创建 catkin 工作区(以下使用~/catkin_ws/),进入 src 目录

1.创建一个catkin工作区:

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
在这里插入图片描述
catkin_make
在这里插入图片描述
运行成功
在这里插入图片描述

可以看到目录结构如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、安装 costmap_converter

git clone https://github.com/rst-tu-dortmund/costmap_converter.git

四、安装 tf2_tools

git clone https://github.com/ros/geometry2.git

五、安装 hector_navigation

克隆仓库

git clone https://github.com/tu-darmstadt-ros-pkg/hector_navigation.git

切换到noetic-devel分支

cd hector_navigation
git checkout noetic-devel
cd …

修改源码

安装完成后需要手动修改 hector_navigation/hector_exploration_planner/src/hector_exploration_planner.cpp 中的下列行:

注释第227-230行

// if (!frontiers_found){
//   ROS_WARN("Close Exploration desired, but no frontiers found. Falling back to normal exploration!");
//   frontiers_found = findFrontiers(goals);
// }

把第243、253行的

doInnerExploration(start,plan);

改为

return false;

六、安装 ceres_catkin

git clone https://github.com/ethz-asl/ceres_catkin.git

git clone https://github.com/catkin/catkin_simple.git

七、安装 Shapely

pip3 install shapely

八、下载本项目

九、使用 rosdep 安装其他依赖,如果有部分依赖找不到,可以上网查找安装方式

cd ~/catkin_ws/
rosdep install --from-paths src --ignore-src -r -y

编译上述依赖和本项目

catkin build

在 .bashrc 中检查以下环境变量是否都已经设置

source /opt/ros/noetic/setup.bash
source ~/catkin_ws/devel/setup.bash

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_ws/

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ros/noetic/lib/x86_64-linux-gnu

仿真

安装 turtlebot3 仿真库:https://automaticaddison.com/how-to-launch-the-turtlebot3-simulation-with-ros/

在 .bashrc 中将 turtlebot 的型号设置为 waffle_pi

export TURTLEBOT3_MODEL=waffle_pi

启动仿真

roslaunch lawnmower lawnmower_simulation.launch

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值