欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

ROS小乌龟turtlesim详解

发布时间:2024/1/18 编程问答 60 豆豆
生活随笔 收集整理的这篇文章主要介绍了 ROS小乌龟turtlesim详解 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

turtlesim 小乌龟模拟

小乌龟的启动

在安装完ROS之后,就可以启动小乌龟了,打开一个终端。
1. 首先要打开ROS服务
roscore
2. 打开一个新终端,打开小乌龟
rosrun turtlesim turtlesim_node
3. 打开一个新终端,通过键盘控制小乌龟,这个终端窗口必须置顶才能键盘控制
rosrun turtlesim turtle_teleop_key
会出现如下结果,此时就可以通过键盘的前后左右来控制小乌龟的平面运动了。
Reading from keyboard
—————————
Use arrow keys to move the turtle.

给小乌龟的运动控制节点发布消息

首先通过ctrl+C 命令,关闭键盘控制终端的节点

  • 输入话题列表查看指令
    rostopic list
    可以看到当前有如下5个节点,其中/turtle1/cmd_vel 是控制小乌龟运动的节点
    /rosout
    /rosout_agg
    /turtle1/cmd_vel
    /turtle1/color_sensor
    /turtle1/pose

  • 通过rostopic pub命令,给指定的话题发布消息
    rostopic pub /turtle1/cmd_vel geometry_msgs/Twist “linear:
    x: 0.0
    y: 0.0
    z: 0.0
    angular:
    x: 0.0
    y: 0.0
    z: 0.0”
    /turtle1/cmd_vel为话题,geometry_msgs/Twist 为数据类型。linear为线速度,angular为角速度,单位是m/s 和 rad/s.
    线速度linear,x是前后,y是左右,z是上下。角速度angular,x是沿X轴逆时针转动,y是沿y轴逆时针转动,z是沿Z轴逆时针转动。
    例如:”linear: x: 1.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0” 小乌龟沿X轴做直线运动。
    例如:”linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0” 小乌龟沿Z轴原地转动
    例如:”linear: x: 1.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 1.0” 小乌龟边向前,边自传,速度合成后,轨迹是一个圆。

  • 通过rqt图形化工具给话题发布消息

  • 打开rqt工具
    rqt
  • 在窗口上面的工具栏选择 plugins>topics>Message Publisher
  • topic 选择/turtle1/cmd_vel Type选择geometry_msgs/Twist Freq 为消息发布频率 单位为HZ,
  • 点击加号就可以给指定话题发布消息了,点击小三角就而已给速度和线速度赋值。勾选上面的方框就开始发布了。可以看到小乌龟运动起来了。
  • 同时打开两个小乌龟

  • 如何打开第二个乌龟呢?首先我们列出所有当前的ros service
    rosservice list

    会出现以下内容
    /clear
    /kill
    /reset
    /rosout/get_loggers
    /rosout/set_logger_level
    /spawn
    /turtle1/set_pen
    /turtle1/teleport_absolute
    /turtle1/teleport_relative
    /turtlesim/get_loggers
    /turtlesim/set_logger_level

  • 用到spawn命令再生一个小乌龟,当出现/spawn 后一直按tab键会补全,然后回车,会自动生成一个按数字顺序命名的小乌龟
    rosservice call /spawn “x: 0.0
    y: 0.0
    theta: 0.0
    name: ””
    name: “turtle2”(回车后自动生成的名字)

  • 总结

    以上是生活随笔为你收集整理的ROS小乌龟turtlesim详解的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。