百度文心一言与Notion的比较(机器人通信的例子)

文心一言出来有一段时间了,也经常会去问问,感觉对于简单的语义理解还是可以,其答案对于一些常见的常识等还是可以给出不错的答案,但是在数学与代码等方面基本上很差,基本的贷款利率、微积分、没有理解语义的代码等都是错误答案

比如问题:使用Python声明一个话题,以2Hz的速率发送连续整数到counter节点上

 其答案完全是错误的。

我们来看下Notion的答案,真的是完美

 

 而且生成的答案非常快,这个比ChatGPT4更好玩,更有意思,这个是几秒钟就给出的答案:https://www.notion.so/chyichin/5e80a2621556490296b8565bd6666564?pvs=4

也就是说几秒钟生成的一篇博文,可以打败很多的程序员的文章了,浏览上面链接文章需要登录,我这里也原文不动复制过来,大家看下效果,AI+Notion是一个怎样的存在:

本文将介绍如何使用Python声明一个话题,并以2Hz的速率发送连续整数到counter节点上的方法。

在ROS中,使用Python可以方便地声明话题。话题是ROS中的一种通信机制,它可以让不同的节点之间进行数据交换。在本文中,我们将使用Python代码声明一个名为“count”的话题,并以2Hz的速率发送连续整数到counter节点上。

首先,需要安装ROS以及Python的ROS包。安装完成后,在终端中输入以下命令:

$ roscore

这将启动ROS的核心节点,它将负责管理整个系统。

接下来,需要创建一个Python脚本来声明话题并发送数据。在终端中输入以下命令:

$ cd ~
$ mkdir -p catkin_ws/src
$ cd catkin_ws/src
$ catkin_create_pkg my_pkg rospy
$ cd my_pkg
$ mkdir scripts
$ cd scripts
$ touch talker.py

然后,在talker.py文件中输入以下代码:

#!/usr/bin/env python
import rospy
from std_msgs.msg import Int32

def talker():
    pub = rospy.Publisher('count', Int32, queue_size=10)
    rospy.init_node('talker', anonymous=True)
    rate = rospy.Rate(2) # 2Hz
    count = 0
    while not rospy.is_shutdown():
        count += 1
        rospy.loginfo(count)
        pub.publish(count)
        rate.sleep()

if __name__ == '__main__':
    try:
        talker()
    except rospy.ROSInterruptException:
        pass

这段代码中,我们首先导入了必要的ROS库和Int32消息类型。然后,我们定义了一个名为“talker”的函数,其中我们创建了一个名为“count”的话题,并将其数据类型设置为Int32。我们使用rospy.init_node函数来初始化ROS节点,并设置其名称为“talker”。我们使用rospy.Rate函数来控制发布速率为2Hz。最后,在一个while循环中,我们不断递增变量count的值,并将其发布到话题中。

在终端中输入以下命令,使得talker.py文件可执行:

$ chmod +x talker.py

最后,在另一个终端中输入以下命令,启动counter节点:

$ rosrun rospy_tutorials listener.py

这将启动一个名为“listener”的节点,并订阅我们声明的“count”话题。在talker.py文件所在的终端中输入以下命令,启动talker节点:

$ rosrun my_pkg talker.py

这将启动一个名为“talker”的节点,并发布连续的整数到“count”话题中。在listener终端中,可以看到每秒钟收到两个整数的输出。

至此,我们已经成功地使用Python声明了一个话题,并以2Hz的速率发送连续整数到counter节点上。这种方法可以用于ROS中的各种机器人交互任务中。

猜你喜欢

转载自blog.csdn.net/weixin_41896770/article/details/129983427
今日推荐