摘要: 机器人导航(仿真) 导航是机器人系统中最重要的模块之一,比如现在较为流行的服务型室内机器人,就是依赖于机器人导航来实现室内自主移动的,本章主要就是介绍仿真环境下的导航实现,主要内容有: 导航相关概念 导航实现:机器人建图(SLAM)、地图服务、定位、路径规划....以可视化操作为主。 导航消息:了解 阅读全文
posted @ 2022-04-12 09:54 zjh1170 阅读(973) 评论(0) 推荐(0)
摘要: 机器人系统仿真 对于ROS新手而言,可能会有疑问:学习机器人操作系统,实体机器人是必须的吗?答案是否定的,机器人一般价格不菲,为了降低机器人学习、调试成本,在ROS中提供了系统的机器人仿真实现,通过仿真,可以实现大部分需求,本章主要就是围绕“仿真”展开的,比如,本章会介绍: 如何创建并显示机器人模型 阅读全文
posted @ 2022-04-12 09:52 zjh1170 阅读(787) 评论(0) 推荐(0)
摘要: ROS分布式通信 ROS是一个分布式计算环境。一个运行中的ROS系统可以包含分布在多台计算机上多个节点。根据系统的配置方式,任何节点可能随时需要与任何其他节点进行通信。 因此,ROS对网络配置有某些要求: 所有端口上的所有机器之间必须有完整的双向连接。 每台计算机必须通过所有其他计算机都可以解析的名 阅读全文
posted @ 2022-04-12 09:50 zjh1170 阅读(77) 评论(0) 推荐(0)
摘要: ROS重名问题 ROS工作空间覆盖 所谓工作空间覆盖,是指不同工作空间中,存在重名的功能包的情形。 ROS 开发中,会自定义工作空间且自定义工作空间可以同时存在多个,可能会出现一种情况: 虽然特定工作空间内的功能包不能重名,但是自定义工作空间的功能包与内置的功能包可以重名或者不同的自定义的工作空间中 阅读全文
posted @ 2022-04-12 09:47 zjh1170 阅读(178) 评论(1) 推荐(0)
摘要: launch文件 关于 launch 文件的使用我们已经不陌生了,在第一章内容中,就曾经介绍到: 一个程序中可能需要启动多个节点,比如:ROS 内置的小乌龟案例,如果要控制乌龟运动,要启动多个窗口,分别启动 roscore、乌龟界面节点、键盘控制节点。如果每次都调用 rosrun 逐一启动,显然效率 阅读全文
posted @ 2022-04-12 09:45 zjh1170 阅读(201) 评论(0) 推荐(0)
摘要: ROS运行管理 ROS是多进程(节点)的分布式框架,一个完整的ROS系统实现: 可能包含多台主机; 每台主机上又有多个工作空间(workspace); 每个的工作空间中又包含多个功能包(package); 每个功能包又包含多个节点(Node),不同的节点都有自己的节点名称; 每个节点可能还会设置一个 阅读全文
posted @ 2022-04-12 09:43 zjh1170 阅读(67) 评论(0) 推荐(0)
摘要: ROS中的头文件与源文件 本节主要介绍ROS的C++实现中,如何使用头文件与源文件的方式封装代码,具体内容如下: 设置头文件,可执行文件作为源文件; 分别设置头文件,源文件与可执行文件。 在ROS中关于头文件的使用,核心内容在于CMakeLists.txt文件的配置,不同的封装方式,配置上也有差异。 阅读全文
posted @ 2022-04-12 09:35 zjh1170 阅读(153) 评论(0) 推荐(0)
摘要: Python常用API 初始化 def init_node(name, argv=None, anonymous=False, log_level=None, disable_rostime=False, disable_rosout=False, disable_signals=False, xm 阅读全文
posted @ 2022-04-12 09:33 zjh1170 阅读(107) 评论(0) 推荐(0)
摘要: C++常用API 初始化 /** @brief ROS初始化函数。 * * 该函数可以解析并使用节点启动时传入的参数(通过参数设置节点名称、命名空间...) * * 该函数有多个重载版本,如果使用NodeHandle建议调用该版本。 * * \param argc 参数个数(n+1) * \para 阅读全文
posted @ 2022-04-12 09:29 zjh1170 阅读(207) 评论(0) 推荐(0)
摘要: 常用命令 机器人系统中启动的节点少则几个,多则十几个、几十个,不同的节点名称各异,通信时使用话题、服务、消息、参数等等都各不相同,一个显而易见的问题是: 当需要自定义节点和其他某个已经存在的节点通信时,如何获取对方的话题、以及消息载体的格式呢? 在 ROS 同提供了一些实用的命令行工具,可以用于获取 阅读全文
posted @ 2022-04-12 09:25 zjh1170 阅读(182) 评论(0) 推荐(0)