ROS基础

E: Unable to locate package ros-kinetic-turtle-tf

ROS Kinetic 学习笔记 (古月居)
https://www.bilibili.com/video/BV1hc411n7N7/

一、认识ROS

  • 大纲
    ROS基础_第1张图片
    ROS基础_第2张图片

  • ROS的总体设计
    ROS基础_第3张图片

  • 系统实现
    三个层次
    ROS基础_第4张图片
    1 主要是话题、服务通信模型的实现

    • 话题:
      ROS基础_第5张图片
      RPC介绍:https://zhuanlan.zhihu.com/p/187560185

    • 服务:
      ROS基础_第6张图片

    • 参数通信机制
      如果talker向Master更新了参数值,但是listerner没有查询,则依旧保持旧的的参数。(目前ROS1中的一个坑)
      ROS基础_第7张图片

    • 话题服务区别
      ROS基础_第8张图片

    2 ROS的文件系统
    ROS基础_第9张图片

    3 社区
    ROS基础_第10张图片

  • 初次实践

    • 软件源安装(PC端常用方式)源码安装 (ARM上安装)

    • rosinstall rosdep

    • ROS安装目录:/opt/rosROS基础_第11张图片

    • bin etc include lib share(功能包接口信息-话题 服务 action)

    • 教程使用的不是bash , 而是zsh

    • roscore

      • ROS_MASTER_URI=http://xxx:11311/ 整个系统只能存在一个,分布式多主机情况下,其他主机上的节点需要知道该URI地址
    • 命令工具
      ROS基础_第12张图片

    • ROS例程 turtlesim

      • 计算图 rqt_graph rosnode
      • rosout节点 : 是用来收集和记录节点调试输出信息的,它总是运行。
      • rosservice call /spawn “info”
      • rostopic pub -r 10 xxx
      • rosnode list
      • 小海龟仿真
        ROS基础_第13张图片
    • ROS应用框架
      ROS基础_第14张图片
      Nodelet API : 图片、点云等大量数据,以共享内存的方式更高效的传输。

二、ROS基础

目录:

  • 1、创建工作空间
  • 2、ROS通信编程
  • 3、分布式通信
  • 4、ROS中的关键组件

安装:https://zhuanlan.zhihu.com/p/515361781

1. 创建工作空间

src build devel install
ROS2中将devel和install文件夹合并了,devel和install功能上有所重复。
ROS基础_第15张图片
bash和zsh的区别:https://blog.csdn.net/qq_40520596/article/details/104642218

  • 功能包相关
    • 创建功能包 catkin_create_pkg pkg_name depend1 …
    • 编译功能包:cd ~/catkin_ws catkin_make source ~/catkin_ws/devel/setup.bash
    • 同一个工作空间不能存在相同名字的功能包,不同工作空间下可以;
  • 工作空间的覆盖
    • env | grep ros >> ROS_PAKAGE_PATH
    • sudo apt-get install ros-noetic-roscpp-tutorials >> rospack find roscpp_tutorials
    • 将roscpp_tutorials包放到工作空间src中,再使用rospack find可以发现,该包出现在catkin_ws下
    • 覆盖机制
      ROS基础_第16张图片

2、ROS通信编程

http://www.autolabor.com.cn/book/ROSTutorials/di-2-zhang-ros-jia-gou-she-ji.html
见PPT及相关代码。

话题

服务

Action

3、分布式通信

分布式 松耦合

ROS基础_第17张图片
如何实现分布式多极通信

  • 分布式通信需要设置正确的IP , 主要设置 /etc/hosts文件,定义IP地质和主机名的映射关系;
  • 保证多个主机的/etc/hosts文件的主机都有互相的IP - 主机映射关系;
  • 设置从机的ROS_MASTER_URI
    ROS基础_第18张图片

4、ROS中的关键组件

  • *ROS基础_第19张图片

  • launch文件的标签含义

  • TF坐标变换

  • Qt工具箱
    ROS基础_第20张图片

ROS基础_第21张图片

问题

  1. E: Unable to locate package ros-kinetic-turtle-tf

三、机器人系统设计

四、机器人仿真

五、机器人感知

六、机器人SLAM与自主导航

七、ROS理论与实践Moveit

八、ROS机器人综合应用

九、ROS2.0

你可能感兴趣的:(6.,ROS,人工智能,机器人,ROS)