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

编程入门 行业动态 更新时间:2024-10-22 10:58:55

lawnmower 基于<a href=https://www.elefans.com/category/jswz/34/1768665.html style=ROS开发的自动割草机"/>

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

环境配置

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

  1. 添加ROS软件源
    修改软件与更新中的配置,点击选择"restricted"、“universe” 和 “multiverse”

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

sudo sh -c ‘echo “deb $(lsb_release
-sc) main” > /etc/apt/sources.list.d/ros-latest.list’

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

sudo apt-key adv --keyserver ‘hkp://keyserver.ubuntu: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

成功

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

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

roscore

终端二输入:

rosrun turtlesim turtlesim_node
此时会弹出图形化界面

终端三输入:

rosrun turtlesim turtle_teleop_key
在终端三中可以通过上下左右控制二中乌龟的运动

参考:


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

1.创建一个catkin工作区:

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws

catkin_make

运行成功

可以看到目录结构如下:




三、安装 costmap_converter

git clone .git

四、安装 tf2_tools

git clone .git

五、安装 hector_navigation

克隆仓库

git clone .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 .git

git clone .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 仿真库:/

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

export TURTLEBOT3_MODEL=waffle_pi

启动仿真

roslaunch lawnmower lawnmower_simulation.launch

更多推荐

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

本文发布于:2024-03-23 21:15:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1742905.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:割草机   lawnmower   ROS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!