ROS基础笔记一
Posted tianxiao719
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS基础笔记一相关的知识,希望对你有一定的参考价值。
运行平台是Ubuntu20.04
基础概念
使用终端
打开终端:
ctrl+alt+t
打开指定文件夹:
cd 文件夹名/
终端直接访问指定文件夹:
右击——在终端打开
编译C++文件:
g++ 文件名 -o 输出可执行文件名字
运行可执行文件:.
/可执行文件名
复制刚刚已经输入的指令:
↑
表示使用多少频率循环执行,频率的单位默认Hz:
-r 数字
停止命令行的在执行语句
Ctrl + c
命令行工具
引例:启动小海龟
启动rosmaster(ros所有节点的管理器),运行ros系统先行指令:
$ roscore
运行节点:
$ rosrun
运行小海龟节点:
$ rosrun turtlesim turtlesim_note
运行键盘控制turtle节点:
rosrun turtlesim turtle_telelop_key
显示系统计算图(qt可视化工具):
rqt_graph
显示出了目前系统的全貌
常用无界面命令行工具
1.节点相关
输入后回车能看到其命令后缀:
rosnode
显示当前系统所有节点(除了rqt中显示的节点还有一些系统默认节点):
rosnode list
查看节点在干啥:
rosnode info /节点名
2.话题相关
打印当前系统所有话题列表:
rostopic list
发布话题:
rostopic pub /话题名 话题消息类型
消息的数据内容
ros中长度单位默认米,角度单位默认弧度,时间单位默认秒
ros中z轴是屏幕法向轴
显示话题消息数据类型:
rosmsg show 话题消息类型
话题记录:
rosbag record
记录保存所有数据:
rosbag record -a
一般的完整记录命令:
rosbag record -a -o 输出文件名
ctrl c结束记录
数据保存在当前终端的默认路径下
通过数据包复现刚刚的内容:
rosbag play 文件名
3.服务相关
rosservice list
rosservice call /spawm 服务类型(tabtab补全)
服务是有反馈的,其余行即为反馈信息
工作空间与功能包
工作空间(workspace)相当于visual studio中的工程/解决方案。之后工程中的所有文件都放在里面
workspace中有四个文件夹:
src(Source Space)代码空间:存放各种功能包
build(Build Space)编译空间:存放编译过程文件
devel(Development Space)开发空间:用于运行编译生成的可执行文件、脚本、各种库(ROS1中仍然存在,ROS2中与install合并)
install(Install Space)安装空间:安装相关的文件、指令、中间文件等等
创建工作空间:
mkdir -p ~/catkin_ws(工作空间名)/src
cd ~/catkin_ws(工作空间名)/src
catkin_init_workspace
创建新文件夹:
mkdir + 创建文件夹名
进入文件夹
cd + 文件夹名
编译工作空间:
cd ~/catkin_ws(工作空间名)
catkin_make
编译工作空间得回到根目录
查看根目录
cd . . (回到上一级)
pwd
设置环境变量:
source devel/setup.bash
检查环境变量路径:
echo $ROS_PACKAGE_PATH
创建代码前得先在src中创建功能包
catkin_create_pkg package_name roscpp rospy std_msgs
include放头文件 src放代码
同工作空间中不允许同名功能包
launch启动文件的使用方法
Launch文件:通过XML文件实现多节点的配置和启动(自动启动ROS Master)
Launch文件语法:ROSlaunch语法
在功能包中创建launch文件的功能包
catkin_create_pkg learning_launch
一般会在learning_launch里新建launch文件夹(此工作空间的launch文件均放在这个文件夹里)
启动launch文件:
编译工作空间
catkin_make
启动launch文件
roslaunch 功能包名 launch文件名
例: 我们已经获取了一个SLAM导航的功能包,现在要开始进行实验和数据采集:
1.打开激光雷达功能包
1.1在工作空间中打开终端
1.2设置环境变量source devel/setup.bash
1.3启动激光雷达功能包
roslaunch livox_ros_driver livor_lidar.launch
2.打开SLAM模拟建图功能包
2.1返回工作空间另开终端
2.2设置环境变量source devel/setup.bash
2.3打开SLAM模拟建图的功能包(不运行)
roslaunch livor_mapping mapping_outdoor.launch(不回车)
3.另开终端,打开系统数据收集功能包
rosbag record -a
4.开始收集数据(5步按回车)
5.收集数据完毕,Ctrl+c关闭所有运行终端,系统自动保存到当前终端的默认路径下
以上是关于ROS基础笔记一的主要内容,如果未能解决你的问题,请参考以下文章
FTXUI按键和ROS2 CLI组合使用笔记(turtlesim+teleop)