首页 > 编程知识 正文

ros操作系统简介,ros基本操作

时间:2023-05-03 09:24:59 阅读:262645 作者:3027

文章目录 一.ROS文件系统二.创建ROS程序包编译ROS程序包三.ROS节点四.ROS话题五.ROS服务和参数六.使用rqt_console和runlaunch七.使用rosed编辑ROS中的文件八.ROS消息(msg)和ROS服务(srv)九.消息发布器和订阅器

一.ROS文件系统 $ export | grep ROS # 确保已经正确配置了脚本环境$ echo $ROS_PACKAGE_PATH# 查看ros环境变量是否包含工作空间目录$ rospack find [包名称] # 返回软件包的路径信息$ roscd [本地包名称[/子目录]] # 直接切换工作目录到某个软件包或软件包集当中$ pwd# 输出当前工作目录$ roscd long# 切换到ROS保存日志文件的目录下$ rosls [本地包名称[/子目录]] # 罗列目录,允许直接按软件包的名称而不是绝对路径执行命令 二.创建ROS程序包编译ROS程序包 $ mkdir [工作空间名称] && cd [工作空间名称] && mkdir src #创建工作空间$ catkin_make$ echo "source ~/ork_ws/devel/setup.bash" >> ~/.bashrc$ source ~/.bashrc$ catkin_create_pkg <package_name> [depend1] [depend2] [depend3] # 创建一个名为package_name,且依赖于depend1-3的软件包# package.xml为说明标签文件$ rospack depends1 [软件包名]# 查看一级依赖$ rospack depends [软件包名]# 查看所有依赖包 三.ROS节点 $ rosnode list # 列出当前活跃的节点$ rosnode info [节点名]# 返回一个特定节点的信息$ rosrun [package_name] [node_name]# 运行一个包内的节点$ rosnode ping [节点名]# 测试节点连接情况 四.ROS话题 $ sudo apt-get install ros-<distro>-rqt$ sudo apt-get install ros-<distro>-rqt-common-plugins# 安装rqt_graph,显示当前系统运行情况的动态图形$ rosrun rqt_graph rqt_graph# 运行rqt_graph$ rqt_graph$ rostopic -h# 使用帮助选项查看rostopic子命令$ rostopic echo [topic]# 显示在某个话题上发布的数据$ rostopic list # 列出所有当前订阅和发布的话题$ rostopic list -h#$ rostopic list -v# 显示出有关所发布和订阅的话题及其类型的详细信息$ rostopic type [topic]# 查看所发布话题的消息类型$ rostopic pub [topic] [msg_type] [args]# 把数据发布到当前某个正在广播的话题上$ rostopic pub -r# 发布一个稳定的命令流$ rostopic hz [topic]# 用来查看数据发布的频率$ rostopic type [topic] | rosmsg show# 查看某个话题的更深层次的信息$ rosrun rqt_plot rqt_plot# 实时显示一个发布到某个话题上的数据变化图形 命令成分作用rostopic pub发布消息到话题的指令-1只发送一次-r表示重复发送命令/turtle1/cmd_vel发送给哪个话题geometry_msgs/Twist发送消息类型- -表示后面出现的 ’ - ’  不表示命令‘[2,0,0]’ ‘[0,0,1.8]’发送消息内容,格式可以查询http://wiki.ros.org/ROS/YAMLCommandLine

例:rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'

五.ROS服务和参数 $ rosservice list# 输出可用服务的信息$ rosservice call [service] [args]# 调用带参数的服务$ rosservice type [service]# 输出服务类型# empty,服务类型为空,表明在调用这个服务时不需要从参数$ rosservice find# 依据类型寻找服务$ rosservice uri# 输出服务的ROSRPC uri$ rosparam set[param_name]# 设置参数$ rosparam get[param_name]# 获取参数$ rosparam get /# 显示参数服务器上的所有内容$ rosparam load[file_name]# 从文件读取参数$ rosparam dump[file_name]# 向文件中写入参数$ rosparam delete# 删除参数$ rosparam list# 列出参数名 六.使用rqt_console和runlaunch $ rosrun rqt_console rqt_console# ROS日志框架的一部分,用来显示节点的输出信息$ rosrun rqt_logger_level rqt_logger_level# 允许我们修改节点运行时输出信息的日志等级(logger levels)(包括DEBUG,WARN,INFO,ERROR)日志等级优先级:Fatal > Error > Warn > Info > Debug$ roslaunch [package] [filename.launch]# 用来启动定义在launch文件中的多个节点$ touch [filename.launch]# 创建.launch文件 七.使用rosed编辑ROS中的文件 $ rosed [package_name] [filename]#rosed是rosbash(/rosbash)的一部分,利用它可通过包名来获取到待编辑文件 八.ROS消息(msg)和ROS服务(srv) $ cd ~/catkin_ws/src/beginner_tutorials $ mkdir msg $ echo "int64 num" > msg/Num.msg$ rosmsg show [message type] #检查ROS是否能够识别消息$ roscd [package]$ mkdir srv$ roscp [package_name] [file_to_copy_path] [copy_path] #实现将文件从一个package复制到另外一个package的功能$ rossrv show <service type> #检查ROS是否能够识该服务$ ros命令 -h 九.消息发布器和订阅器 $ roscore # 启动ros发布器$ source ./devel/setup.sh$ rosrun [pakage] [发布器节点]# 启动发布器$ rosrun [pakage] [发布器节点.py]$ rosrun [pakage] [订阅器节点]# 启动订阅器节点$ rosrun [pakage] [订阅器节点.py]$ rostopic list -v #查看当前系统中发布的所有话题$ rosbag record -a #录制所有节点发布的所有信息$ rosbag info <your bagfile># 查看bag文件中的内容$ rosbag play <your bagfile># 回放录制的bag数据$ rosbag play -r 2 <bagfile># 通过设定一个参数来改变消息的发布速率,此处为两倍$ rosbag record -O <your bagfile> <topic1> <topic2> # 录制指定的话题1和话题2$ roscd# 进入当前工作空间$ roswtf # 没有启动roscore时,roswtf做的是安装检查;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。