功能简述

通过运行python文件,可以对NAOv6机器人的动作进行控制,实现基本的前进后退转弯等动作,只需要在终端输入对应命令即可

环境配置及运行说明:

前提:ubuntu18.04 系统

  1. 安装Python2.7,程序仅能在该版本中运行。

  2. pynaoqi-python2.7-2.8.6.23-linux64解压放到主目录中。

  3. 设置环境变量。

    在终端输入:

    gedit ~/.bashrc
    

    在行尾添加以下语句,具体路径根据本地电脑情况进行更改:

    export PYTHONPATH=${PYTHONPATH}:/home/leo/pynaoqi-python2.7-2.8.6.23-linux64/lib/python2.7/site-packages
    

    输入命令使环境变量生效:

    source ~/.bashrc
    
  4. 用网线连接NAO机器人(确保此时是Naoqi系统,否则需要刷机重置),按压胸口,在浏览器中输入相应的ip地址,此时会要求输入账户和密码,默认都为nao,按照指示勾选一些条款后,会进入NAO机器人的WIFI页面,此时,可以手动修改机器人连接的WIFI,确保与电脑在同一局域网下,为了保证通信流畅,最好使用单独的路由器。修改完成后重启机器人。

  5. 此时,机器人和电脑端就在同一局域网下了,断开网线,按压机器人胸口,获得此时的ip地址,将得到的ip地址填入代码指定位置,具体见注释。

  6. moveControl.py文件路径下运行:

    python2.7 moveControl.py
    
  7. 操作命令如下:

W                           前进一大步w                           前进S/s                         后退A/a                         左移D/d                         右移Q/q                         左转E/e                         右转B/b                         站起R/r                         坐下

参考代码如下:

#coding=UTF-8import sys
import time
import almath
import threading
from naoqi import ALProxyip=""  #机器人ip地址,务必保证此时机器人和电脑端在同一局域网下,按胸口获得地址,如 ip="192.168.1.100"zero_pi=3.1415  #圆周率πdef lookAround():toward=1.0tts=ALProxy("ALMotion",ip,9559)while True:tts.setStiffnesses("Head",1.0)names="HeadYaw"angles =30.0*almath.TO_RAD*towardfractionMaxSpeed=0.3tts.setAngles(names,angles,fractionMaxSpeed)time.sleep(1)tts.setStiffnesses("Head",0.0)toward=-towarddef excute(operate):tts=ALProxy("ALMotion",ip,9559)if operate == "r" or operate == "R":   #机器人坐下tts.rest()if operate == "b" or operate == "B":   #机器人站立tts.wakeUp()if operate == "w":                     #前进 tts.moveTo(0.1,0.0,0.0)tts.waitUntilMoveIsFinished()if operate == "W":                     #前进一大步tts.moveTo(0.5,0.0,0.0,_async=True)if operate == "s" or operate == "S":   #后退tts.moveTo(-0.1,0.0,0.0)tts.waitUntilMoveIsFinished()if operate == "a" or operate == "A":   #向左移动tts.moveTo(0.0,0.05,0.0)tts.waitUntilMoveIsFinished()if operate == "d" or operate == "D":   #向右移动tts.moveTo(0.0,-0.05,0.0)tts.waitUntilMoveIsFinished()if operate == "q" or operate == "Q":   #向左转tts.moveTo(0.0,0.0,zero_pi/8)tts.waitUntilMoveIsFinished()if operate == "e" or operate == "E":   #向右转tts.moveTo(0.0,0.0,-zero_pi/8)tts.waitUntilMoveIsFinished()if __name__ == "__main__":t1=threading.Thread(target=lookAround,name="lookAround")    #将转头的操作函数放入进程,持续运行t1.start()time.sleep(1)while True:operate=raw_input("输入操作:")excute(operate)time.sleep(1.0)

通过Python终端输入命令对NAO机器人进行实时控制相关推荐

  1. python 终端执行命令

    python 终端执行命令 os的system原理 system函数可以将字符串转化成命令在服务器上运行:其原理是每一条system函数执行时,其会创建一个子进程在系统上执行命令行,子进程的执行结果无 ...

  2. IT开发人员如何解决在使用终端输入命令时候 中英文频繁切换?

    我们的痛点: IT开发或者测试,在使用终端输入命令的时候,特别是vi的时候,由于shift按键是高频按键,我们想要切换为英文,却一度切换到中文,很烦,有没有什么解决办法可以降低这种烦恼?跟着我的步骤, ...

  3. 在终端输入命令打开mac自带的python工具IDLE

    mac 默认是python2版本打开终端 输入IDLE 自动弹出IDLE,完成 python3版本在终端输入IDLE3 就ok了

  4. 解决Ubuntu Linux终端输入命令没有颜色提示的设置方法

    1.打开终端,输入  sudo  vim /etc/bash.bashrc 2. 找到PS1,替换成如下代码: PS1='${debian_chroot:+($debian_chroot)}\[\03 ...

  5. 苹果电脑macOS的各种问题(安装包;系统升级软件闪退解决方法;VSCode终端输入找不到命令、删除依赖报错)

    目录 安装homebrew包管理工具 nvm安装 MacOS系统升级到12.4版本出现大波软件闪退 Mac的VSCode里终端里输入命令会出现 zsh: command not found 删除nod ...

  6. 干货-运行Python脚本的命令行操作(2)

    本文用到的数据,可以加QQ跟群主获取: 群名称:PYTHONERS-数据 群   号:663468799 学习python和数据分析推荐地方: www.lynda.com   获取lynda官网会员的 ...

  7. python怎样执行curl命令_如何使用python执行curl命令

    如何使用python执行curl命令 我想在python中执行curl命令. 通常,我只需要在终端输入命令并按回车键. 但是,我不知道它在python中是如何工作的. 该命令如下所示: curl -d ...

  8. linux 怎么用命令行运行python文件_Linux命令行常用命令及python应用

    通常用户和电脑交互是通过图形用户界面(GUI), 更快捷的方式是通过命令行界面(Command line interface), 通过在终端输入命令来实现文件夹和程序间的切换.Linux 和OS X都 ...

  9. Mac 终端——常用命令语

    mac系统如何显示和隐藏文件 苹果Mac OS X操作系统下,隐藏文件是否显示有很多种设置方法,最简单的要算在Mac终端输入命令.显示/隐藏Mac隐藏文件命令如下(注意其中的空格并且区分大小写): 显 ...

最新文章

  1. 记一次CPU飙升的问题分析解决思路(转)
  2. PHP之GD函数的使用
  3. tostring、(string)和 String.valueOf()
  4. 单调队列优化的背包问题
  5. 在win10在使用cmder代替Linux是怎样的体验
  6. 贪心算法(各种贪心题目)
  7. node.js与python_Node.js与Python
  8. jvm参数-verbose:gc和-XX:+PrintGC有区别?
  9. c语言实验报告字符数组,C语言实验报告《数组》
  10. TP-LINK-TL-WR703N刷Breed用Openwrt固件挂MP288打印机服务共享手机打印服务
  11. H5第三方专业支付接口、安全稳定、费率优惠
  12. java 定时为每月10号_Java定时器的cron设置详解Quartz
  13. PCIE 转 spi 总线
  14. 苹果电脑双系统安装及使用心得
  15. 显ip图片签名php,简单几步,教你制作自己的显IP签名档
  16. 网页版本模拟linux,Firefox OS 模拟器
  17. 第三届强网杯线上赛记录
  18. 大学生活该如何度过?思维导图告诉你
  19. Jmeter javax.swing.text.BadLocationException: Position not represented by view 解决方法
  20. java识别图片中文字技术

热门文章

  1. 铁路行业通信平台方案
  2. ScriptX.cab打印经验交流
  3. Ubuntu 16.04 64位中文版 配置 LAMP+phpMyAdmin PHP(7.0)开发环境
  4. WampServer操作手册--转
  5. RSA分段加密/解密 nodejs 和java联调
  6. 基于STM32的智能循迹避障小车
  7. 我叫mt4服务器维护中,我叫MT4:7月11日凌晨维护公告
  8. 使用Flexible实现手淘页面的终端适配
  9. 深度学习入门笔记(八):深层网络的原理
  10. Linux 磁盘管理