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

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.kler.cn/a/546280.html

相关文章:

  • 谭浩强C语言程序设计(5) 9章
  • 站群服务器和普通服务器有哪些不同之处?
  • Node.js 工具模块
  • 深入浅出理解HBase:大数据时代的“超级仓库”
  • 在 CentOS 系统中配置交换空间(Swap)解决内存不足
  • 《计算机视觉》——角点检测和特征提取sift
  • (萌新入门)如何从起步阶段开始学习STM32 —— 0.碎碎念
  • 【前端框架】Vue3 面试题深度解析
  • 【Elasticsearch源码解读】代码包结构概述
  • 怎么理解 Spring Boot 的约定优于配置 ?
  • C语言如何实现面向对象?——从结构体到自由函数的思考
  • 探索高通骁龙游戏超分辨率技术:移动游戏的未来
  • LeetCode 热门100题-合并区间
  • AWS Database Migration Service
  • 【MySQL】 基本查询(上)
  • 可可泛基因组-文献精读112
  • 【TI C2000】F28002x的系统延时、GPIO配置及SCI(UART)串口发送、接收
  • 数仓:核心概念,数仓系统(ETL,数仓分层,数仓建模),数仓建模方法(星型模型,雪花模型,星座模型)和步骤
  • 无人机遥感在智慧农业信息提取的综合态势,包含:无人机平台的性能、机载传感器指标、地面传感器应用、农林遥感光谱指数、农林光谱建模方法等
  • ReactiveSwift模拟登录功能