索尼 toio™ 应用创意开发征文 | 如何用Python控制Q宝进行机器人擂台赛

这篇具有很好参考价值的文章主要介绍了索尼 toio™ 应用创意开发征文 | 如何用Python控制Q宝进行机器人擂台赛。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

对于青少年来说,操控自己的机器人打擂台是非常有成就感的活动。如今,索尼toio™就能让他们梦想成真。我们可以在布置好的场地中使用键盘或操作杆操控两个Q宝机器人互相攻击,先被挤出场地的一方判负。下面我会分享如何使用toio™机器人来实现一场精彩刺激的机器人擂台赛。

toio™机器人擂台赛准备:

在准备阶段,我们需要准备两个toio™Q宝机器人、一台PC以及一个自制的擂台;在软件方面,由于我们将使用Python语言进行控制,因此需要安装相关的软件包,包括setuptools、toio、bleak、ipykernel和asyncio等。

索尼 toio™ 应用创意开发征文 | 如何用Python控制Q宝进行机器人擂台赛,python,机器人,开发语言

toio™机器人擂台赛实现:

使用toio™Q宝进行机器人擂台赛的关键在于如何通过编程控制它的运动。Q宝的编程控制有两种方式:一种是在索尼toio™的官方网站上进行可视化编程,另外就是我们可以选择自己熟悉的开发语言,并利用官方为我们提供的代码库来进行自主编程(我们选择使用Python语言)。下面会对两种控制方式都进行简单的介绍。

可视化编程控制Q宝

可视化编程网站是索尼toio™的官方所提供的,网站地址为:https://toio.github.io/toio-visual-programming/c/

进入该网站,我们可以在这个位置来对我们的Q宝进行蓝牙连接,连接成功就会显示绿色的对号提示。

索尼 toio™ 应用创意开发征文 | 如何用Python控制Q宝进行机器人擂台赛,python,机器人,开发语言

然后我们就可以进行可视化编程啦,通过从左边拖拽相关组件,最后形成我们的程序,当然,要想控制Q宝的前进,后退移动以及左右旋转,官网也已经为我们提供好了现成的示例代码(https://www.sonystyle.com.cn/minisite/intelligent/toio/visual_programming/vp3/keyboard_controller.sb3),下载完成后,我们只需要选择“文件”选项进行导入就可以啦。下面的这块代码就是用来控制Q宝的移动的:

索尼 toio™ 应用创意开发征文 | 如何用Python控制Q宝进行机器人擂台赛,python,机器人,开发语言

通过以上程序,我们就可以使用我们键盘的上下左右键对Q宝的前进,后退,左旋,右旋进行随心所欲的控制,我们还可以对宝的速度的进行设置,另外,还可以将Q宝的行动轨迹在画布上进行绘制。

Python编程控制Q宝

以下是我们使用Python语言对Q宝进行编码控制的步骤,包括下载相关软件包,连接Q宝与电脑,以及编写代码来控制Q宝的移动。

1.下载相关软件包

首先我们要确保我们的电脑安装了Python3.11或更高版本(https://www.python.org/),然后就可以安装相关的软件包了,安装命令如下:

# 安装setuptools软件包
python -m pip install setuptools --upgrade

# 安装toio.py软件包
python -m pip install toio-py --upgrade

# 安装bleak软件包
python -m pip install bleak --upgrade

# 安装ipykernel软件包
python -m pip install ipykernel --upgrade

# 安装toio包
python -m pip install toio-py --upgrade

2.将toio™核心Q宝连接到电脑

在编写代码之前,需要将toio™核心Q宝连接到电脑,可以使用USB线或蓝牙来实现连接,需要扫描并连接到方块设备,可以通过以下代码实现:

import asyncio

from toio import *
# 定义一个异步函数来连接toio™ Q宝
async def cube_connect():
    device_list = await BLEScanner.scan(1)
    assert len(device_list) > 0
    cube = ToioCoreCube(device_list[0].interface)
    await cube.connect()
    return cube
    
# 定义一个异步函数来断开toio™ Q宝的连接
async def cube_disconnect(cube):
    await cube.disconnect()
    await asyncio.sleep(2)

asyncio和toio模块提供了异步编程和与方块通信的功能,我们定义一个cube_connect函数,用来扫描并连接到方块设备,返回一个cube对象,另外定义一个cube_disconnect函数,用来断开与方块的连接,并等待2秒。

3.用Python代码控制Q宝的移动

要使用索尼toio™进行机器人擂台赛,最好的方式就是使用键盘来对Q包的移动进行控制,以下是使用Python代码控制Q宝移动的核心代码,包括控制Q宝的前进、后退、左转和右转。

# 导入所需的库
import asyncio
import keyboard
import time
from toio import ( 
    BLEScanner,
    Motor,
    ToioCoreCube,
)

# 定义一个异步函数来连接toio™ Q宝
async def cube_connect():
    # 扫描并连接最近的toio™ Q宝
    device_list = await BLEScanner.scan(1)
    assert len(device_list) > 0
    cube = ToioCoreCube(device_list[0].interface)
    await cube.connect()
    return cube

# 定义一个异步函数来断开toio™ Q宝的连接
async def cube_disconnect(cube):
    await cube.disconnect()
    await asyncio.sleep(2)

# 连接toio™ Q宝
cube = await cube_connect()


# 定义键盘监听事件

# 上键往前移动,参数分别为左电机速度、右电机速度和持续时间
keyboard.on_press_key("up", lambda _: cube.api.motor.motor_control(100, 100, 1000))
# 下键往后移动,参数分别为左电机速度、右电机速度和持续时间  
keyboard.on_press_key("down", lambda _: cube.api.motor.motor_control(-100, -100, 1000))  
# 左键逆时针旋转,参数分别为左电机速度、右电机速度和持续时间
keyboard.on_press_key("left", lambda _: cube.api.motor.motor_control(-100, 100, 1000))  
# 右键顺时针旋转,参数分别为左电机速度、右电机速度和持续时间
keyboard.on_press_key("right", lambda _: cube.api.motor.motor_control(100, -100, 1000))  

# 使程序持续运行,以便持续监听键盘输入
while True:
    time.sleep(1)

一切准备就绪,运行Python代码,就可以观察到toio™核心Q宝做出的相应反应和表现啦:

Q宝机器人擂台赛

我们也可以为机器人制作个性化的装扮:

索尼 toio™ 应用创意开发征文 | 如何用Python控制Q宝进行机器人擂台赛,python,机器人,开发语言

再开始擂台赛,体验就更好了:

Q宝机器人擂台赛

利用场地变化,我们也可以开发更多的擂台赛规则。例如,我们可以操控机器人在圆形的跑道上赛跑,比赛过程中机器人超出跑道范围者判负,先到达终点胜利;我们也可以操控机器人将小玩具从擂台的一个位置推到另一个位置,过程中机器人和己方的小玩具都不能被对方挤出擂台;我们还可以将这些玩法组合起来,通过多局对决来比出最终的胜负。总之,基于简单的擂台赛机制,小孩子可以使用Q宝机器人开发出很多玩法,增添更多乐趣。文章来源地址https://www.toymoban.com/news/detail-703915.html

到了这里,关于索尼 toio™ 应用创意开发征文 | 如何用Python控制Q宝进行机器人擂台赛的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何用Stable Diffusion模型生成个人专属创意名片?

    二维码 是一种用于存储和传输信息的方便而广泛使用的图像编码技术。它是由黑色方块和白色空白区域组成的二维图形,可以通过扫描设备(如智能手机)进行解码。二维码基于特定的编码标准和解码算法——其中包括错误检测和纠错编码,以确保在图像损坏或部分遮挡的情况

    2024年02月16日
    浏览(29)
  • 如何用Python的控制台输入一个二维矩阵

    1.双重for循环 输入n行,但是缺点是Matix[i][j]只能是一位数字,并且每行的数字个数会随着输入而变化,不可以打空格作为数字之间的分隔  2.使用split使得可以将数字分割开来 3.自由输入矩阵的行列 不过在这种输入中任然存在着行数固定为m,但是每行的个数却是随输入的空格数量决

    2024年02月03日
    浏览(42)
  • 如何用MASM32开发Windows应用程序

    提醒:以下内容仅做参考,可自行发散。在发布作品前,请把不需要的内容删掉。 IT技术日异月异,无论是初学者还是有经验的专业人士,都需要与时俱进,不断学习新技术。在学习一门新的IT技术时,都需要采取一种系统性的学习方法。作为一名技术er,当我想用MASM32开发

    2024年02月08日
    浏览(34)
  • 用python开发软件的步骤,如何用python做软件开发

    大家好,小编来为大家解答以下问题,如何用python做软件开发,用python开发软件的步骤,今天让我们一起来看看吧!   参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤。 了解遵循输入、处理、输出(IPO)模式的程序,并能够以简单

    2024年02月06日
    浏览(50)
  • 超详细AI二维码制作教程:手把手教你如何用Stable Diffusion 生成一个创意二维码?

    AI已来,未来已来! 来势汹汹的人工智能,如同创世纪的洪水,正在全世界的范围内引发一场史无前例的科技革命。AI正在改变世界!而我们正是这场巨变的见证者。 今天我们要介绍的内容就是:如何利用AI工具Stable Diffusion,生成你的专属创意二维码? (下文包含详细图文教

    2024年02月16日
    浏览(50)
  • 如何用 Python 开发一个简单的 blender 插件

    Blender是一款开源的3D建模和动画制作软件,支持Python脚本编写插件。下面是一个简单的Blender插件开发示例: 首先,需要安装Blender软件,并确保安装了Python库。可以在Blender软件安装目录下的Python目录中找到相应的库文件。 创建插件的脚本文件。脚本文件可以使用Python编写,

    2024年02月11日
    浏览(47)
  • 开学了,如何用python开发个上课点名小程序~

    今天在地铁上刷到了一个这样的短视频, 我寻思是不是也可以写一个类似的上课点名程序, 想法经不起等待,说写就写~ Tkinter 是 python 内置的 TK GUI 工具集。 TK 是 Tcl 语言的原生 GUI 库。 作为 python 的图形设计工具,它所使用的 Tcl 语言环境已经完全嵌入到了 python 解释器中。

    2024年02月10日
    浏览(38)
  • 猿创征文|【深度学习前沿应用】文本生成

    作者简介 :在校大学生一枚,C/C++领域新星创作者,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践资源建设专家委员会(TIPCC)志愿者,以及编程爱好者,期待和大家一起学习,一起进步~ . 博客主页 :

    2024年02月06日
    浏览(30)
  • 如何用GPT 运行python?GPT4科研应用与AI绘图及论文高效写作

    详情点击链接:如何用GPT 运行python?GPT4科研应用与AI绘图及论文高效写作 一OpenAI 1.最新大模型GPT-4 Turbo 2.最新发布的高级数据分析,AI画图,图像识别,文档API 3.GPT Store 4.从0到1创建自己的GPT应用 5. 模型Gemini以及大模型Claude2 二定制自己的GPTs 1.自定义GPTs使用 2.聊天交流的方式

    2024年01月19日
    浏览(38)
  • 猿创征文|超实用的前端开发工具分享

    🍳作者: 贤蛋大眼萌,一名很普通但不想普通的程序媛 color{#FF0000}{贤蛋 大眼萌 ,一名很普通但不想普通的程序媛} 贤蛋大眼萌,一名很普通但不想普通的程序媛 🤳 🙊语录: 多一些不为什么的坚持 color{#0000FF}{多一些不为什么的坚持} 多一些不为什么的坚持

    2024年01月23日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包