0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

当旭日X3派遇上ChatGPT,我们能「chat」什么

地瓜机器人 2023-02-24 11:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

地平线旭日®X3派(下文简称旭日X3派)是一款拥有着高算力,面向生态开发者嵌入式,可用于机器人无人驾驶智能家居等领域,并搭载了TogetherROS开发平台,可高效进行机器人开发。ChatGPT是一款由OpenAI开发的自然语言处理模型,可以理解人类语言、自动生成文本、回答问题和完成其他任务,还可以与其他技术联动,实现更加复杂的应用。
旭日X3派遇上ChatGPT会碰撞出什么火花呢?本文使用旭日X3派作为载体,在OriginBot上使用ChatGPT进行问答。相关问题欢迎大家注册加入地平线开发者社区交流讨论,配置文件及代码详见地平线开发者社区。

环境配置

1、解释OriginBot小车代码

1.jfif

2、解释运动学模型

2.png

3、使用OpenCV在OriginBot小车上实现巡线功能

3.png


3.1.png

4、在ROS2环境中实现gmapping或者cartographer

4.png

5、总结对话

5.jfif

综上,我们发现ChatGPT有着记忆储存的功能,它区别于SiRi传统的一问一答,能根据聊天的上下文进行互动并归纳总结所有的问题,协助我们完成编程。并且ChatGPT在回复消息时是逐字的显示,很难感觉到是和机器人在对话,仿佛它只是个博学的朋友。

它在针对简单编程问题的处理上可谓是非常惊艳,在ROS相关的问题上,比我们人类更有耐心解答,有时会画出重点并扩展更多的相关知识帮助你去解决问题掌握技术。

既然ChatGPT都能接入WX,那么它和旭日X3派一定也能「chat」一下!不妨我们直接询问ChatGPT,该如何使得旭日X3派和ChatGPT联系起来!它给了我们这样的一个答案:

6.png

模型部署

1、部署基本环境

进入旭日X3派,执行以下命令(此处使用的是OriginBot v1.0.2的镜像):

pip3 install openai

2、学习OpenAI API如何使用

7.png

import openai # 将OpenAI访问令牌设置为环境变量 openai.api_key = "YOUR_API_KEY" # 调用OpenAI GPT-3模型,生成回答 response = openai.Completion.create( engine="text-davinci-002", prompt="你好!", max_tokens=1024, # 最大1024个标记 temperature=0.7, n=1, stop=None, ) # 输出生成的回答 print(response.choices[0].text)

3、书写节点代码

import rclpy from rclpy.node import Node from std_msgs.msg import String import openai class OpenAINode(Node): def __init__(self): super().__init__('openai_node') self.publisher_ = self.create_publisher(String, 'openai_text', 10) self.subscription = self.create_subscription( String, 'user_input', self.listener_callback, 10) self.subscription # 防止被Python垃圾回收机制删除 def listener_callback(self, msg): # 处理从ROS话题订阅到的输入 input_text = msg.data # 调用OpenAI的GPT-3模型生成文本 openai.api_key = 'YOUR_API_KEY' response = openai.Completion.create( engine="davinci", prompt=input_text, max_tokens=60, n=1, stop=None, temperature=0.7 ) # 将生成的文本发布到ROS话题 self.publisher_.publish(response.choices[0].text) def main(args=None): rclpy.init(args=args) openai_node = OpenAINode() rclpy.spin(openai_node) openai_node.destroy_node() rclpy.shutdown() if __name__ == '__main__': main()

4、部署到旭日X3派中

此处,即可按照古月老师的ROS2 21讲的方式来创建一个基于python的功能包。

5、程序运行

8.png

可以看到,此处运行状态与理想情况有较大出入。回到这一段代码:

import openai # 将OpenAI访问令牌设置为环境变量 openai.api_key = "YOUR_API_KEY" # 调用OpenAI GPT-3模型,生成回答 response = openai.Completion.create( engine="text-davinci-002", prompt="你好!", max_tokens=1024, # 最大1024个标记 temperature=0.7, n=1, stop=None, ) # 输出生成的回答 print(response.choices[0].text)

当前,engine使用的模型,此处是”text-davinci-002“,prompt是指输入文本,max_tokens指的是最大输出文字。首先,打印出所有的模型,示例代码如下:

import openai # 将OpenAI访问令牌设置为环境变量 openai.api_key = "YOUR_API_KEY" # 获取OpenAI最新的语言模型名称 models = openai.Model.list() latest_model = models['data'][0].id print("最新的OpenAI语言模型是:", latest_model) print("\n") printf("所有的模型如下:", models)

与当前WX接入ChatGPT方式进行对照发现,可将其理解为Transformer模型,直接把当前和之前所有的问题和回答都当成输入,生成最终的代码:

import rclpy from rclpy.node import Node from std_msgs.msg import String import openai class OpenAINode(Node): def __init__(self): super().__init__('openai_node') self.publisher_ = self.create_publisher(String, 'chatgpt_node', 10) self.subscription = self.create_subscription( String, 'user_input', self.listener_callback, 10) self.history = "" def listener_callback(self, msg): # 处理从ROS话题订阅到的输入 input_text = msg.data self.history += input_text self.history += " " # 调用OpenAI的GPT-3模型生成文本 openai.api_key = 'KEY' #models = openai.Model.list() #latest_model = models['data'][0].id #print(models) response = openai.Completion.create( engine="text-davinci-003", prompt=self.history+input_text, max_tokens=1024, n=1, stop=None, temperature=0.7 ) # 将生成的文本发布到ROS话题 msg = String() msg.data = response.choices[0].text print(msg.data) self.history += msg.data self.history += " " def main(args=None): rclpy.init(args=args) chatgpt_node = OpenAINode() rclpy.spin(chatgpt_node) chatgpt_node.destroy_node() rclpy.shutdown() if __name__ == '__main__': main()

效果如下:

9.png

本文转自地平线发者社区
原作者:Lxxxb

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1813

    文章

    49734

    浏览量

    261511
  • 开发板
    +关注

    关注

    25

    文章

    6122

    浏览量

    113322
  • OpenAI
    +关注

    关注

    9

    文章

    1238

    浏览量

    9813
  • ChatGPT
    +关注

    关注

    31

    文章

    1596

    浏览量

    10072
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    半年参与3万辆宝马X3生产,人形机器人“进厂打工”真成了

    了其人形机器人“进厂打工”的最新成果。   Figure 02:半年参与3万辆宝马X3生产,进入退役阶段   根据Figure AI的说法,在过去的六个月内,其第二代人形机器人Figure 02已经在宝马集团斯帕坦堡工厂参与生产了3
    的头像 发表于 11-24 08:25 7430次阅读
    半年参与<b class='flag-5'>3</b>万辆宝马<b class='flag-5'>X3</b>生产,人形机器人“进厂打工”真成了

    华为路由 X3 Pro火了!业界首发Wi-Fi7+和透明天线,1299元起

    电子发烧友原创 章鹰 11月25日,在华为 Mate 80 系列 / Mate X7 及全场景新品发布会上,华为消费者BG CEO何刚宣布,首款艺术路由——华为路由 X3 Pro日照金山发布。这款
    的头像 发表于 11-30 00:46 6161次阅读
    华为路由 <b class='flag-5'>X3</b> Pro火了!业界首发Wi-Fi7+和透明天线,1299元起

    EtherCAT遇上PROFINET:我们的“协议小翻译”让矿井安全手拉手

    EtherCAT遇上PROFINET:我们的“协议小翻译”让矿井安全手拉手 炎夏的钢铁车间里,巨型轧机正以精确的节奏吞吐着赤红的钢坯。就在今晨,这条产线刚刚完成了一场静默的变革——我们
    的头像 发表于 10-22 10:00 181次阅读
    <b class='flag-5'>当</b>EtherCAT<b class='flag-5'>遇上</b>PROFINET:<b class='flag-5'>我们</b>的“协议小翻译”让矿井安全手拉手

    如何在香橙5 Plus上移植deepin 25操作系统

    开源生态遇上极客硬件,会碰撞出怎样的火花? deepin 25 遇上香橙 5 Plus 开发板,又会带来什么样的实践体验?
    的头像 发表于 10-11 10:29 506次阅读

    奇瑞风云X3系列双车上市

    8月16日,奇瑞汽车旗下风云品牌全新方盒子产品序列——风云X3与风云X3 PLUS正式宣告上市。风云X3系列基于iCAR 03系列焕新升级而来,在造型设计、动力性能、智能科技、功能配置及工艺品质等维度实现全方位跃升。
    的头像 发表于 08-19 11:48 835次阅读

    20个任何人都能完成的树莓酷炫项目!

    不知道如何利用你买的树莓?这个小设备真的台式电脑用吗?服务器吗?
    的头像 发表于 07-03 17:10 3014次阅读
    20个任何人都能完成的树莓<b class='flag-5'>派</b>酷炫项目!

    树莓与EthernetHat:用ChatGPT实现的MQTT智能家居项目!

    我们使用Pico、WIZnetW5100S和PicoBricks开发板开发了MQTTRGB灯,通过ChatGPT4.0生成和优化代码。项目所需组件硬件组件PicoBricks扩展板x1WIZnetW5100S-EVB-Picox
    的头像 发表于 06-03 15:29 1.1w次阅读
    树莓<b class='flag-5'>派</b>与EthernetHat:用<b class='flag-5'>ChatGPT</b>实现的MQTT智能家居项目!

    韵乐Vinal X3/X5卡拉OK音频处理器调音软件简介

    韵乐Vinal X3/X5卡拉OK音频处理器调音软件软件简介韵乐Vinal X3/X5调音软件具有音箱处理器功能的卡拉ok效果器每个功能部分都独立可调且有相应的PC界面可直观调节易于操
    发表于 05-16 15:33 1次下载

    RDK X3 带飞的智能护理系统:让机器人秒变贴心小棉袄

    济往开来团队带着超燃黑科技来了!基于 RDK X3 开发的老年智能监控系统,跌倒秒报警、手势一键呼叫、还能陪唠嗑!最绝的是 开源代码直接甩链接 ,技术党狂喜!
    的头像 发表于 05-09 21:53 578次阅读
    RDK <b class='flag-5'>X3</b> 带飞的智能护理系统:让机器人秒变贴心小棉袄

    RDK X3 遇上仓储机器人,智链团队让效率原地起飞

    我们带着仓储界的"六边形战士"来救场了!这台智能仓储机器人,堪称仓储界的"瑞士军刀"。无人叉车自带"聪明大脑",能读手势、懂指令,沟通毫无障碍;差速舵轮+四轮全向移动的设计,让它在狭窄空间里像跳探戈一
    的头像 发表于 04-21 01:18 663次阅读
    <b class='flag-5'>当</b> RDK <b class='flag-5'>X3</b> <b class='flag-5'>遇上</b>仓储机器人,智链团队让效率原地起飞

    HMC-XTB110 无源x3倍频器,24-30GHz输入技术手册

    HMC-XTB110是一款单芯片x3无源倍频器,采用GaAs肖特基二极管技术,具有低转换损耗和高度Fo隔离。 这款宽带x3倍频器无需直流电源,适用于低频率的3倍频率比直接生成高频率更加经济的大规模
    的头像 发表于 04-16 16:15 690次阅读
    HMC-XTB110 无源<b class='flag-5'>x3</b>倍频器,24-30GHz输入技术手册

    树莓遇上ChatGPT,魔法热线就此诞生!

    派上,拿起听筒、拨号,就能享受由AI驱动的对话,仿佛回到了传统的电话时代。树莓负责语音识别、文本生成和语音播放,ChatGPT会记住通话中的每一句话。这意味着你
    的头像 发表于 04-13 09:04 1.1w次阅读
    树莓<b class='flag-5'>派</b><b class='flag-5'>遇上</b><b class='flag-5'>ChatGPT</b>,魔法热线就此诞生!

    自行车遇上了树莓

    随着Brompton折叠自行车的知名度飙升,RaspberryPi帮助该公司在伦敦的制造工厂实现了具有挑战性的生产目标。解决方案树莓4及更早型号企业规模大型企业行业自行车制造Brompton折叠
    的头像 发表于 03-25 09:39 436次阅读
    <b class='flag-5'>当</b>自行车<b class='flag-5'>遇上</b>了树莓<b class='flag-5'>派</b>

    “你的钱来了”:财神1号,RDK X3驱动,自动捡钱不手软!

    采用 RDK X3 打造无情的捡钱机器,每天8亿纸币掉在路面上,财神1号帮你捡个够!
    的头像 发表于 02-18 11:15 936次阅读
    “你的钱来了”:财神1号,RDK <b class='flag-5'>X3</b>驱动,自动捡钱不手软!

    Cadence推出Palladium Z3与Protium X3系统

    楷登电子(Cadence)公司近日宣布,正式推出新一代Cadence® Palladium® Z3 Emulation和Protium™ X3 FPGA原型验证系统。这一组合标志着数字孪生
    的头像 发表于 01-07 13:48 1721次阅读