NO.1 Ros 安装&介绍

零蚀

[🔗 ROS官网]
[🔗 ROS中文开发目录]
[🔗 所有现有机器人的介绍]


ROS 认知

  • ROS的布局
    • Plumbing 探测发现机制(进程间通讯管理)
    • Tools 开发调试工具(可视化的调试工具)
    • Capabilities 提供开源库(导航,地图,感知…)
    • Ecosystem 社区

    ROS Robot Operation System 是一个基于操作系统做的一个通讯框架。

    [🔗 所有现有机器人的介绍]

  • 系统架构

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BqUBMAfa-1584973041583)(media/15847602374998/1.jpg)]

    大体结构分为以下的四种

      1. 环境
      2. 传感器
      3. 执行器
      4. 软件结构
    
  • Ros的软件结构
    注册
    注册
    Node
    ROS Master
    Node

    Ros Master 在执行中开发出很多可执行的小单元,这些item需要在ros master中进行记录。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pDdF9DQ0-1584973041584)(media/15847602374998/1-5.jpg)]


Ros 安装

  • ROS的环境搭建(Ubuntu 18)

    (⚠️ Mas OS 官网上是测试版,且代码已经不再更新,且只有Kinetic测试版支持,后面的Melodic版本就直接取消了OS配置,所以统一用ubuntu,每个版本的ROS对应着使用版本的Ubuntu选择要注意)

    采用科大的镜像源,如果用的是ubuntu的话吗需要在更新中将源文件的加载地址也改为科大的。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2H8xdJpt-1584973041585)(media/15847602374998/2.jpg)]

    • 添加ROS的镜像源
    sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
    

    由于ROS的主服务器在国外,所以网速会非常的慢,而用科技大的镜像,后续开发会更加顺利。

    • 配置密钥
    sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
    
    • 更新Ubuntu的源
    sudo apt update
    
    • 安装ROS Melodic
    sudo apt-get update 
    sudo apt install ros-melodic-desktop-full
    

    ros-melodic-desktop-full全家桶内置了很多ROS的开发工具(melodic一般分为三种,1.全家桶,2,基础版,3.裸奔版),作为开发阶段而言,我们选择最全的版本进行安装。

    ROS初始化

    • 初始化rosdep
    sudo rosdep init
    rosdep update
    

    在使用ROS之前,需要初始化rosdep。 rosdep可以轻松地为要编译的代码添加系统依赖项,并且帮助我们运行ROS中核心组件。

    • 配置全局环境变量
    echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
    source ~/.bashrc
    

    我们需要将安装目录下的功能包配置到系统的环境变量中去。这样我们才能使用ROS提供给我们的一些命令工具。

    • 构建工厂依赖
    sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
    

    通常在安装过程中会出现 Hash Sum mismatch,这个时候,建议修改Ubuntu操作系统的软件源为http://mirrors.ustc.edu.cn。保证ros的源和ubuntu的源一致,规避掉hash校验的错误

    • 测试安装

    通过命令启动Ros Master

    roscore
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ok6HC18n-1584973041585)(media/15847602374998/3.jpg)]


构建第一个项目

  • 构建工作空间
    ➜  ~ mkdir ~/ws
    ➜  ws mkdir ros_ws
    ➜  ros_ws mkdir src 
    

    工作空间的其他内容需要catkin构建

    # 没有出现红色ERROR表示创建成功
    ➜  ros_ws catkin_make
    

    可以发想项目里自动构建了build,devel这些用于打包的文件,且src下也构建了CMakeLists.txt,缓存已经被catkin_make记录。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pxYXNXb6-1584973041585)(media/15847602374998/4.jpg)]

  • 在src下创建package

    ⚠️ 官网上说的 std_msg在clion加载的时候是找不到的,会导致问题,所以用的还是老版中的rosmsg。

    #  rospy roscpp  std_msg为要添加的依赖支持
    ➜  src catkin_create_pkg first_demo rospy roscpp rosmsg
    
    # 文件结构如下:
    ➜  src tree
    ├── CMakeLists.txt -> /opt/ros/melodic/share/catkin/cmake/toplevel.cmake
    └── first_demo
        ├── CMakeLists.txt
        ├── include
        │   └── first_demo
        ├── package.xml
        └── src
    
    
  • linux版本的肉鸡clion,然后打开我们的项目。

    不能选择文件路径用clion图形化界面进行打开操作,需要命令行操作。

    配置devel环境

    这个过程中会调用一遍setup.bash中所有的环境,所以这个过程是必须的。

    ➜  ros_ws exec bash 
    ➜  ros_ws source devel/setup.bash
    

    在环境下开启clion

    ~/ws/ros_ws$  cd /home/parallels/devtools/clion-2019.1.3/bin
    :~/devtools/clion-2019.1.3/bin$ ./clion.sh
    

    点击打开的对象,不是first_demo,是camkelists.txt
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bhoguKKA-1584973041586)(media/15847602374998/5.jpg)]

    打开后的结果(如果以上步骤疏漏一步或者打开对象错误,都会导致加载报错)

    在这里插入图片描述

    事情都已经具备,则可以开始我们的第一个node。


ros Noetic

  • 配置ros Noetic系统

    • 终于决定升级了,谁知道其中parallels升级ubuntu太扯,只能重新装,并且14版的parallel安装ubuntu一直不能兼容,导致屏幕奇形怪状,终于12点我找到一个parallel 16,并且tool可以使用,才体会到了ubuntu 20 的不同,如果说18是像win风,那么20就是mac风,精致。

    • 在安装ubuntu之后,建议先安装clion,不然可能发生冲突,导致打不开。除此之外我们在安装ubuntu的过程中尽量不要skip一些过程,不然很容易导致安装出现问题。如果出现问题,建议重新安装ubuntu。

    • 我们要先知道Noetic只能在20.04版本及以上才能用,为什么要用它呢?因为它支持python3了,所以在麻烦也得上。

    • 安装步骤,和上文一样的地方我就一笔带过了。(在这里镜像不好使了,所以直接用国外的)

    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-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
    
    • installing
    # 安装
    sudo apt install ros-noetic-desktop-full
    sudo apt install ros-noetic-desktop
    source /opt/ros/noetic/setup.bash
    # 这里没有rosdep,需要安装一下,应为ubuntu默认python3所以用python3-rosdep
    sudo apt install python3-rosdep
    sudo rosdep init
    rosdep update
    echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
    source ~/.bashrc
    # 测试
    roscore
    
    • 测试
    # ros_ws路径下
    source devel/setup.bash
    mkdir src
    catkin_make
    # src路径下
    catkin_create_pkg test_first rospy roscpp rosmsg
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HwxKuXaV-1599054564791)(media/15847602374998/15989661818843.jpg)]

    • 打开clion测试node的demo
    
    sudo sh /home/baicha/devtool/clion-2019.1.3/bin/clion.sh
    
    • 编辑好了测试的node之后记得有个小细节,那就是开头一定要表明这个python的位置,就是你添加python路径,意外的是,其实这里已经有了python3-opencv库了。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k9EcZZWP-1599054564793)(media/15847602374998/15990236804719.jpg)]

    #!/usr/bin/python3.8
    import rospy
    

🔗 前言
🔗 Robot ROS 操作系统列表
🔗 NO.2 Ros 第一个程序(cpp & py)
🔗 NO.3 Ros Topic 通讯
🔗 NO.4 Ros 消息补充&小乌龟
🔗 NO.5 Ros Turtle &日志开发
🔗 NO.6 Ros Service 简单通讯
🔗 NO.7 Ros Service 复杂通讯
🔗 NO.8 Ros PID算法案例
🔗 NO.9 PID原理&曲线计算原理
🔗 NO.10 Action 通讯 上
🔗 NO.11 Action 通讯 下
🔗 NO.12 Param & Launch & TF 案例
🔗 NO.13 ROS 2 Foxy安装(Mac OS)
🔗 NO.14 关于ROS2的第一个程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

零蚀zero eclipse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值