创作

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

用键盘与摇杆控制Jetbot智能小车行动

NVIDIA-Enterprise 来源:NVIDIA英伟达企业解决方案 作者:NVIDIA英伟达企业解 2022-01-21 10:09 次阅读

如果已经将 Jetbot 智能小车组装好的话,现在就可以开始执行 Jetbot 智能小车实验,接下来的操作都在以下环境中执行:

1. 无线的方式连接 Jetbot 与 PC:

关于这部分的设置,请参考“NVIDIA Jetson Nano 2GB 系列文章(42):无线WIFI的安装与调试”文章,有详细的说明。

我们采用如下图的“Jetbot 热点”方式连接,就是将 Jetbot 无线网卡设置为“热点”模式,将 PC 的 WIFI 连上 Jetbot 设置的热点,如此 Jetbot 的 IP 固定为 “10.42.0.1”,操作起来方便。

2. 所有实验的界面都在 PC 上的浏览器操作:确定好连线之后,在 PC 的浏览器(推荐使用 Google Chrome)输入“https://10.42.0.1:8888” 就可以进入,第一次连上去需要输入 “jetbot” 这个预设的密码,只要第一次选择保存密码,以后进入就不需要再输入密码。

3. 关于 Jupyter 的使用技巧请自行在网上学习,这里只对 Jetbot 各个项目的代码进行探索与调试建议。

4. 所有实验都需要为 Jetbot 提供足够的运动空间:最好直接在空旷而且平坦的地面上运行,避免在桌子之类与地面有高度落差的地方,以及凹凸不平、阻力较大(例如地毯)、泥沙淤积的地面上,以免对 Jetbot 造成伤害。

5. 最后提醒一点,Jetbot 的重点是在于“学习”而非“竞技”,因此避免将电机马达转速调到太快,如果感觉车速太快时,请自行将实验代码里的速度调低。

现在就开始两个基础的 Jetbot “手动”运行实验,这两个实验最重要的目的是让大家熟悉代码的运作。第一个实验是以键盘的“上下左右”去控制 Jetbot 的行进,第二个实验是使用游戏用的摇杆设备来进行控制,前提是您得采购一个最简单的摇杆设备,我们测试了几种包括有线以及无线的摇杆设备,都能正确使用。

现在就开始 Jetbot 的基础项目,请自行登陆 Jupyter 并进入 jetbot/notebooks 目录下,总共有 5 个实验目录。

基本动作(Basci Motion)

在 Jupyter 进入 basic_motion 目录,里面有 basic_motion.ipynb 这个实验内容,点选后就能打开,这里的代码主要分为四大段:

1. 基本操作:

这部分的代码非常直观,并且有很详尽的英文解说,最主要是让大家了解如何导入关于电机控制的模块,并且创建 robot 对象来控制 Jetbot 的行进:

fromjetbotimportRobotrobot = Robot()

我们只要分别对 robot 对象的左右轮设定速度,就能实现让 Jetbot 移动的任务。这里“设定速度”的方法,是以“全速”为基准给定[-1, +1]之间的相对值,但给定“负值”表示“反向”旋转,这是不建议的做法。

下面有三种设置左右轮的方法,如下:

(1) 用 robot.left (速度)与 robot.right (速度)分别设置左右轮速度:

robot.left(speed=0.3)robot.stop()import timerobot.left(0.3)time.sleep(0.5)robot.stop()

(2) 用 robot.set_motor (左轮速, 右轮速) 同时设置左右轮速度:

robot.set_motors(0.3,0.6)time.sleep(1.0)robot.stop()

(3) 对 robot.left_motor.value 与 robot.right_motor.value 这两个变量进行设置:

robot.left_motor.value=0.3robot.right_motor.value=0.6time.sleep(1.0)robot.left_motor.value=0.0robot.right_motor.value = 0.0

上面的这些数值您可以在要求的范围内自由设置,最好能试着将两个值调成一样,并且让延续时间稍微长一点,例如 3~5 秒,可以先检查一下左右轮的转速是否一致!

2. 使用 traitlets 库将 robot 左右轮与小部件进行连接:

在“Jetbot 实战系列 04:CSI 摄像头安装与测试”里已经使用过 traitlets 这个非常强大的库,将摄像头捕获的画面与 widgets.image 小部件连接,再透过 display(image) 显示动态的图像。

这里也用相同的方法,创建两个“滑块(slider)”小部件与 robot 左右轮的数值进行捆绑,可以单向地在两个滑块上显示轮的速度值,还可以进一步透过两个滑块去控制个别轮的速度。下面是这个用途的执行步骤:

(1) 创建两个垂直滑块小部件,再用一个水平框部件将两个滑块放在一起:

importipywidgets.widgetsaswidgetsfrom IPython.display import display
#创建”left”与”right”两个垂直滑块小部件,数值范围在[-1.0,1.0]之间left_slider=widgets.FloatSlider(description='left',min=-1.0,max=1.0,step=0.01,orientation='vertical')right_slider= widgets.FloatSlider(description='right', min=-1.0, max=1.0, step=0.01, orientation='vertical')
#创建一个水平框,放置前面生成的两个垂直滑块slider_container = widgets.HBox([left_slider, right_slider])
#在下面这个滑块容器display(slider_container)

(2) 单向显示:使用 traitlets.link 函数将左右滑块的值分别与左右轮的值进行连接,这样就能看到两个滑块的值会跟着两个轮的值而改变。

importtraitletsleft_link=traitlets.link((left_slider,'value'),(robot.left_motor,'value'))right_link=traitlets.link((right_slider,'value'),(robot.right_motor,'value'))robot.forward(0.3)time.sleep(1.0)robot.stop()left_link.unlink()right_link.unlink()

(3) 双向控制:使用 traitlets.dlink 函数将左右滑块的值分别与左右轮的值进行连接,这时候可以试试看调整两个滑块的值(上下拖),就能改变两个轮的转速。

left_link=traitlets.dlink((robot.left_motor,'value'),(left_slider,'value'))right_link = traitlets.dlink((robot.right_motor, 'value'), (right_slider, 'value'))

3. 将控制函数附加到事件:

使用 traitlets 的另一种方法是将函数(如 forward)附加到事件。每当对象发生更改时,这些函数都会被调用,并且会被传递一些有关该更改的信息,如旧值和新值。让我们创建并显示一些用于控制机器人的按钮。

(1)创建并显示 4 个方向按钮与中间的“停止”按钮:

#创建5个按钮stop_button=widgets.Button(省略)forward_button=widgets.Button(省略)backward_button=widgets.Button(省略)left_button=widgets.Button(省略)right_button=widgets.Button(省略)#显示按钮middle_box=widgets.HBox([left_button,stop_button,right_button],layout=widgets.Layout(align_self='center'))controls_box=widgets.VBox([forward_button,middle_box,backward_button])display(controls_box)

(2) 定义 5 个方向的动作指令:

defstop(change):defstep_forward(change):defstep_backward(change):defstep_left(change):def step_right(change):

在这里可以看到 robot 对象还提供 stop/forword/backword/left/right 等五个预定义的动作,可以直接使用。这里的 left 与 right 所定义的方式是“原地旋转”的动作,如果要让小车往“左前方”或“右前方”行进的话,则需要自行对左右轮设置不同速度比的方式来处理。

(3) 将按钮与动作定义进行捆绑:

#捆绑方式:按钮.on_click(动作)stop_button.on_click(stop)forward_button.on_click(step_forward)backward_button.on_click(step_backward)left_button.on_click(step_left)right_button.on_click(step_right)

完成这个捆绑的步骤之后,按下按钮才会向 Jetbot 发送控制指令,现在试试看能不能用这个方向键来控制 Jetbot 小车!

4. 心跳停止开关

这是个预防 Jetbot 与 PC 直接因为距离过远而失去控制能力状况下,提供的一种安全管理措施,这部分的内容请自行测试即可,没什么难度,这里不做说明。

以上就完成这个智能小车的最基本运动功能,大家可以多尝试调整转速、方向、持续时间等参数,感受一下这个基本运动的处理方式。

摇杆操作(Teleoperation)

项目代码在 notebooks/teleoperation 目录的 teleoperation.ipynb,在 Jupyter 里打开这个文件就能执行。这是在 PC 控制机上,用游戏摇杆(gamepad)来控制 Jetbot 小车的左右轮,基本逻辑与上面的“滑块控制轮速”的原理是一致的,只不过将设备从鼠标变成摇杆而已。

我们将手边的四种游戏摇杆(如下图)都做过测试,不过有线无线、单价高低的都能使用,如果手上没有这类摇杆的,可以简单选个 30 元左右的也可以执行这些测试,并且以后做些这类相关的应用。

将摇杆接上 PC 之后,如果是 Linux 操作系统请执行以下指令,检查是否已经安装:

ls /dev/input/js*

至于 Windows 或 MacOS 请自行在设备列表中检查。

如果确认设备已将连上控制 PC 之后,就可以开始执行 teleoperation.ipynb 这个项目,不过有个对初学者很重要的地方,却放在不起眼的注释里面,在这里我们特别将它提出来,在执行项目之前必须先点进去注释里的“1.Visit http://html5gamepad.com.”,点进这个连接之后,就能确认您手上的这个摇杆是否能够正常工作。

最左上角的 “INDEX” 编号就是接下来代码中 “widgets.Controller(index=N)” 的实际编号,当然在前面 “ls /dev/input/js*” 所显示的编号,也能作为这个编号的依据,不过在这个网页上可以动一动游戏摇杆上的两个控制杆与其他按钮,看看在 B0~B16 以及 AXIS0~AXIS3 这些钮上面是不是有对应的回馈?

执行第一步骤之后,如果出现以下画面,就表示驱动的加载也都正确。

这个实验只要把游戏摇杆设备的部分捋顺了,后面的实验步骤就非常直观,包括将摄像头“拍照”功能与游戏摇杆的某个键进行绑定的部分,在执行步骤都有非常详细说明,大家只要顺着去执行并且阅读说明,就能轻松完成整个任务。

原文标题:NVIDIA Jetson Nano 2GB 系列文章(48):用键盘与摇杆控制行动

文章出处:【微信公众号:NVIDIA英伟达企业解决方案】欢迎添加关注!文章转载请注明出处。
审核编辑:汤梓红


原文标题:NVIDIA Jetson Nano 2GB 系列文章(48):用键盘与摇杆控制行动

文章出处:【微信号:NVIDIA-Enterprise,微信公众号:NVIDIA英伟达企业解决方案】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    MD500PLUS+MD38PGMD(FVC)控制

    MD500PLUS+MD38PGMD(FVC)
    发表于 05-25 15:48 3次 阅读

    深度学习模型转成TensorRT引擎的流程

    前面我们花了很多力气在 TAO 上面训练模型,其最终目的就是要部署到推理设备上发挥功能。除了将模型训....
    的头像 NVIDIA英伟达企业解决方案 发表于 05-25 11:24 161次 阅读

    NVIDIA发布采用直接芯片冷却技术的数据中心PCIe GPU

    为了遏制气候变化,全球企业正在加快构建高性能、高能效的数据中心,Equinix 边缘基础设施主管 Z....
    的头像 NVIDIA英伟达企业解决方案 发表于 05-25 11:20 278次 阅读

    NVIDIA助力阿里云构建视觉计算解决方案

    随着线上协作、“虚拟经济”等领域的潜力日渐被发掘,扩展现实(XR)、数字孪生、虚拟现实(VR)等技术....
    的头像 NVIDIA英伟达企业解决方案 发表于 05-25 11:13 171次 阅读

    芯片和软件将数据中心转变为AI工厂

    数字孪生彻底改变了最复杂产品的生产方式。芯片和软件将数据中心转变为AI工厂。游戏业的发展将世界上最流....
    的头像 NVIDIA英伟达 发表于 05-25 11:10 198次 阅读

    基于Jetson AGX Orin的边缘AI和嵌入式计算系统

    硬件设计师在这场技术盛会上展示基于 Jetson AGX Orin 的边缘 AI 和嵌入式计算系统。
    的头像 NVIDIA英伟达 发表于 05-25 11:05 179次 阅读

    NVIDIA Grace CPU超级芯片大幅加速现代化工作负载

    华硕、富士康工业互联网、技嘉科技、云达科技、超微、纬颖等公司将提供用于数字孪生、 AI、高性能计算、....
    的头像 NVIDIA英伟达 发表于 05-25 11:02 127次 阅读

    数据中心如何转型成为AI工厂

    数字孪生彻底改变了最复杂产品的生产方式。芯片和软件将数据中心转变为AI工厂。游戏业的发展将世界上最流....
    的头像 科技绿洲 发表于 05-25 10:39 296次 阅读

    新华三实现对NVIDIA液冷GPU及安培系列GPU全系适配

    5月24日,在全球科技盛会“Computex 2022”期间,NVIDIA正式推出A100 80GB....
    的头像 科技绿洲 发表于 05-25 10:34 196次 阅读

    NVIDIA 推出液冷 GPU,助力实现可持续、高效计算

    液冷 NVIDIA A100 PCIe GPU 能够满足客户对高性能绿色数据中心的需求,在主流服务器....
    的头像 21克888 发表于 05-24 14:07 574次 阅读
    NVIDIA 推出液冷 GPU,助力实现可持续、高效计算

    全球三十多家NVIDIA技术合作伙伴于Computex发布首批Jetson AGX Orin生产系统

    本周,全球30多家领先的技术合作伙伴在Computex上发布了首批基于NVIDIA Jetson A....
    的头像 Blue5 发表于 05-24 12:01 507次 阅读
    全球三十多家NVIDIA技术合作伙伴于Computex发布首批Jetson AGX Orin生产系统

    NVIDIA Grace CPU迎来首批玩家,多家厂商将推出基于它的全新数据中心系统

    NVIDIA在Computex前夕宣布,多家计算机制造厂商将发布首批基于NVIDIA Grace C....
    的头像 荷叶塘 发表于 05-24 11:54 801次 阅读
    NVIDIA Grace CPU迎来首批玩家,多家厂商将推出基于它的全新数据中心系统

    GPU加速高性能计算经典应用

    高性能计算(HPC)在重大科学发现的前沿基础科学研究领域已逐渐成为不可或缺的重要手段之一。从分子动力....
    的头像 NVIDIA英伟达企业解决方案 发表于 05-24 09:13 357次 阅读

    GM8913型DC平衡双向控制串行器概述、特征及功能

    GM8913型DC平衡双向控制串行器,其主要功能是实现将10或12位并行控制信号和一路时钟信号串行为....
    的头像 TEL15286334923 发表于 05-24 08:56 62次 阅读
    GM8913型DC平衡双向控制串行器概述、特征及功能

    自然语言处理之情感分析

    情感分析是指根据文本数据(例如书面评论和社交媒体帖子)自动解释和分类情感(通常是积极、消极或中立)的....
    的头像 NVIDIA英伟达 发表于 05-21 10:27 355次 阅读

    NVIDIA自动驾驶网络会议将6月9日举办

    NVIDIA DRIVE Orin 现已投产,可在深度神经网络推理性能方面实现重大飞跃。6 月 9 ....
    的头像 NVIDIA英伟达企业解决方案 发表于 05-21 10:24 446次 阅读

    计算机视觉系统让车流变得更通畅

    NVIDIA Metropolis 合作伙伴 Tapway 所提供的计算机视觉系统让马来西亚最大的高....
    的头像 NVIDIA英伟达企业解决方案 发表于 05-21 10:09 548次 阅读

    物件检测模型训练的详细过程

    当前面已经训练好修剪过的模型之后,接下来就可以在训练设备上先执行推理计算,看看检测的效果如何?如果实....
    的头像 NVIDIA英伟达企业解决方案 发表于 05-20 17:43 78次 阅读

    NVIDIA RTX A4500性能测评总结

    近日,来自 DEVELOP3D 的 Greg Corke 对 NVIDIA RTX A4500 进行....
    的头像 NVIDIA英伟达企业解决方案 发表于 05-20 17:39 95次 阅读

    DASK适用于Python中的并行和分布式计算

    Dask 是一个灵活的开源库,适用于 Python 中的并行和分布式计算。
    的头像 NVIDIA英伟达 发表于 05-20 17:35 62次 阅读

    NVIDIA如何助力非洲开展人工智能革命

    NVIDIA 的 Kate Kallot 在非洲人工智能博览会上发表的主题演讲重点介绍了新兴地区如何....
    的头像 NVIDIA英伟达企业解决方案 发表于 05-20 15:36 251次 阅读

    NVIDIA T4 GPU加速VIVO推荐系统部署

    展望未来,VIVO推荐系统工程团队会继续探索新技术,持续积累 GPU工程经验,并且沉淀到平台中,最终....
    的头像 星星科技指导员 发表于 05-20 15:27 477次 阅读
    NVIDIA T4 GPU加速VIVO推荐系统部署

    NVIDIA Triton助力腾讯PCG加速在线推理

      借助NVIDIA Triton 推理框架,配合 DALI/FIL/Python 等Backend....
    的头像 星星科技指导员 发表于 05-20 15:25 276次 阅读
    NVIDIA Triton助力腾讯PCG加速在线推理

    一文详细了解NVIDIA CloudXR 3.2的新功能

    自 NVIDIA CloudXR 发布以来,NVIDIA 收到了积极的反馈,并广泛采用了 SDK 。....
    的头像 NVIDIA英伟达企业解决方案 发表于 05-20 15:16 189次 阅读

    NVIDIA GPU助力单颗粒冷冻电镜研究

    清华大学杨茂君实验室是国内领先的结构生物学实验室,杨茂君教授目前为清华大学 Tenue-Track ....
    的头像 NVIDIA英伟达企业解决方案 发表于 05-20 15:13 165次 阅读

    NVIDIA A100加速医学图像处理深度学习研究

      通过NVIDIA A100 GPU的MIG技术,在小团队的工作环境中有较高的自由度,在计算资源较....
    的头像 星星科技指导员 发表于 05-20 15:13 169次 阅读

    NVIDIA TensorRT加速打造实时数字化运动场景

      我们的硬件方案也从 4 台 HPC 缩减到 1 台 HPC 搭载 2 张 A100 GPU,不仅....
    的头像 星星科技指导员 发表于 05-20 15:11 123次 阅读
    NVIDIA TensorRT加速打造实时数字化运动场景

    NVIDIA DGX A100助力百图生科构建生物计算引擎

      基于以上挑战,百图生科采用了 NVIDIA DGX A100 80GB,将深度学习训练、推理和分....
    的头像 星星科技指导员 发表于 05-20 15:07 192次 阅读

    基于NVIDIA GPU加速平台实现5G端到端解决方案

      与各垂直行业特性相结合, 爱瑞无线和 NVIDIA 共同打造的 5G+AI 超融合解决方案将为智....
    的头像 星星科技指导员 发表于 05-20 15:04 248次 阅读

    NVIDIA TensorRT的命令行程序

      如果您向--timingCacheFile选项提供时序缓存文件,则构建器可以从中加载现有的分析数....
    的头像 星星科技指导员 发表于 05-20 14:54 158次 阅读
    NVIDIA TensorRT的命令行程序

    NVIDIA TensorRT的数据格式定义

      数据类型是每个单独值的表示。它的大小决定了取值范围和表示的精度,分别是FP32(32位浮点,或单....
    的头像 星星科技指导员 发表于 05-20 14:48 201次 阅读
    NVIDIA TensorRT的数据格式定义

    NVIDIA TensorRT网络层详解

    在 TensorRT 中,层代表了不同风格的数学或编程操作。以下部分描述了 TensorRT 支持的....
    的头像 星星科技指导员 发表于 05-20 14:38 131次 阅读

    NVIDIA DGX Station A100助力清华大学缩短冷冻电镜数据处理时间

    清华大学杨茂君实验室是国内领先的结构生物学实验室,杨茂君教授目前为清华大学 Tenue-Track ....
    的头像 科技绿洲 发表于 05-20 14:33 223次 阅读

    my-mind思维导图工具

    ./oschina_soft/my-mind.zip
    发表于 05-20 09:52 5次 阅读
    my-mind思维导图工具

    NVIDIA Air助力测试和验证迁移工作 确保无故障迁移

    这种以 DevOps 为中心的方法意味着可以在 NVIDIA Air 平台上托管的数字孪生模型中模拟....
    的头像 科技绿洲 发表于 05-19 16:49 285次 阅读

    Vimium C键盘增强类浏览器扩展

    ./oschina_soft/gitee-vimium-c.zip
    发表于 05-18 16:06 3次 阅读
    Vimium C键盘增强类浏览器扩展

    cVim使用键盘控制Chrome

    ./oschina_soft/chromium-vim.zip
    发表于 05-18 15:12 5次 阅读
    cVim使用键盘控制Chrome

    NVIDIA如何帮助新兴市场开发者建立和扩展AI项目

    Kallot 在迄今为止规模最大的一届非洲人工智能博览会开幕当天向一万名线上观众发表了主题演讲。她重....
    的头像 科技绿洲 发表于 05-18 14:22 264次 阅读

    使用NVIDIA CloudXR 3.2打造可扩展的沉浸式体验

      我们的开发者社区继续帮助塑造 CloudXR ,我们对推出 CloudXR 3.2 感到无比兴奋....
    的头像 星星科技指导员 发表于 05-18 10:20 130次 阅读

    NVIDIA TensorRT的最佳性能实践

    在开始使用 TensorRT 进行任何优化工作之前,必须确定应该测量什么。没有衡量标准,就不可能取得....
    的头像 星星科技指导员 发表于 05-18 10:12 213次 阅读

    NVIDIA TensorRT和DLA分析

      位于 GitHub 存储库中的sampleMNIST演示了如何导入经过训练的模型、构建 Tens....
    的头像 星星科技指导员 发表于 05-18 10:06 98次 阅读

    TensorRT条件用于实现网络子图的条件执行

    IIfConditional实现了一个 if-then-else 流控制结构,该结构提供基于动态布尔....
    的头像 星星科技指导员 发表于 05-18 10:02 238次 阅读

    利用NVIDIA Maxine搭建人体姿势识别系统

    随着 AI 技术的发展, 数字内容创建业务也变得越来越火热。人脸美化,身材修图,虚拟姿势和背景等功能....
    的头像 NVIDIA英伟达企业解决方案 发表于 05-17 14:25 225次 阅读

    NVIDIA在图形学研究领域的最新进展

    在今年最重要的图形学大会(SIGGRAPH 2022)上, NVIDIA 的论文合著者将发表创纪录的....
    的头像 NVIDIA英伟达企业解决方案 发表于 05-17 14:18 285次 阅读

    Zenotech公司使用NVIDIA GPU对风电场进行模拟

    一家英国公司使用 NVIDIA GPU 对风电场进行详细的模拟,为自己、为客户以及未来的净零排放开辟....
    的头像 NVIDIA英伟达企业解决方案 发表于 05-16 15:29 298次 阅读

    【开发教程6】人形街舞机器人-串口控制舵机

    多自由度人形双足舞蹈机器人串口控制舵机——疯壳·机器人开发系列 1 串口简介   本章将使用 IAP15W4K61S...
    发表于 05-16 13:27 1677次 阅读
    【开发教程6】人形街舞机器人-串口控制舵机

    使用Transformers的企业数据挑战解决方案

      NeMo 是用于培训 对话人工智能 模型的框架。在 NeMo 存储库内的 released co....
    的头像 星星科技指导员 发表于 05-16 09:29 155次 阅读
    使用Transformers的企业数据挑战解决方案

    使用NVIDIA A30 GPU加速AI推理工作负载

      A30 旨在通过提供四个视频解码器、一个 JPEG 解码器和一个光流解码器来加速智能视频分析( ....
    的头像 星星科技指导员 发表于 05-16 09:25 203次 阅读
    使用NVIDIA A30 GPU加速AI推理工作负载

    NVIDIA 开源GPU内核模块将集成到未来的驱动程序版本中

      可以通过 GitHub 存储库问题跟踪器 或我们现有的 最终用户支持论坛 报告问题。请通过 Gi....
    的头像 星星科技指导员 发表于 05-16 09:20 166次 阅读
    NVIDIA 开源GPU内核模块将集成到未来的驱动程序版本中

    使用NVIDIA RTX分支优化光线追踪图形

      RTXGI 提供了可扩展的解决方案来计算无限多跳照明和软阴影遮挡,而无需烘焙时间、光泄漏或昂贵的....
    的头像 星星科技指导员 发表于 05-13 17:17 330次 阅读

    NVIDIA TensorRT支持矩阵中的流控制结构层部分

      NVIDIA TensorRT 支持循环结构,这对于循环网络很有用。 TensorRT 循环支持....
    的头像 星星科技指导员 发表于 05-13 16:57 228次 阅读

    【开发教程5】人形街舞机器人-舵机的基本控制

    多自由度人形双足舞蹈机器人 舵机的基本控制 ——疯壳·机器人开发系列 1 舵机简介 本章,我们将使用 IAP...
    发表于 05-13 16:00 3622次 阅读
    【开发教程5】人形街舞机器人-舵机的基本控制

    各位大佬帮帮忙,请问鸿蒙应用怎么主动唤起键盘?

    各位大佬帮帮忙~ requestFocus不管用。 就是想要类似安卓下面这样的办法     public static void openKeyboard(V...
    发表于 05-11 11:26 825次 阅读

    该怎样去停止Thread线程呢

    一、概述 当我们使用Thread.stop()方法去停止线程时,这个方法会报错,抛出了UnsupportedOperationException异常,它在JD...
    发表于 04-22 15:14 1927次 阅读

    请问一下安卓shell中的命令是怎样运行的

    am: activity manager 作用 启动 activity、强行停止进程、广播intent修改设备屏幕属性及其他操作 运行am命令 方式一:adb ...
    发表于 04-22 09:13 3367次 阅读

    瑞芯微在开源支持中使用GPT作为其主要分区表

    介绍 瑞芯微  在开源支持中使用GPT作为其主要分区表。我们将 GPT 存储在 LBA0 ~ LBA63。 U-boot中的G...
    发表于 04-21 14:48 1955次 阅读

    [fireflyP] PWM的使用流程

    fireflyP的PWM跟GPIO类似的方式,使用独立于内核的PWM接口,即两边的控制互相独立。所以在控制PWM时,要注意内核是...
    发表于 04-12 14:33 753次 阅读

    Arm Neoverse NVIDIA Grace CPU 超级芯片:为人工智能的未来设定步伐

    人工智能 (AI) 将改变世界。但要实现其潜力,我们将不得不改变设计计算系统的方式。 诸如在云中训练神经网络或在边缘实时执...
    发表于 03-29 14:40 2644次 阅读

    教你怎样去解决Ability输入框被软键盘遮挡的问题

    输入框被软键盘遮挡的解决办法(Ability、Dialog都可以) 先放代码: 因为后来代码更新了,所以文章内容只是解决问题的一个思...
    发表于 03-21 14:11 704次 阅读

    有哪几种方法可以更改RK3288的开机动画方向呢

    有哪几种方法可以更改RK3288的开机动画方向呢? ...
    发表于 03-10 08:38 1483次 阅读