机器人控制:从本地交互到远程操作
1. 机器人交互外壳基础
REPL(Read-Eval-Print Loop)是一种不断循环等待用户输入的程序。通过机器人外壳执行的命令会与 CRICKIT 板进行通信,CRICKIT 板再向直流电机发送信号,从而实现所需的电机运动。Python 和 Bash 都具备 REPL 特性,并且都能直接在 Linux 上运行。
Python 标准库中的 cmd 模块为创建如机器人外壳这样的 REPL 应用程序提供了框架。其中,do_EOF 方法用于处理输入数据中遇到的 EOF 条件。此外,可选参数使得调用运动命令时可以指定持续时间和默认速度、特定的持续时间和速度,或者使用默认的持续时间和速度设置。而 cat 命令可用于将一组保存的命令输入到机器人外壳中。
在机器人外壳中,还可以实现命令历史记录功能。通过以下命令可以找到存储历史记录的文件并输出其内容:
$ ls ~/.python_history
/home/robo/.python_history
$ cat ~/.python_history
若要在机器人外壳中实现此功能,可使用 readline 模块(https://docs.python.org/3/library/readline.html),该模块负责处理外壳的命令历史记录功能。它有一组函数可让我们将历史记录保存到历史文件中并从中加载。Python Module of the Week 页面(https://pymotw.com/3/readline/)有实现此功能的优秀示例,我们只需在外壳启动时添加几行代码来加载历史文件
超级会员免费看
订阅专栏 解锁全文
1902

被折叠的 条评论
为什么被折叠?



