
001 ROS学习
文章平均质量分 87
有基础到入门
青配时代
这个作者很懒,什么都没留下…
展开
-
1 ROS介绍
ROS(Robot Operating System,机器人操作系统)是一个开源的中间层软件,旨在为机器人应用提供一种标准化的方法来开发、测试和部署机器人应用。ROS起源于2007年前后斯坦福大学人工智能实验室的STAIR(Stanford Artificial Intelligence Robot)项目与Willow Garage公司的个人机器人项目(Personal Robotics project)之间的合作,并于2008年首次发布。原创 2024-05-24 11:42:08 · 447 阅读 · 0 评论 -
2 ROS学习平台搭建(配置)
ROS学习平台搭建原创 2024-05-24 11:09:08 · 899 阅读 · 1 评论 -
3 话题通信-API的使用
*作用:创建发布者对象模板:被发布的消息的类型参数:1.话题名称2.队列长度3.latch(可选) 如果设置为true,他会保存发布方的最后一道消息,并且新的订阅对象连接到发布方时,发布方会将这条信息发给订阅者使用:1.latch 设置为true的作用?以静态地图发布为例,方案1:可以使用固定频率发布地图数据,但是效率低方案2:可以将地图发表对象的latch设置为true,并且发布方只发送一次数据,每当订阅者连接时,将地图数据发送给订阅者(只发送一次)*/原创 2024-06-21 16:26:29 · 1181 阅读 · 0 评论 -
4.1 ROS元功能包
是ROS中的一个虚包,里面没有实质性的内容,但是它依赖了其他的软件包,通过这种方法可以把其他包组合起来,我们可以认为它是一本书的目录索引,告诉我们这个包集合中有哪些子包,并且该去哪里下载。显而易见的,逐一安装功能包的效率低下,在ROS中,提供了一种方式可以将不同的功能包打包成一个功能包,当安装某个功能模块时,直接调用打包后的功能包即可,该包又称之为元功能包(metapackage)。turtlebot3 ....方便用户的安装,我们只需要这一个包就可以把其他相关的软件包组织到一起安装了。原创 2024-06-24 20:02:16 · 490 阅读 · 0 评论 -
4.2 ROS节点运行管理launch文件
关于 launch 文件的使用我们已经不陌生了,在第一章内容中,就曾经介绍到:一个程序中可能需要启动多个节点,比如:ROS 内置的小乌龟案例,如果要控制乌龟运动,要启动多个窗口,分别启动 roscore、乌龟界面节点、键盘控制节点。如果每次都调用 rosrun 逐一启动,显然效率低下,如何优化?采用的优化策略便是使用roslaunch 命令集合 launch 文件启动管理节点,并且在后续教程中,也多次使用到了 launch 文件。原创 2024-06-24 20:50:25 · 1205 阅读 · 0 评论 -
4.3 ROS工作空间覆盖
所谓工作空间覆盖,是指不同工作空间中,存在重名的功能包的情形。ROS 开发中,会自定义工作空间且自定义工作空间可以同时存在多个,可能会出现一种情况: 虽然特定工作空间内的功能包不能重名,但是自定义工作空间的功能包与内置的功能包可以重名或者不同的自定义的工作空间中也可以出现重名的功能包,那么调用该名称功能包时,会调用哪一个呢?原创 2024-06-24 21:17:14 · 424 阅读 · 0 评论 -
4.4 ROS节点名称命名
场景:ROS 中创建的节点是有名称的,C++初始化节点时通过API:ros::init(argc,argv,"xxxx");来定义节点名称,在Python中初始化节点则通过 rospy.init_node("yyyy") 来定义节点名称。在ROS的网络拓扑中,是不可以出现重名的节点的,因为假设可以重名存在,那么调用时会产生混淆,这也就意味着,不可以启动重名节点或者同一个节点启动多次,的确,在ROS中如果启动重名节点的话,之前已经存在的节点会被直接关闭,但是如果有这种需求的话,怎么优化呢?原创 2024-06-24 21:48:28 · 970 阅读 · 0 评论