操作系统选择
使用ROS进行机器人开发一般需要机器人和工作台两部分。在实际机器人之上运行的SLAM的性能(比如功耗、实时性、兼容性等)大多与机器人主机硬件架构及操作系统有关。

什么是ros
面试就说ros机器人开发平台。
分布式通信≈进程通信+网络通信。

ros只是一个中间件。机器人开发基于slam的应用比较方便。像redis一样,你可以不用,只用mybatis。

ros系统结构
计算图
ros中节可以理解成进程。节点间的通信可以理解成进程通信。roscore就是启动主节点(master)的。

用户工作空间
下图中
1. 非标准指的是用户自定义。
2. 源文件目录cpp文件编译后就是节点。
3. rosrun rviz rviz 这个命令第一个rviz是功能包,第二个是节点。

节点通信原理
RPC(remote procedure call 远程程序调用) RPC解释很好
1. 解决分布式系统中,服务之间的调用问题。
2. 远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。
这也和前面说rpc是分布式通信框架相联系,让一个节点可以调用另一个节点的函数。
