分类
catkin 是ros中的make的种编译方式,ROS 特有的,叫做catkin_make
编辑程序包 "编译source你的环境配置(setup)文件
$source /opt/ros/kinetic/setup.bash"
ROS_PACKAGE_PATH 环境变量
rospack ROS指令 rospack find 获取软件包的有关信息
roscd ROS指令 可直接切换到某个软件包中,(前提是设置了环境变量,source setup.bash)
roscd log ROS指令 可以切换到ROS保存日志文件的目录下
rosls ROS指令 可直接软件包的名称执行(而不是绝对路径),显示文件夹下文件
catkin_create_pkg ROS指令 创建程序包
catkin_make ROS指令 "打开ROS 工作空间后,可使用(一次调用了cmake和make)
默认编辑src下catlkin,也可指定目录:catkin_make –ssource <path>
"
Nodes ROS概念 节点:一个节点即为一个可执行程序,它可通过ROS与其他节点通讯
Messages ROS概念 消息:消息是一种ROS数据类型
Topics ROS概念 话题:节点间的通讯通道,节点可发布消息到换话题,也可以订阅接收消息
Master ROS概念 节点管理器:ROS名称服务(如帮助节点找到彼此)
rosout ROS概念 "ROS 中相当于stdou/stderr
一种节点:用于收集和记录节点调,试输出信息,它总是在运行的"
roscore ROS概念 "主机+rosout+参数服务器
"
roscore ROS指令 运行所有节点程序,必须先运行的程序
rosnode ROS指令 查看节点信息
rosrun ROS指令 "使用包名直接运行一个包内的节点(而不需要知道这个包的路径)
格式:rosrun [package_name] [node_name]
打开一个模拟器:rosrun turtlesim turtlesim_node
打开键盘远程控制:rosrun turtlesim turtle_teleop_key
图形显示ROS系统运行情况:rosrun rqt_graph rqt_graph
日志查看:rosrun rqt_console rqt_console
→rosrun rqt_logger_level rqt_logger_level"
rostopic ROS指令 "查看话题信息(常用参数:echo、list、type、pub)
监控并显示topic:rostopic echo /xxx/xxx
查看topic的类型:rostopic type /xxx/xxx
发布消息:rostopic pub [topic] [msg_type] [args]"
rosmsg ROS指令 查看消息(常用参数:show)
rosservice ROS指令 "查看服务,服务是节点之间通讯的另一种方式,服务允许节点发送请求(request),并获得一个响应(response)
输出可用的服务:list
调用带参数服务 :call
查看服务类型:type ( 或response type xxx | rossrv show)"
rosparam ROS指令 "操作或存储ROS参数服务器
设置/获取:set/get
存储信息以备后续读取:rosparam dump [file_name]
加载信息:rosparam dump [file_name] [namespace]"
roslaunch ROS指令 "启动定义在launch文件中的多个节点
Roslaunch [package] [filename.launch]"
rosed ROS指令 "是rosbash的一部分,可以直接通过package名来获取待编辑的文件
指令rosed [package_name] [filename]"
rossrv ROS指令 查看服务类型
消息(msg)和服务(srv)介绍 有问题,没有通过编译
rosbag ROS指令 记录ROS系统运行时的话题数据,记录的话题数据将会累积保存到bag文件中
roswft ROS指令 "roswtf 可以检查你的ROS系统并尝试发现问题(确保roscore没有运行)
$roscd
$roswft
如果发现自己被一个编译或者通信之类的问题困扰的时候,可以尝试运行roswtf看能否帮你解决"
PR2模拟器 ROS概念
Turtlebot模拟器 ROS概念
Rviz 可视化工具,它允许你查看机器人中的传感器和内部状态
TF程序包 TF程序包(package)提供在机器人所使用到的各种坐标系之间的变换功能,并保持跟踪这些变换的变化。
URDF程序包