yanshee机器人初次使用说明(备注)-PyCharm

准备

需要:
1,(优必选)yanshee机器人+Yanshee 开发者说明
2,手机-联网简单操控 / HDMI线与显示器和键鼠标-图形化开发环境 / 笔记本(VNC-内置图形化开发环境/PyCharm等平台)。
在这里插入图片描述

3,PyCharm + 一定的Python基础
(本篇为个人学习小结,只介绍手机联网 + 笔记本PyCharm连接使用)

PyCharm的配置

1,获取SDK–YanAPI.py(多种途径可获得)

Yanshee 官网介绍:将机器人本体系统/usr/lib/python3.5路径下的YanAPI.py文件拷贝到PC端相应Python开发软件依赖库的路径下

1-1,自己获取:(已经获取的跳到下一步)

下载VNC,安装
在这里插入图片描述

创立新连接
在这里插入图片描述
输入IP,连接树莓派(yanshee)
在这里插入图片描述
双击选中你要连接的
在这里插入图片描述
输入用户名和密码,用户名:pi,密码:raspberry,然后点击ok,如下图所示:
在这里插入图片描述

最后
在这里插入图片描述

2,新建Python项目,将YanAPI.py放在项目目录下

在这里插入图片描述

3,安装需要用到的三个包

# cmd控制台打开项目包目录下下载以下三个基础包
# pip3 install nest_asyncio
# pip3 install requests
# pip install opencv-python
安装时`opencv-python`指的是cv2,引用`import cv2`物体与颜色识别。
在 Yanshee 机器人上还需要引入 PiCamera 模块,可以实现与 CV2 联动采集并处理图像。

在这里插入图片描述
安装成功后,可以看到最下行Successfully注意网络
在这里插入图片描述
最后可以在lib文件目录下看到:
在这里插入图片描述

4-1,获取yanshee的ip

这里是引用

4,新建连接测试代码

import YanAPI
import requests
import cv2
# 初始化(第一步)
YanAPI.yan_api_init("获取yanshee的ip")# 输出验证
print("Hello")  # 证明项目编译器没问题正常运行
print(YanAPI.get_robot_mode())  # 随便拿的代码看输出说明连接yanshee没问题

运行如下说明连接成功
在这里插入图片描述
接着就可以开始参照文档开始操控yanshee了!
先手后腿(注意不要让机器人摔了)

import math
import YanAPI
import time
YanAPI.yan_api_init('ip')  # 第一步初始化,确保IP正确# 想要看执行详情print打印输出
print(YanAPI.get_robot_language())
YanAPI.get_robot_language()
print(YanAPI.get_button_led_color_value())
# YanAPI.set_robot_led(type:button, color:red, mode:on)
YanAPI.set_robot_led('button', 'red', 'on')#  音量调节
print(YanAPI.get_robot_volume())  # 查看当前音量
YanAPI.set_robot_volume(80)  # 调节设置音量# 语言播报-先调声音再播报
YanAPI.sync_do_tts("Hi,Nice to meet you!", True)# 时间戳转正常时间
timeArray = YanAPI.get_current_motion_play_state()['data']['timestamp']
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timeArray)))# 动作
YanAPI.sync_do_motion_gait(1, 0, 3, 3, True)  # 谨慎使用防摔
print(YanAPI.get_motion_gait_state())
YanAPI.exit_motion_gait()  # 停止所有动作# 舵机角度
# 查询指定多个舵机角度
List = ["NeckLR", "RightShoulderRoll"]
print(YanAPI.get_servos_angles(List))
# # 转动一个或多个舵机
Dict = {"RightShoulderRoll": {"angle": 90, "isNeedBessel": True, "runtime": 1000},"LeftShoulderFlex": {"angle": 90, "isNeedBessel": False, "runtime": 800},"RightKneeFlex": {"angle": 90, "isNeedBessel": True, "runtime": 1500},"NeckLR": {"angle": 165, "isNeedBessel": False, "runtime": 200}
}
YanAPI.set_servos_angles({"NeckLR": 90}, 200)  # 单个({name:int},时间)
YanAPI.set_servos_angles(Dict, 200)  # 多个(字典名,时间)
# 设置分层动作舵机角度值(一次可以设置一个或者多个舵机角度值)
YanAPI.set_servos_angles_layers(Dict)
print(YanAPI.set_servos_angles_layers(Dict))# 视觉-人脸识别
# types = ["recognition", "tracking", "gender", "age", "mask" ,"glass"]  # 其他模式看文档
res1 = YanAPI.sync_do_face_recognition("gender")
res2 = YanAPI.sync_do_face_recognition("glass")
print(res1, res2)
# 识别手势
res = YanAPI.sync_do_gesture_recognition()
print(res)

技巧积累

1,说明书(Yanshee 开发者说明)从头大概点到尾每个都点点,把握有哪些说明。有些后续遇到的问题官方都有写,比如用VNC连接后的屏幕调整。在这里插入图片描述

2,API 文件理解有误,搜别人编写或操作的视频可以快速把握,或者其实教程里也有。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/70055.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

#渗透测试#批量漏洞挖掘#致远互联AnalyticsCloud 分析云 任意文件读取

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停…

win11 MBR 启动 如何把我的硬盘改 GPT win11 的 UEFI 启动

bootrec /fixboot bootrec /rebuildbcd bootrec /scanos 相当于你的硬盘从MBR转换为GPT,并从传统的BIOS启动(即MBR)转换为UEFI启动(即GPT),你需要执行以下步骤。请注意,这些步骤涉及数据操作&a…

Flask框架入门完全指南

一、初识Flask:轻量级框架的魅力 1.1 Flask框架定位 Flask作为Python最受欢迎的轻量级Web框架,以"微核心可扩展"的设计哲学著称。其核心代码仅约2000行,却支持通过扩展实现完整Web开发功能。这种设计使得开发者可以: …

SQL与数据库程序设计

1.1986年,10月美国国家标准局颁布了SQL语言的美国标准,称为SQL86 2.SQL(Structured Query Language)又称为结构化查询语言 3.建立索引的主要目的是加快查找的速度 4.在基本表上建立一个或者多个索引 5. 一个基本表是最多只能建立一个聚簇索引 6.CAL…

Windows Server 中配置 Active Directory:从零到精通

Windows Server 中配置 Active Directory:从零到精通 引言 在企业 IT 基础架构中,Active Directory(AD)扮演着至关重要的角色。它是 Windows Server 提供的一种目录服务,能够集中管理用户、计算机和权限。对于初学者来说,搭建 Active Directory 可能会觉得复杂,但实际…

c#模拟鼠标点击左键

c#模拟鼠标点击左键,这里调用的是windows系统函数, using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks;namespace WindowsFormsAppHalconJ…

时间序列分析(四)——差分运算、延迟算子、AR(p)模型

此前篇章: 时间序列分析(一)——基础概念篇 时间序列分析(二)——平稳性检验 时间序列分析(三)——白噪声检验 一、差分运算 差分运算的定义:差分运算是一种将非平稳时间序列转换…

信息收集-Web应用JS架构URL提取数据匹配Fuzz接口WebPack分析自动化

知识点: 1、信息收集-Web应用-JS提取分析-人工&插件&项目 2、信息收集-Web应用-JS提取分析-URL&配置&逻辑 FUZZ测试 ffuf https://github.com/ffuf/ffuf 匹配插件 Hae https://github.com/gh0stkey/HaE JS提取 JSFinder https://github.com/Threez…

DevOps工具链概述

1. DevOps工具链概述 1.1 DevOps工具链的定义 DevOps工具链是支持DevOps实践的一系列工具的集合,这些工具覆盖了软件开发的整个生命周期,包括需求管理、开发、测试、部署和运维等各个环节。它旨在通过工具的集成和自动化,打破开发与运维之间…

SQL Server 导入Excel数据

1、选中指定要导入到哪个数据库,右键选择 》任务 》导入数据 2、数据源 选择Excel,点击 下一步(Next) 3、目前 选择OLE DB Provider ,点击 下一步(Next) 4、默认 ,点击 下一步(Next)…

卓越设计彰显品质:福特中国“烈马宇宙”项目展示高质量标准

2024年8月27日,中国上海      今日,由福特中国设计中心与中央美术学院设计学院联合举办的“烈马宇宙 INTO THE BRONCO-VERSE”校企合作项目顺利完成结业评审并圆满落幕。三名来自中央美术学院出行创新设计方向的学生,在福特中国设计中心进…

基于deepseek api和openweather 天气API实现Function Calling技术讲解

以下是一个结合DeepSeek API和OpenWeather API的完整Function Calling示例,包含意图识别、API调用和结果整合: import requests import json import os# 配置API密钥(从环境变量获取) DEEPSEEK_API_KEY os.getenv("DEEPSEE…

【Qt学习】| QString与QByteArray的长度

1.用于计算长度的方法 1.1 QString int QString::length() const; int QString::size() const; int QString::count() const;1.2 QByteArray int QByteArray::length() const; int QByteArray::size() const; int QByteArray::count() const;三种方法没有区别,都…

(萌新入门)如何从起步阶段开始学习STM32 ——2 我应该学习HAL库还是寄存器库?

概念 笔者下面需要介绍的是库寄存器和HAL库两个重要的概念,在各位看完之后,需要决定自己的学习路线到底是学习HAL呢?还是寄存器呢?还是两者都学习呢? 库寄存器 库寄存器就是简单的封装了我们对寄存器的操作&#xf…

【系列专栏】银行IT的云原生架构-存储架构-数据库部署 10

银行 IT 的云原生架构:存储架构(数据库部署) 一、引言 在银行 IT 云原生架构的构建中,存储架构作为关键支撑,其性能、可靠性和扩展性直接影响着银行各类业务系统的运行效率与数据安全。而数据库作为数据存储与管理的…

我的新书《青少年Python趣学编程(微课视频版)》出版了!

🎉 激动人心的时刻来临啦! 🎉 小伙伴们久等了,我的第一本新书 《青少年Python趣学编程(微课视频版)》 正式出版啦! 📚✨ 在这个AI时代,市面上的Python书籍常常过于枯燥&…

大模型应用开发书籍推荐

在AI原生应用的探索之路上,大语言模型与提示工程面临着诸多挑战。一方面,过度乐观的预期让开发者陷入困境;另一方面,大语言模型在效果、性能等方面的局限也限制了其应用。本书作者作为一线从业者,深感驾驭大模型的重要…

基于CANopen协议的同步控制和PDO消息传输

这个VI示例展示了如何通过SYNC帧触发发送和接收PDO(Process Data Object)消息。它涉及的步骤包括配置CANopen接口、设定通信参数、并通过SYNC信号同步多个设备的消息传输。下面是详细说明: ​ 1. 右键点击BatchSDO选择部署 在NI CANopen for…

vtkCamera类的Dolly函数作用及相机拉近拉远

录 1. 预备知识 1.1.相机焦点 2. vtkCamera类的Dolly函数作用 3. 附加说明 1. 预备知识 要理解vtkCamera类的Dolly函数作用,就必须先了解vtkCamera类表示的相机的各种属性。  VTK是用vtkCamera类来表示三维渲染场景中的相机。vtkCamera负责把三维场景投影到二维平面,如…

领域驱动设计(DDD)是什么?——从理论到实践的全方位解析

文章目录 一、 引言二、 核心概念与定位2.1 DDD 定义与核心理念2.2 DDD 关键元素 三、 底层原理与技术细节3.1 领域模型与普适语言3.1.1 领域模型3.1.2 普适语言(Ubiquitous Language) 3.2 战术设计模式详解3.2.1 实体、值对象、聚合与领域服务3.2.2 无状…