ROS入门学习笔记(二)

机器人操作系统入门》——柴长坤:第二课 工程结构

2.1 Catkin工作空间与编译系统

ROS工程结构(文件系统级):

层次1:
catkin工作空间=catkin+工作空间
catkin:ROS定制的编以构建系统,对CMake的扩展,用来编译ROS程序
catkin工作空间:一个文件夹,用来组织和管理功能包的文件夹,以catkin工具编译

指令:catkin_make
建立工作空间:

$mkdir -p -/catkin_ws/src
$cd ~/catkin_ws/
$catkin_make

编译:

$cd ~/catkin_ws/  #回到工作空间
$catkin_make
$source ~/catkin_ws/devel/setup.bash  #编译完成后的workspace刷新到环境中去

层次2:
src文件夹:里面有各种功能包(package)

2.2 Package的组成

层次3:
package:ROS软件的基本组织形式,是catkin编译的基本单元,一个package可以包含多个可执行文件(节点)
package最精简结构:CMakeLists.txt, package.xml

层次4:
CMakeLists.txt:规定catkin编译的规则,例如:源文件、依赖项、目标文件
(如果编译出现问题多半和CMakeLists.txt文件或者依赖包有关)
package.xml:定义package的属性,例如:包名、版本号、作者、依赖等
scripts文件夹:*.py、*.sh
include文件夹:*.h
src文件夹:*.cpp、*.py(可被其他包import的python文件)
srv文件夹:*.srv
msg文件夹:*.msg
action文件夹:*.action
launch文件夹:launch文件(launch)
config文件夹:配置文件(yaml)
launch文件:一次性运行多个可执行文件

常用指令:
1.rospack
查找某个pkg的地址

$rospack find [package_name]

列出本地所有pkg

$rospack list

2.roscd
跳转到某个pkg路径下

$roscd [package_name]

3.rosls
列举某个pkg下的文件信息

$rosls [package_name]

4.rosed
编辑pkg中的文件

$rosed [package_name] [file_name]

5.catkin_create_pkg
创建一个pkg

$catkin_create_pkg <pkg_name> [deps]

6.rosdep
安装某个pkg所需的依赖

$rosdep install [pkg_name]

2.3 演示操作(跳过)

2.4 Metapackage

Metapackage:虚包无内容,依赖许多其他软件包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器人操作系统入门 课程讲义 ROS 柴长坤 中国大学MOOC 目錄 前言 第一章 ROS简介 机器人时代的到来 ROS发展历程 什么是ROS 安装ROS 安装ROS-Academy-for-Beginners教学包 二进制与源码包 安装RoboWare Studio 单元测试一 第二章 ROS文件系统 Catkin编译系统 Catkin工作空间 Package软件包 CMakeLists.txt package.xml Metapacakge软件元包 其他常见文件类型 单元测试二 第三章 ROS通信架构(一) Node & Master Launch文件 Topic Msg 常见msg类型 单元测试三 第四章 ROS通信架构(二) Service Srv Parameter server Action 常见srv类型 常见action类型 单元测试四 第五章 常用工具 Gazebo RViz Rqt Rosbag Rosbridge moveit! 单元测试五 第六章 roscpp Client Library与roscpp 节点初始、关闭与NodeHandle Topic in roscpp Service in roscpp Param in roscpp 时钟 日志与异常 第七章 rospy Rospy与主要接口 Topic in rospy Service in rospy Param与Time 第八章 TF与URDF 认识TF TF消息 tf in c++ tf in python 统一机器人描述格式 附录:TF数学基础 三维空间刚体运动---旋转矩阵 三维空间刚体运动---欧拉角 三维空间刚体运动---四元数 第九章 SLAM 地图 Gmapping Karto Hector 第十章 Navigation Navigation Stack move_base costmap Map_server & Amcl 附录:Navigation工具包说明 amcl local_base_planner carrot_planner clear_costmap_recovery costmap_2d dwa_local_planner fake_localization global_planner map_server move_base_msg move_base move_slow_and_clear navfn nav_core robot_pose_ekf rotate_recovery
古月居ROS入门21课笔记主要涵盖了ROS的安装和基本使用方法,以下是我的总结: 1. 安装ROS:首先要安装ROS操作系统,根据教程可以选择安装适合自己系统的版本,如ROS Kinetic或ROS Melodic等。 2. 创建工作空间:使用catkin工具创建ROS工作空间,可以将所有的ROS相关文件放在这个空间中。 3. 创建包:在工作空间内创建一个ROS包,这个包是ROS项目的基本单元。可以使用catkin_create_pkg命令来创建包,并指定包的依赖项。 4. 编写节点代码:节点是ROS中最基本的执行单元,可以通过编写节点来实现各种功能。可以使用C++或Python编写节点代码。 5. 编译代码:使用catkin_make命令编译ROS代码,编译后会生成可执行文件。编译成功后,可以在工作空间中的bin目录下找到生成的可执行文件。 6. 运行节点:使用rosrun命令来运行编译好的节点。节点运行后会执行相应的功能。 7. 使用消息通信:ROS中的节点通过发布和订阅消息来进行通信。可以编写发布节点和订阅节点代码,通过话题的方式进行消息传递。 8. 使用服务通信:除了消息通信,ROS还提供了服务通信的机制。可以编写服务端和客户端代码,进行服务调用和响应。 9. 使用参数服务器:ROS提供了参数服务器来存储和共享参数。可以将特定的参数存储在参数服务器上,并在节点中进行访问和修改。 10. 使用RViz可视化:RViz是ROS环境下的可视化工具,可以将机器人模型和传感器数据等进行可视化展示,方便调试和分析。 通过学习古月居ROS入门21课,我对ROS的基本使用方法和常用功能有了初步了解。在实践中,我将进一步深入学习和应用ROS,提高自己在机器人开发和控制方面的能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值