环境配置

一、安装 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 initrosdep update需要安装 rosdep 时,即运行 sudo rosdep init 这一步时会大部分出现失败现象,有时 候可能是网络问题,多运行几次,或者更换手机热点试试。如果还不行,可以试试:查看是否可以拼通网址raw.githubusercontent.comsudo gedit /etc/hosts可以的话就修改hosts文件,加入以下两个网址的IP地址实现访问:199.232.28.133 raw.githubusercontent.com151.101.228.133 raw.github.com修改完成后,再次执行: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
在终端三中可以通过上下左右控制二中乌龟的运动

参考:
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

lawnmower 基于ROS开发的自动割草机相关推荐

  1. 基于LabVIEW开发的自动测试系统ATS

    主程序 用户管理模块 自动测试模块 数据管理模块 二次开发模块

  2. 基于LabVIEW开发的自动测试系统

    1.登录界面 2.测试类型选择 3.自动测试界面 4.测试完成界面 5.测试中界面 6.程序工程图 7,程序框图

  3. 【无人驾驶系列】基于ROS的无人驾驶系统

    本文是无人驾驶技术系列的第二篇.在上篇解析光学雷达(LiDAR)技术之后,本文着重介绍基于机器人操作系统ROS的无人驾驶系统.文中将介绍ROS以及它在无人驾驶场景中的优缺点,并讨论如何在ROS的基础上 ...

  4. 为什么我选择并且推崇用ROS开发机器人

    如果我们现在想研发一款机器人,应该选择哪一个操作系统呢?其实我们大家平常接触到的操作系统寥寥无几,Windows,MacOS,Linux,iOS,Andoird.ROS虽然全名是Robot Opera ...

  5. 为什么我选择并且推崇用ROS开发机器人?

    本文作者:贾子枫 2017-01-10 11:48 导语:如果我们现在想研发一款机器人,应该选择哪一个操作系统呢? 雷锋网(公众号:雷锋网)按:本文来自知乎,作者贾子枫,雷锋网已获授权. 转载:htt ...

  6. 基于ROS机器人的3D物体识别与三维重建(一) 介绍篇

    基于ROS机器人的3D物体识别与三维重建(一) 介绍篇 由来:清理电脑硬盘,发现了当时做毕设的一些资料,所以打算整理一下资料和代码写成专栏,记录下当时的暗金岁月,尽管现在实验室的做的项目已经不是这个方 ...

  7. 基于ROS的移动机器人开发:视觉、语音、导航

    经过十余年的快速发展,ROS已成为当下主流的移动机器人操作系统,被各大机器人科技企业支持与使用.一些重大的自动驾驶或者机器人开源框架都是基于ROS系统进行开发的,例如:百度的Apllo和日本的Auto ...

  8. 仅展示成果:基于ROS的自动驾驶系统搭建教程(三):激光定位ndt_matching

    仅展示成果:基于ROS的自动驾驶系统搭建教程(三):激光定位ndt_matching 前端搭建完毕,接着完善后端的功能,现在是最基础的激光点云定位. 初步是要把循迹功能所涉及的所有相关模块给完善好,接 ...

  9. 基于ROS的Most Stars开源代码汇总(自动驾驶汽车+RGBDSLAMv2+ROS2+人识别与跟踪等)

    Star 200+ https://github.com/CPFL/Autoware 用于城市自主驾驶的开源软件. http://www.tier4.jp/ Autoware 用于城市自主驾驶的集成开 ...

  10. 从零搭建一台基于ROS的自动驾驶车-----3.激光Slam建图

    系列文章目录 北科天绘 16线3维激光雷达开发教程 基于Rplidar二维雷达使用Hector_SLAM算法在ROS中建图 Nvidia Jetson Nano学习笔记–串口通信 Nvidia Jet ...

最新文章

  1. 软件工程与UML案例解析
  2. 讨论IM软件企业知识—会谈session的概念,附连到IM软件层次图
  3. 为什么分类对象越多训练时间越长?
  4. 2016猴年春节有感
  5. vue中$watch源码阅读笔记
  6. 360回扫样本存储系统Xstore的设计与实践
  7. mysql多类型查询_MYSQL中的多类型查询及高级查询操作
  8. vivado中bit文件怎么没有生成_「干货」FPGA设计中深度约束技巧及调试经验总结...
  9. 3.业务架构·应用架构·数据架构实战 --- 战略驱动的业务架构设计
  10. 车企建设CDP可能会遇到的坑和挑战,从CRM、SCRM到CDP
  11. CSS基础及常用的一些标签
  12. 计算机控制技术第二版答案于微波,微波技术基础课后参考答案 (田加胜版)
  13. 七个基本量纲_超星尔雅三维建模与仿真答案题库
  14. 使用matlab时括号附近出现红色波浪线“使用的MATLAB语法可能无效”提示
  15. Windows上传文件到CentOS系统
  16. 大学物理简明教程笔记
  17. 韦小宝真的幸福吗 | Random Forest
  18. JavaFx界面设计【SceneBuilder版】适合初学者
  19. 数据价值深度挖掘,分析服务上线“探索”能力
  20. nohup命令及其输出文件 linux nohup命令详解

热门文章

  1. (具体解决方案)训练GAN深度学习的时候出现生成器loss一直上升但判别器loss趋于0
  2. 光模块应用场景及光纤对接有哪些必要的注意事项?
  3. oracle如何把多条放单条,oracle利用游标单条插入数据举例
  4. 数据库原理及应用 清华大学出版社 96页课后练习题
  5. java.lang.RuntimeException: Unable to instantiate application 错误
  6. MATLAB应用过程中遇到sigma函数——引出协方差、相关系数等概念的理解
  7. leetcode-851:喧闹和富有
  8. appium报错Message: Cannot set the element to ‘啊啊’. Did you interact with the correct element?
  9. 用silverlight实现 快乐品茗B2C网站的酷炫新体验
  10. 小马哥-----高仿红米 hmT7205主板 6572芯片 详细拆机图与开机识别图