< >
Home » ROS2与Gazebo11入门教程 » ROS2与Gazebo11入门教程-利用ChatGPT控制小乌龟移动

ROS2与Gazebo11入门教程-利用ChatGPT控制小乌龟移动

说明:

  • 介绍如何通过Chatgpt的ros2包来控制小乌龟移动
  • 需要能正常访问openai的api,或科学上网
  • 环境:ubuntu 20.04 + galactic + chrome浏览器

实现原理

  • 通过文字或语音转文字获取提示词,提交给openai,得到反馈
  • 根据反馈提取关键词并转换为速度命令,发送到速度话题/turtle1/cmd_vel从而实现控制移动

安装步骤:

  • 1.安装chatgpt的ros2包rosgpt
# install rcm
curl -k https://www.ncnynl.com/rcm.sh | bash - 

# install rosgpt
rcm ros2_algorithm install_ros2_rosgpt
  • 2.配置OPENAI_API_KEY
  • 打开~/.bashrc
  • 如果已经有export OPENAI_API_KEY,这一行,则修改your_api_key为自己的
  • 如果没有,则添加如下行,填写自己OPENAI_API_KEY
echo 'export OPENAI_API_KEY=your_api_key' >> ~/.bashrc
  • 可以注册OPENAI网站,生成OPENAI_API_KEY
  • 3.设置Python脚本的代理上网,假设你科学上网代理地址为http://192.168.0.105:10808
  • 配置bashrc文件
echo 'export http_proxy=http://192.168.0.105:10808' >> ~/.bashrc
echo 'export https_proxy=http://192.168.0.105:10808' >> ~/.bashrc

运行命令

  • 上述安装完成,代码位于~/ros2_algorithm_ws/src/rosgpt
  • 1.运行rosgpt的OPENAI接口
ros2 run rosgpt rosgpt 
  • 启动一个页面服务器,通过浏览器访问:http://127.0.0.1:5000
  • 可以通过语音输入,并传送到openai获取反馈内容
  • 界面如下:

请输入图片描述

  • 2.新开终端,运行turtlesim小乌龟
ros2 run turtlesim turtlesim_node
  • 3.新开终端,运行速度命令的转换
ros2 run rosgpt rosgptparser_turtlesim 
  • 4.新开终端,运行命令行下文字输入节点
ros2 run rosgpt rosgpt_client_node 
  • 5.查看速度话题
ros2 topic echo /turtle1/cmd_vel

测试方法

    1. 界面语音输入方式
  • 上面第一步的启动了web界面,通过浏览器访问:http://127.0.0.1:5000

  • 点击开始录音,说出语音如: ı want that you move forward 1 meter speed 1

  • 点击停止录音,再点击发布语音到机器人

  • 支持中英文切换

    1. 界面文字输入方式(上面第四步的命令下)
    1. 终端文字输入方式(上面第四步的命令下)
  • 在运行ros2 run rosgpt rosgpt_client_node 命令的终端下
  • 输入文字如: ı want that you move forward 1 meter speed 1
  • 小乌龟将用1米/秒的速度,运行1米

参考资料

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros2与gazebo11入门教程