当前位置: 首页 > news >正文

百度seo网站排名宁波房产网签查询

百度seo网站排名,宁波房产网签查询,东莞物流网站设计公司,谁给个网站啊急急急2021Tello 无人机大模型控制 这个项目是我们开出来的一个项目,用 LLMtools 的方式控制 DJI Tello 无人机运动,由于是已经开源出来的项目,因此建议直接跳转至我们的项目链接,所有的更新与 Bug 修复都会第一时间同步上去,博…

Tello 无人机大模型控制

这个项目是我们开出来的一个项目,用 LLM+tools 的方式控制 DJI Tello 无人机运动,由于是已经开源出来的项目,因此建议直接跳转至我们的项目链接,所有的更新与 Bug 修复都会第一时间同步上去,博客的更新可能存在滞后。

  • Tello LLM ROS:https://github.com/GaohaoZhou-ops/Tello-LLM-ROS

这篇博客就直接复制项目中 ReadMe-CM.md 中的内容。


Tello LLM ROS

这个仓库实现了在 ROS 框架下使用 LLM 对 Tello 无人机进行控制,并以自然语言指令作为输入。当前的版本仅支持通过本地 Ollama 模型的调用,我们正在测试使用在线模型和 Agent 系统的调用方式,一旦完成测试我们将在第一时间更新仓库。

当前我们仅在 Nvidia Jetson Orin 64GB DK 这个硬件上开展了实验,未来我们会尝试在更丰富的硬件设备上进行测试。实验环境的系统与库信息如下:

在这里插入图片描述

在此基础上我们对多个不同的本地模型性能与表现进行了评估,测试样本可以查看脚本 src/tello_llm_ros/scripts/test_llm_offline.py_define_test_cases 函数的内容:

Model准确率平均响应时长 s平均生成速度 tokens/s
Qwen3:4b
Qwen3:8b60.00%52.24540.684
Qwen3:14b
CodeLlama:7b30.00%3.265441.44
Llama3.1:8b
DeepSeek-r1:1.7b
DeepSeek-r1:8b

根据我们的测试结果来看,大部分模型的错误率过高的原因在于频繁生成 takeoffland 命令,说明本地小参数量模型对长程任务的理解仍然有限,尽管我们已经在系统提示词中添加了前提条件。如果你想要避免每条指令都触发无意义的升降,那么一个可选的方案是做关键词删除,但这种操作可能会导致一些本身带有起降含义的命令失效;

为了尽可能降低整体系统响应时长,我们对一些明确指令采取直接调用的形式,这些指令不会输入模型进行推理,例如 takeoff。你也可以添加更多直接运行的指令,修改 config/llm_tools.json 文件中 direct_triggers 字段如下所示,takeofftake offlaunch 这三条指令都是可以直接响应的:

    {"name": "takeoff","description": "Initiates the drone's automatic takeoff sequence...","direct_triggers": ["takeoff","take off","launch"],"parameters": [],"ros_service": "/takeoff","service_type": "Trigger"},

Step1. 安装依赖库

1.1 安装基础依赖库

在运行之前你可能需要安装包括但不限于以下依赖库:

$ conda install libffi==3.3

1.2 创建conda环境

$ conda create -n tello python=3.8
$ conda activate tello
$ pip install -r requirements.txt

Step2. 源码编译

进入到你的工程中拉取源码,这里假设为 tello_ws

$ cd tello_ws/src
$ git clone https://github.com/GaohaoZhou-ops/Tello-LLM-ROS.git

拉取完成后即可执行编译:

$ cd tello_ws
$ catkin_make

Step3. 拉取模型

你可以通过下面的命令拉取 Ollama 开源的模型,这里以 Qwen3:8b 为例:

$ ollama pull qwen3:8b

如何使用

我们提供了多种使用模式,包括真机与模型联合测试、模型独立测试、模型与mock联合测试。

如果你想要通过 XBox 手柄对无人机实现控制,可以使用我们另一个开源仓库:

  • XBox Controller Reader: https://github.com/GaohaoZhou-ops/XboxControllerReader

停止多余模型

在调用模型前,为了避免资源被未关闭的模型抢占,你可以通过下面的命令来关停正在运行的模型:

$ ollama ps
$ ollama stop codellama:7b

在这里插入图片描述

修改系统提示词

众所周知,系统提示词对模型的性能表现影响很大,尽管工程中的系统提示此内容已经经过了多次打磨,但并不一定适合你的任务。如果你发现模型在表现上无法令人满意,那么可以通过修改系统提示词的方式给模型指令约束。修改文件 scripts/llm_utils.py 中的 create_system_prompt 函数:

def create_system_prompt(tools_config):"""Dynamically builds the system prompt using the loaded tools config.This function is now the single source of truth for the system prompt.:param tools_config: The loaded tools configuration dictionary.:return: The formatted system prompt string."""prompt = """You are a simple robot command translator. Your ONLY job is to break down a user's request into a list of simple, one-line text commands for a drone, based on the tools provided.
...

在提示词中有下面几条规则用来防止无人机频繁起降:

**RULES:**
- **CRITICAL**: The final command sequence MUST be enclosed between `[START_COMMANDS]` and `[END_COMMANDS]` tags.
- Inside the tags, output ONLY the command text, with each command on a new line.
- By default, the drone is already in the air and no additional takeoff call is required, unless there is a clear takeoff instruction.
- Unless there is a clear landing instruction, the land command cannot be called.

添加工具

我们也将工具功能提取出来并保存到一个 json 文件中,你可以通过修改 config/llm_tools.json 文件以添加工具:

  "tools": [{"name": "takeoff","description": "Initiates the drone's automatic takeoff sequence...","direct_triggers": ["takeoff","take off","launch"],"parameters": [],"ros_service": "/takeoff","service_type": "Trigger"},// ...]

测试模型性能

在正式开始之前,我们强烈建议先用我们提供的测试节点测试一下模型在你当前设备上的性能与效率,如果成功率太低或者平均任务反应时长太长,那么建议更换模型。

$ cd tello_ws
$ source devel/setup.bash
$ roslaunch tello_llm_ros test_llm.launch

在这里插入图片描述

本地模型+仿真测试

在确认好使用的模型后,可以先以 mock 模式运行来测试当前模型的表现是否是你预期的效果,因为测试案例涵盖的样本太少。

  • 修改 launch/tello.launch 文件中 use_sim 字段为 true 启用仿真:
<arg name="use_sim" default="true" doc="Set to true to run in simulation mode"/>
  • 修改 launch/llm_interface.launch 文件中 ollama_model 字段为你想要运行的模型:
<arg name="ollama_model" default="qwen3:4b" doc="The Ollama model to use"/>

打开一个终端运行仿真器:

$ cd tello_ws
$ source devel/setup.bash
$ roslaunch tello_llm_ros tello.launch

在这里插入图片描述

新开一个终端运行模型交互窗口,通过输入 quit 退出节点:

$ cd tello_ws
$ source devel/setup.bash
$ roslaunch tello_llm_ros llm_interface.launch

在这里插入图片描述

本地模型+真机测试

如果你的模型表现达到你的预期,接下来就可以使用真机进行测试:

  • 修改 launch/tello.launch 文件中 use_sim 字段为 false 启用真机:
<arg name="use_sim" default="true" doc="Set to true to run in simulation mode"/>
  • 修改 launch/llm_interface.launch 文件中 ollama_model 字段为你想要运行的模型:
<arg name="ollama_model" default="qwen3:4b" doc="The Ollama model to use"/>

打开一个终端运行真机:

$ cd tello_ws
$ source devel/setup.bash
$ roslaunch tello_llm_ros tello.launch

新开一个终端运行模型交互窗口:

$ cd tello_ws
$ source devel/setup.bash
$ roslaunch tello_llm_ros llm_interface.launch
http://www.dtcms.com/a/611616.html

相关文章:

  • iUnit7.0重磅发布|AI驱动更智能的单元测试
  • 黑龙江生产建设兵团知青网站1000套网站源码
  • 要怎么制作网站北京网优化seo优化公司
  • Linux 环境变量的添加与查看详解
  • 做网站的机构网站里做任务
  • 自做美食哪些网站网站建设制作设计营销 上海
  • flash网站素材下载wordpress怎么选择中文
  • 企联网站建设南京网站建设费用
  • 社交网站 用户互黏度问答主题 WordPress
  • wordpress如何备份 网站微平台推广自己怎么做
  • 许昌市网站建设找汉狮wordpress导航页面模板
  • 工业设计公司网站如何建设wordpress新建网页
  • 苏州吴江做网站区块链开发商
  • 漳州做网站匹配博大钱少aapp免费开发平台有哪些
  • 临沂市经济开发区建设局网站企业形象广告设计
  • IPv4地址转换函数详解及C++容器安全删除操作指南
  • 客服测试客服测试客服测试
  • 网站开发的疑虑青岛商网站建设
  • 做网站建站点广西南宁网站建设有限公司
  • 借陈修超之智,搭建 AI 与 IP 的创新增长桥梁|创客匠人
  • 陈修超入局:解锁 AI 与 IP 融合的创新增长密码
  • 招聘网站开发价格做挖机配件销售的网站
  • 浦江网站建设yw126东莞网络营销推广专业
  • 怎样做视频播放网站新开传奇网站新开网
  • 湛江市建设教育协会学校网站吉林做网站优化
  • 网站建设怎么自学wordpress排版工具
  • 贵阳建设厅网站福田瑞沃轻卡
  • 网站标签系统自己如何做网站关键词排名
  • 全国产复旦微FMQL100TAI 核心板
  • 汇编_读写内存