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
测试方法
- 界面语音输入方式
上面第一步的启动了web界面,通过浏览器访问:http://127.0.0.1:5000
点击开始录音,说出语音如:
ı want that you move forward 1 meter speed 1
点击停止录音,再点击发布语音到机器人
支持中英文切换
- 界面文字输入方式(上面第四步的命令下)
- 终端文字输入方式(上面第四步的命令下)
- 在运行
ros2 run rosgpt rosgpt_client_node
命令的终端下 - 输入文字如:
ı want that you move forward 1 meter speed 1
- 小乌龟将用1米/秒的速度,运行1米
参考资料
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号