E: Unable to locate package ros-kinetic-turtle-tf
ROS Kinetic 学习笔记 (古月居)
https://www.bilibili.com/video/BV1hc411n7N7/
一、认识ROS
-
大纲
-
ROS的总体设计
-
系统实现
三个层次
1 主要是话题、服务通信模型的实现;-
话题:
RPC介绍:https://zhuanlan.zhihu.com/p/187560185 -
服务:
-
参数通信机制
如果talker向Master更新了参数值,但是listerner没有查询,则依旧保持旧的的参数。(目前ROS1中的一个坑)
-
话题服务区别
2 ROS的文件系统
3 社区
-
-
初次实践
-
软件源安装(PC端常用方式)源码安装 (ARM上安装)
-
rosinstall rosdep
-
ROS安装目录:/opt/ros
-
bin etc include lib share(功能包接口信息-话题 服务 action)
-
教程使用的不是bash , 而是zsh
-
roscore
- ROS_MASTER_URI=http://xxx:11311/ 整个系统只能存在一个,分布式多主机情况下,其他主机上的节点需要知道该URI地址
-
命令工具
-
ROS例程 turtlesim
- 计算图 rqt_graph rosnode
- rosout节点 : 是用来收集和记录节点调试输出信息的,它总是运行。
- rosservice call /spawn “info”
- rostopic pub -r 10 xxx
- rosnode list
- 小海龟仿真
-
ROS应用框架
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功能上有所重复。
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下
- 覆盖机制
2、ROS通信编程
http://www.autolabor.com.cn/book/ROSTutorials/di-2-zhang-ros-jia-gou-she-ji.html
见PPT及相关代码。
话题
服务
Action
3、分布式通信
分布式 松耦合
如何实现分布式多极通信
- 分布式通信需要设置正确的IP , 主要设置 /etc/hosts文件,定义IP地质和主机名的映射关系;
- 保证多个主机的/etc/hosts文件的主机都有互相的IP - 主机映射关系;
- 设置从机的ROS_MASTER_URI
4、ROS中的关键组件
-
*
-
launch文件的标签含义
-
TF坐标变换
-
Qt工具箱
问题
- E: Unable to locate package ros-kinetic-turtle-tf