ROS2的turtlesim画一个圆

在 ROS 2 中,可以使用 turtlesim 包来实现绘制圆形的功能。turtlesim 是一个简单的模拟器,常用于教学和演示基本的 ROS 概念。要在 turtlesim 中控制乌龟绘制一个圆形,需要发布恰当的线速度和角速度组合到 /turtle1/cmd_vel 主题。
想一想在scratch中和Python里面是怎么画圆的,就知道这里怎么画里,其实原理是一样的,只是控制的方法不太相同而已。

一.建立turtlesim_node

首先确保运行了turtlesim,这个在各大教程中都有,主要是这么几步:

ros2 run turtlesim turtlesim_node

这一步会建立一个turtle的视图,类似于python中的tkinter
在这里插入图片描述

二. 发布消息

接下来就是发布消息里,一般,我们会用teleop来控制乌龟的走向,但是teleop的延时太厉害,以至于画一个五角星可以耗费整整半小时。太难了,所以既然是几何概念,那么我们就用代码来实现。

1.建立包

当然,我还是设置在主目录下,在主目录下建立一个文件夹,叫做ROSproject。在这个文件夹下建立src,通过terminal进入文件夹
建立ros项目。

ros2 pkg create --build-type ament_python my_ros_py_package

然后进入 my_ros_py_package
建立circleNode.py

touch circleNode.py

现在的目录树是这样的:

└── my_ros_py_package
    ├── my_ros_py_package
    │   ├── circleNode.py
    │   └── __init__.py
    ├── package.xml
    ├── resource
    │   └── my_ros_py_package
    ├── setup.cfg
    ├── setup.py
    └── test
        ├── test_copyright.py
        ├── test_flake8.py
        └── test_pep257.py

2.编写代码

在circleNode.py中写入以下代码

import rclpy
import math
from rclpy.node import Node

# from std_msgs.msg import String
from geometry_msgs.msg import Twist



class MinimalPublisher(Node):

    def __init__(self
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值