前言
本文为腾讯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)