ROS-turtlesim
前言:turtlesim是ros自带的一个功能包,应该是用于基础教学的功能包,帮助新手入门的一个实例,包括:节点,主题,服务以及参数的应用。通过学习使用turtlesim功能包可以了解ros的一些基础命令与通信架构。
1.启动ROS Master
roscore
2.启动小海龟仿真器节点
rosrun turtlesim turtlesim_node
3.启动小海龟键盘控制节点
rosrun turtlesim turtle_teleop_key
说明:
turtlesim - 功能包名称
turtlesim_node - 节点的名称,是在功能包turtlesim 下面
4.启动计算图节点
rqt_graph
5.查看当前系统启动的所有节点
rosnode list
--------------------------------------------------------------------------------
显示如下:
/rosout
/rqt_gui_py_node_7316
/teleop_turtle
/turtlesim
6.查看具体节点的信息
rosnode info /turtlesim
--------------------------------------------------------------------------------
显示如下:
Node [/turtlesim] 节点的名字
Publications: 该节点所发布的话题
* /rosout [rosgraph_msgs/Log]
* /turtle1/color_sensor [turtlesim/Color]
* /turtle1/pose [turtlesim/Pose]
Subscriptions: 该节点订阅的话题
* /turtle1/cmd_vel [geometry_msgs/Twist]
Services: 该节点使用的服务
* /clear
* /kill
* /reset
* /spawn
* /turtle1/set_pen
* /turtle1/teleport_absolute
* /turtle1/teleport_relative
* /turtlesim/get_loggers
* /turtlesim/set_logger_level
contacting node http://cdq1:33854/ ...
Pid: 21222 节点的ID号
Connections:
* topic: /rosout
* to: /rosout
* direction: outbound
* transport: TCPROS 通信协议
* topic: /turtle1/cmd_vel
* to: /teleop_turtle (http://vm:43869/)
* direction: inbound
* transport: TCPROS
7.查看系统中发布和订阅的话题
rostopic list
--------------------------------------------------------------------------------
显示如下:
/rosout
/rosout_agg
/statistics
/turtle1/cmd_vel
/turtle1/color_sensor
/turtle1/pose
8.查看话题的信息
rostopic info /turtle1/cmd_vel
--------------------------------------------------------------------------------
显示如下:
Type: geometry_msgs/Twist 消息类型
Publishers: 发布者是 /teleop_turtle
* /teleop_turtle (http://cdq1:408083/)
Subscribers: 订阅者是 /turtlesim 节点
* /turtlesim (http://cdq1:33853/)
9.监听话题信息
rostopic echo /turtle1/cmd_vel ; 在rosrun turtlesim turtle_teleop_key终端下控制方向键
--------------------------------------------------------------------------------
显示如下:
linear: 线速度的单位是 m/s
x: 2.0
y: 0.0
z: 0.0
angular: 角速度的单位是 rad/s
x: 0.0
y: 0.0
z: 0.0
10.发布话题
rostopic pub - /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]' //画弧 rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]' // 画圈
--------------------------------------------------------------------------------
其中,
-1 这个参数的意思是只发布一个命令,然后退出;
/turtle1/cmd_vel 要发布消息的话题;
geometry_msgs/Twist 要发布的消息类型名称;
-- (双破折号)这会告诉命令选项解析器接下来的参数部分都不是命令选项。这在参数里面包含有破折号-(比如负号)时是必须要添加的;
‘[2.0, 0.0, 0.0]’ ‘[0.0, 0.0, 1.8]’ 在x轴坐标上以每秒2.0 m的速度移动,以z轴为中心,每秒旋转1.8rad;2.0是linear的值,1.8是angular的值;
rostopic pub用法:rostopic pub [topic] [msg_type] [args];
-r 1 -r发布一个稳定的命令流,1,频率为1HZ。
11.查看系统中的服务
rosservice list
--------------------------------------------------------------------------------
显示如下:
/clear
/kill
/reset
/rosout/get_loggers
/rosout/set_logger_level
/rostopic_7788_1524147136200/get_loggers
/rostopic_7788_1524147136200/set_logger_level
/rqt_gui_py_node_6138/get_loggers
/rqt_gui_py_node_6138/set_logger_level
/spawn
/teleop_turtle/get_loggers
/teleop_turtle/set_logger_level
/turtle1/set_pen
/turtle1/teleport_absolute
/turtle1/teleport_relative
/turtlesim/get_loggers
/turtlesim/set_logger_level
12.查看服务的信息
rosservice info /spawn
--------------------------------------------------------------------------------
显示如下:
Node: /turtlesim
URI: rosrpc://vm:42961
Type: turtlesim/Spawn
Args: x y theta name
13.新增一只海龟
rosservice call spawn 2 2 0 “turtle2”
在(2,2)坐标点,0度方向,新生一只名字为turtle2的乌龟。
14.查看修改参数
查询运行中的参数:
rosparam list
--------------------------------------------------------------------------------
显示如下:
/background_b
/background_g
/background_r
/rosdistro
/roslaunch/uris/host_cdq1__38893
/rosversion
/run_id
获取background_b背景参数 :
rosparam get background_b
修改background_b背景参数 :
rosparam
此时背景颜色并没有改变,需要刷新一下:
rosservice call clear
-END-
ROS-turtlesim的更多相关文章
- Making my own Autonomous Robot in ROS / Gazebo, Day 2: Enable the robot
Day 2: Enable the robot Git Setting git checkout master git branch day2_enable_robot git push --set- ...
- ROS学习笔记(七)——节点
NEW 1 #打开新的终端,以后不再注释$ sudo apt-get install ros-<distro>-ros-tutorials #下载一个教学用的仿真器$ roscore #运 ...
- ROS 新手教程 命令汇总
## 工作环境搭建 查看环境变量的配置: wangsan@wangsan-Y50:~$ export | grep ROS declare -x ROSLISP_PACKAGE_DIRECTORIES ...
- ros下多机器人系统(1)
multi-robot system 经过两个多月的ros学习,对ros的认识有了比较深入的了解,本篇博客主要记录在ros下开发多机器人系统以及对ros更深入的开发.本篇博客是假定读者已经学习完了全部 ...
- ROS 多台电脑间进行通信
版权声明:本文为博主原创文章,转载请标明出处: http://www.cnblogs.com/liu-fa/p/5773822.html 在我看来,ROS最牛逼的地方就是它的通信机制了,不仅仅是进程间 ...
- ubuntu下ROS安装时sudo rosdep init和rosdep update的解决方法
问题: 在ubuntu上多次安装matlab选择合适的版本来调用摄像头,终于把系统搞坏了,重装系统后,ROS无法安装,每次安装到sudo rosdep init和rosdep update报错的问题, ...
- [ROS]1 小乌龟
对于一个新新新手,Linux,ROS都要学习.安装ROS真的很讨厌了,于是采用易科机器人实验室的ubuntu12.04-amd64-ros-exbot-h2-140520版本. 测试一下小乌龟节点.主 ...
- ROS主题发布订阅控制真实的机器人下位机
先模拟控制小乌龟 新建cmd_node.ccpp文件: #include"ros/ros.h" #include"geometry_msgs/Twist.h" ...
- ROS TF——learning tf
在机器人的控制中,坐标系统是非常重要的,在ROS使用tf软件库进行坐标转换. 相关链接:http://www.ros.org/wiki/tf/Tutorials#Learning_tf 一.tf简介 ...
- 理解ROS rqt_console和 roslaunch
1.使用rqt_console和roslaunch 这篇教程将介绍使用rqt_console和rqt_logger_level来调试以及使用roslaunch一次启动许多nodes.如果你使用ROS ...
随机推荐
- SurfaceView加载长图
1:SurfaceView加载长图,移到.可以充当背景 效果截图 2:View (淡入淡出动画没实现:记录下) package com.guoxw.surfaceviewimage; import a ...
- in 与 exist , not in 与 not exist
in和exists in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询.一直以来认为exists比in效率高的说法是不准确的. 如果查询的两个 ...
- VHDL之package
Pacakge Frequently used pieces of VHDL code are usually written in the form of COMPONENTS, FUNCTIONS ...
- 继承&封装
扩展一个已有的类,并且继承该类的属性和行为这种方式成为继承. 实例 public class Polygon { public int sides; public double area; publi ...
- java学习笔记1——继承
通过在类的声明中加入extends子句创建一个子类并继承父类的成员变量和方法.如: class SubClass extends SuperClass{ ... } 若SuperClass是另一个类的 ...
- jquery里面控制显示和隐藏 ___土狗toggle
$("#hide").click(function(){ $("p").hide(); }); $("#show").click(funct ...
- sass揭秘之@if,@for,@each(转载)
因为文章内含有很多sass代码,如需自己动手查看编译结果,推荐使用sassmeister这款在线编译工具,方便你阅读学习. 经过上两篇揭秘,大家心里对sass应该有了很好的认知感了,这篇文章基于前面两 ...
- Python笔记13------pandas作图
1.pandas可以用来画DataFrame和Series的图 如: import numpy as npimport matplotlib.pyplot as pltimport pandas as ...
- Project Euler 18 Maximum path sum I( DP and 记忆化搜索 )
题意:求从三角形顶端出发到达底部,所能够得到的最大路径和 方法一:记忆化搜索 /************************************************************ ...
- 使用shell脚本定时备份web网站代码
#!/bin/bash ############### common file ################ #备份文件存放目录 WEBBACK_DIR="/data/backup/ba ...