当前位置: 首页 > news >正文

广东网站建设微信网站定制许昌建设网站哪家好

广东网站建设微信网站定制,许昌建设网站哪家好,海淀企业型网站建设,会议管理系统提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一#xff1a;配置pycharm的ros开发环境二#xff1a;核心代码讲解三 效果演示XTDrone 四 完整代码 前言 ubuntu 18.04 pycharm ros melodic 做一个在终端中… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 前言一配置pycharm的ros开发环境二核心代码讲解三 效果演示XTDrone 四 完整代码 前言 ubuntu 18.04 pycharm ros melodic 做一个在终端中键盘输入指令控制飞机起飞以及进入offbaord 一配置pycharm的ros开发环境 File-Settings-Project Interpreter-右边小齿轮Show All-选中正在使用的python 点击右边最下面的图标打开Interpreter Path 添加/opt/ros/indigo/lib/python2.7/dist-packages 二核心代码讲解 def getKey():#这行代码使用tty模块的setraw()函数来设置标准输入sys.stdin的行为为原始模式。#原始模式下输入不经过缓冲每次输入一个字符。tty.setraw(sys.stdin.fileno())#这行代码使用select模块的select()函数来检查是否有可读取的数据。#它监视sys.stdin标准输入并且等待0.1秒钟。如果在等待期间有数据可读#则select()函数会返回一个非空的可读列表rlist否则返回空列表rlist, _, _ select.select([sys.stdin], [], [], 0.1)#这段代码检查rlist列表是否非空。如果列表非空说明在等待期间有数据可读。#此时通过sys.stdin.read(1)读取一个字符并将其赋值给key变量。#如果列表为空则说明在等待期间没有数据可读此时将key变量赋值为空字符串。if rlist:key sys.stdin.read(1)else:key #这行代码使用termios模块的tcsetattr()函数来恢复标准输入的设置。#TCSADRAIN参数表示在所有排队的输出都被传输和处理之后才生效。#将标准输入的属性设置为之前保存的settings值。它使用termios.tcsetattr函数来设置终端的属性。termios.tcsetattr(sys.stdin, termios.TCSADRAIN, settings)#最后函数返回变量key的值即读取到的字符如果有或空字符串如果没有读取到字符。return key三 效果演示 在不同的仿真环境中话题名称可能不一致需要改源码的话题名称 XTDrone roslaunch px4 outdoor1.launch python my_keyboard_control.py#键盘控制代码四 完整代码 # codingutf-8 import mavros_msgs import rospy from mavros_msgs.srv import SetMode,CommandBoolimport sys, select, os #os模块是用于与操作系统进行交互的模块。TTYteletypewriter是指终端设备例如终端窗口、终端控制台或串口终端。 #select 模块该模块提供了对低级 I/O 多路复用的支持。 #termios模块是Python中用于处理终端IOInput/Output的模块允许我们控制终端的特性attributes例如字符的读取方式、输入输出模式等。 import tty, termios from std_msgs.msg import Stringcmd_vel_mask Falsemsg2all 请输入输入指令: r : return home t/y : arm/disarm v/n : takeoff/land b : offboard s/k : hover and remove the mask of keyboard control CTRL-C to quit def getKey():#这行代码使用tty模块的setraw()函数来设置标准输入sys.stdin的行为为原始模式。#原始模式下输入不经过缓冲每次输入一个字符。tty.setraw(sys.stdin.fileno())#这行代码使用select模块的select()函数来检查是否有可读取的数据。#它监视sys.stdin标准输入并且等待0.1秒钟。如果在等待期间有数据可读#则select()函数会返回一个非空的可读列表rlist否则返回空列表rlist, _, _ select.select([sys.stdin], [], [], 0.1)#这段代码检查rlist列表是否非空。如果列表非空说明在等待期间有数据可读。#此时通过sys.stdin.read(1)读取一个字符并将其赋值给key变量。#如果列表为空则说明在等待期间没有数据可读此时将key变量赋值为空字符串。if rlist:key sys.stdin.read(1)else:key #这行代码使用termios模块的tcsetattr()函数来恢复标准输入的设置。#TCSADRAIN参数表示在所有排队的输出都被传输和处理之后才生效。#将标准输入的属性设置为之前保存的settings值。它使用termios.tcsetattr函数来设置终端的属性。termios.tcsetattr(sys.stdin, termios.TCSADRAIN, settings)#最后函数返回变量key的值即读取到的字符如果有或空字符串如果没有读取到字符。return keydef print_msg():print(msg2all)#主函数 if __name____main__: #设置终端为标准输入流settings termios.tcgetattr(sys.stdin)rospy.init_node(my_keyboard_control)multi_cmd_ser rospy.ServiceProxy(/iris_0/mavros/set_mode,SetMode)multi_arm_serrospy.ServiceProxy(/iris_0/mavros/cmd/arming,mavros_msgs.srv.CommandBool)print_msg()cmdwhile(1):key getKey()#获取读取到的字符if key r:cmd AUTO.RTLprint_msg()print(Returning home)elif key t:cmd ARMprint_msg()print(Arming)elif key y:cmd DISARMprint_msg()print(Disarming)elif key v:cmd AUTO.TAKEOFFprint_msg()#print(Takeoff mode is disenabled now)elif key b:cmd OFFBOARDprint_msg()print(Offboard)elif key n:cmd AUTO.LANDprint_msg()print(Landing)elif key in [k, s]:cmd HOVERprint_msg()print(Hover)elif(key \x03):breakif (cmdARM):multi_arm_ser(True)elif (cmdDISARM):multi_arm_ser(False)else:multi_cmd_ser(custom_modecmd)cmd termios.tcsetattr(sys.stdin, termios.TCSADRAIN, settings)
http://www.huolong8.cn/news/462360/

相关文章:

  • 红酒手机网站建设大兴区网站建设
  • 梦幻创意网站建设微官网怎么进入
  • 2014做网站网站多语言切换
  • 网站建设滨江品牌网站源码
  • 襄阳网站建设首选公司哪家好网站空间建设
  • 网站的ci设计怎么做网站备案是备什么
  • 苍南网站建设公司html成品模板
  • 网页制作怎么插图片seo优化技术
  • 萝岗门户网站建设公司搭建一个网站
  • 适合seo的建站系统网站建站如何做seo
  • 1.86神华网站两学一做总结 设网站
  • 网站商城首页怎么做吸引人包装设计案例分析
  • 做外贸的国际网站有哪些哪里的网站可以做围棋死活题
  • 做网站应该掌握的技术免费贴图素材网站
  • 博兴建设局网站wordpress安装谷歌分析代码
  • 手机端视频网站模板wordpress登录不上
  • 中国建设规划采购网站产品怎么做推广和宣传
  • 温州做外贸网站设计高端的网站开发
  • 集团网站开发网络推广方式有哪些
  • 番禺区网站建设公司网站做淘宝客排名会掉吗
  • 用什么做网站开发网站优化 推广
  • docker 做网站网页制作多少钱一个页面
  • 做网站软件下载沈阳建设网站公司
  • 官方网站打不开怎么回事网站开发技术框架
  • 莱芜泉网站建设h5页面制作教程
  • 公文写作网站沈阳网页设计招聘
  • 徐州服饰网站建设视频链接生成器在线
  • 做医院网站及微信公众号价格素马网站建设费用差距
  • 舟山建设企业网站高端营销型网站
  • 渝叶购零售客户电商网站青海建设银行的官方网站