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

动漫做3d游戏下载网站推广优化方案

动漫做3d游戏下载网站,推广优化方案,网站空间便宜,网站备案删除提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一:配置pycharm的ros开发环境二:核心代码讲解三 效果演示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#键盘控制代码

在这里插入图片描述

四 完整代码

# coding=utf-8
import mavros_msgs
import rospy
from mavros_msgs.srv import SetMode,CommandBoolimport sys, select, os
#os模块是用于与操作系统进行交互的模块。TTY(teletypewriter)是指终端设备,例如终端窗口、终端控制台或串口终端。
#select 模块:该模块提供了对低级 I/O 多路复用的支持。
#termios模块是Python中用于处理终端IO(Input/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_ser=rospy.ServiceProxy("/iris_0/mavros/cmd/arming",mavros_msgs.srv.CommandBool)print_msg()cmd=""while(1):key = getKey()#获取读取到的字符if key == 'r':cmd = 'AUTO.RTL'print_msg()print('Returning home')elif key == 't':cmd = 'ARM'print_msg()print('Arming')elif key == 'y':cmd = 'DISARM'print_msg()print('Disarming')elif key == 'v':cmd = 'AUTO.TAKEOFF'print_msg()#print('Takeoff mode is disenabled now')elif key == 'b':cmd = 'OFFBOARD'print_msg()print('Offboard')elif key == 'n':cmd = 'AUTO.LAND'print_msg()print('Landing')elif key in ['k', 's']:cmd = 'HOVER'print_msg()print('Hover')elif(key == '\x03'):breakif (cmd=='ARM'):multi_arm_ser(True)elif (cmd=='DISARM'):multi_arm_ser(False)else:multi_cmd_ser(custom_mode=cmd)cmd = ''termios.tcsetattr(sys.stdin, termios.TCSADRAIN, settings)
http://www.hkea.cn/news/151548/

相关文章:

  • 门户网站系统介绍企业推广哪个平台好
  • 免费网站建站排行榜网站策划报告
  • 网站设计的评估最近发生的热点新闻
  • 设建网站广告投放渠道
  • 日ip5000的网站怎么做如何提高网站在搜索引擎中的排名
  • 网站描文本链接怎么做深圳互联网营销
  • 一个服务器做两个网站自己做网站
  • 百草味网站建设的活动方案营销型企业网站有哪些
  • 论文课程网站 建设背景项目推广方式有哪些
  • 内部网站建设关键词优化推广策略
  • 一个公司可以做几个网站备案贵阳网络推广排名
  • 武汉高端网站建设免费广告网
  • 大理建网站常用于网站推广的营销手段是
  • js怎么做网站跨境电商网站
  • 台州外贸网站建设百度推广费用多少
  • 虚拟机怎么做网站空间培训班管理系统 免费
  • wordpress离线文章发布郑州seo关键词排名优化
  • 龙岗区网站建设中国职业培训在线
  • 南山网站建设外包优化网站
  • 个人怎么做网站推广神起网络游戏推广平台
  • 做网站的关键技术运营推广的方式和渠道有哪些
  • jsp做就业网站网推项目
  • 网站开发的目的和意义重庆seo排名电话
  • 顺义专业建站公司最有效的线上推广方式
  • 大连网站网站搭建制作百度识图 上传图片
  • 给人做网站多少钱黑科技引流推广神器怎么下载
  • 沈阳做网站最好的公司百度快照怎么删除
  • 设置本机外网ip做网站网站免费制作平台
  • 有什么推荐做简历的网站2024的新闻有哪些
  • 申请做网站 论坛版主惠州seo外包服务