ROS2机器人少年创客营:Python第二课

张开发
2026/5/23 13:52:28 15 分钟阅读
ROS2机器人少年创客营:Python第二课
ROS2机器人少年创客营Python第二课课程名称聪明的机器人——流程控制与逻辑课程目标掌握布尔逻辑理解“真”与“假”是计算机判断的基础。学会条件判断使用if、elif、else让机器人根据环境做出不同反应。理解循环结构使用while和for让机器人不知疲倦地重复工作。培养逻辑思维能够画出简单的流程图并将其转化为代码。核心内容机器人的智慧布尔值概念计算机的世界只有两个状态——开和关真和假。数据类型bool布尔型。True真/是/1比如“电量充足”。False假/否/0比如“碰到墙壁”。比较运算符等于、!不等于、大于、小于。注意是赋值把东西放进盒子是判断比较两个盒子里的东西是否一样。条件判断如果…就…语法结构if条件:做这件事else:做那件事缩进Indentation比喻这是Python的“家族族谱”。缩进通常是4个空格或1个Tab表示“属于”。规则if下面的代码必须缩进表示“只有在满足条件时才执行这些代码”。多路分支elif就像红绿灯如果是红灯-停如果是绿灯-行如果是黄灯-等待。循环不知疲倦的仆人while循环当…的时候比喻只要While电池没电就一直循环工作。死循环如果条件永远为真比如while True程序就会一直跑下去。这在机器人主程序中很常见主循环。for循环数数循环比喻我要走5步。数1, 2, 3, 4, 5每数一个数走一步。场景遍历列表比如依次经过A点、B点、C点。实践环节任务编写“智能避障与巡逻”程序场景描述你的机器人在一条走廊里巡逻。它有一个传感器变量distance。如果前方无障碍距离10它就继续前进。如果前方有障碍距离10它就停下来并发出警报。这个过程需要一直重复循环。代码实现# 模拟传感器数据distance50print(机器人巡逻系统启动...)# 模拟一直运行的主循环# 在实际操作中我们通常用 while True 让机器人一直工作runningTruewhilerunning:print(f当前距离障碍物:{distance}cm)ifdistance10:print( 前方畅通继续前进...)# 模拟距离变近distancedistance-10elifdistance10anddistance0:print( 警告距离过近减速...)distancedistance-2else:print( 危险已接触障碍物停止并报警)runningFalse# 停止循环print(巡逻结束。)进阶挑战修改代码让机器人在遇到障碍物时不是停止而是“后退5cm然后左转90度”用打印文字模拟动作。课后总结今天我们赋予了机器人“思考”的能力。if让它学会了选择while让它学会了坚持重复。没有逻辑的代码只是一堆字符加上逻辑它们就变成了智能。课后思考如果我写了一个while True:死循环但是忘记在循环里写让它停止的条件或者忘记给它休息的时间计算机会发生什么引导思考死循环会导致程序卡死CPU占用率飙升就像机器人发疯了一样不停转圈。

更多文章