腾讯扣叮虚拟仿真实验室机器人自动导航+陨石样本收集

慈云数据 2024-04-08 技术支持 46 0

前言

本文为腾讯coding入门教程,具体为以下四步骤

  • 一、自动导航的思路与操作
  • 二、躲避障碍
  • 三、陨石样本收集
  • 四、退出事件

    最终效果如下: 


     

    一、自动指向和到达目的地停下

    1.了解项目环境

    首先进入课程练习,找到中学Python的规则解读后点击大展身手进入

    此时右侧右侧会出现背景和规则,主要是以下五个任务

    本文主要是完成陨石样本收集和到达南极这两个任务

     首先打开代码编辑,这里会初始给我们导入了他们的库,为了能够更加清晰了解这些库的作用可以打开官方网页文档,查看每个代码的含义

    官方网页:https://support.qq.com/products/418580/faqs-more/?id=131014

    2.自定义朝向并前往坐标

    为了方便代码理解,我们自己定义函数go_to(x,y),我们后续若想前往何处,只需要在go_to()里面输入你想去的x坐标和y坐标即可,例如: 

    此时我们需要在函数里面写入自定义朝向函数,即左侧的“2.朝向(X,Y)”,并将Robot_Max.face_coordinate(X坐标值, Y坐标值)里的“X坐标值”和“Y坐标值”更改为x和y,如下:

    from codingtge import Robot_Max, coding
    def go_to(x,y):
        Robot_Max.face_coordinate(x, y)
    go_to(255,635)

    此时点击运行,就会发现机器人会自动朝向你所指定的方向旋转,就起到了自定义朝向操作

    为了能够安全到达你所指定的坐标,你在此代码后写入移动和到达目的地停下的操作,此时用到移动函数和判断语句

    首先为了能够移动更加快速,在函数里加入切换为轮式状态,并以每秒15米的速度前进

    速度后的0.1为持续时间,仅仅这样写入这样的代码只会使机器人移动0.1秒,所以为了能够使机器人持续移动,就要将这个移动函数放入循环里

    这样写就会使机器人持续朝目的地移动,但是当遇到了新的问题:此时改如何停下?

    3.到达目的地并停下

    为了能够正常的停下,我的思路是:将机器人的坐标和目的地的坐标进行比对,当机器人坐标和目的地的坐标等于时,停下

    在将我的思路进行编写后,得出以下代码:

    from codingtge import Robot_Max, coding
    def go_to(x,y):
        Robot_Max.face_coordinate(x, y)
        Robot_Max.state("Wheel")
        is_arrive = False
        while is_arrive == False:
            Robot_Max.move("Wheel", 15, 0.1)
            x_current = Robot_Max.get_coordinate_X()
            y_current = Robot_Max.get_coordinate_Y()
            if abs(x_current - x) 
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon