7字型烟道砸了后可以重新垒么单片重10吨怎么翻转

若没有可以将以下行添加到.bashrc中,以自动获取所有新终端:

适用于OS的Quad模拟器的最新文件并将其放在方便的位置。

注意: 需要将模拟器添加到本地系统/OS中而不要添加到VMΦ。

可以阅读README.md在上找到的更多信息

对于此模块的实验室组件,使用ROS与Udacity基于Unity的仿真环境DroneSim中的四旋翼接口

DroneSim提供了一套全面的工具,可在开始调试四旋翼飞行控制器并对其进行故障排除时提供极大的帮助

(1)更新ROS设置文件

注意:在大多数不使用虚拟机的系统上,不需要进行哽新ros_settings.txt

警告:请勿使用默认的Mac文本编辑器,因为它将导致字符问题如果在VM上连接到ROS时遇到问题,请尝试将行尾的双引号更改vm-ip为正确的双引号

注意:VM的ip地址可能会改变。如果遇到问题一定要检查VM的ip是否与ros_settings.txt中的ip匹配.

这控制是否使用以上信息。如果要从虚拟机外部运行模拟器则应将其设置为true。因此应设置为true

当且仅当正在更新host-ip设置时,才应将其设置为true

要启动模拟器,只需双击DroneSim可执行文件如果要更改模拟器的分辨率,请执行以下操作

  • Windows:在模拟器启动时按住crtl键。

(3) 按键命令和GUI概述

下面将介绍模拟器中可用的一些基本GUI功能。除了以下说奣之外模拟器还提供了该模拟器使用的所有键映射的说明。键入“ L”唤起这个图例

要在不使用控制器的情况下围绕模拟器飞行四边形,只需单击左下角的“ Input On”(输入打开)按钮即可要获取关键命令的列表,这些命令将可以在打开本地输入的情况下四处飞行

注意:启鼡本地输入后,来自ROS的强制命令将被忽略在测试飞行控制器时,请确保未启用该功能!

要更改场景摄像机相对于四轴飞行器的位置可鉯使用键盘上的数字键。如果要更改场景摄像机与四边形之间的距离可以使用鼠标上的滚轮。要将视点重设为原始视图只需在相机视ロ中右键单击即可。

以下是模拟器发布/订阅的主题列表有关相关消息类型的更多详细信息,只需使用命令$ rosmsg show要通过命令行获取此主题列表,可以使用命令$ rostopic list

通过该主题,力和扭矩可以传递给四旋翼所有力单位均为牛顿,所有扭矩单位均为牛顿米所有力和扭矩均符合ROS单位和坐标约定(REP-103),并将应用于或围绕相应的车身框架轴

注意:cmd_force命令被模拟器“锁存”。这意味着将连续施加命令的力或扭矩命令直箌模拟器接收到新命令为止。

通过该主题可以在四边形的车体框架上设置速度。提供此主题仅用于调试目的

来自四轴深度相机的深度圖像已发布到该主题。

四旋翼的IMU可估算线性加速度角速度和四旋体的方向。我们不会在此控件实验室中使用此主题而将使用pose主题提供嘚完美位置和方向。

本主题提供四边形的“地面真相”位置和方向以惯性(世界)框架表示。在实际的四旋翼飞行器中地面真实姿态無法供我们使用,而是可以使用许多传感器(例如GPSIMU和大气压力传感器)进行估算。

设置相机姿势以下是可接受值的列表。
0:与惯性坐標系的YZ平面正交面向X的正方向。
1:垂直于惯性坐标系的XZ平面面向Y方向正。
2:与惯性坐标系的XY平面正交面向负Z方向。
3:透视图从-X,-Y+ Z象限面向四边形的主坐标系。

拥有如此多的自由度调试和故障排除可能是一个痛苦的过程。为了使事情更简单我们提供了一些可以使生活更轻松的工具。

可以限制四边形转子车体框架上的力和扭矩如果仅尝试调试单个自由度,则此功能很有用

示例:不允许沿四轴嘚X轴移动

示例:不允许围绕四轴的X轴旋转

要设置相机姿势,可以在模拟器中右键单击并拖动也可以使用以下服务呼叫,其中数据参数可鉯采用以下值:

0:与惯性框架的YZ平面正交面向正X方向。
1:垂直于惯性框架的XZ平面面向Y方向正。
2:与中间框架的XY平面正交面向负Z方向。
3:透视图从-X,-Y+ Z象限面向四边形的主体框架。

要将相机姿势重置为默认姿势可以使用服务电话或右键单击。

要设置相机与四轴机身の间的距离可以使用该 /quad_rotor/camera_distance服务。例如要将摄像头距离设置为20米,可以按以下方式调用服务:

要将相机距离重置为默认值只需在模拟器Φ右键单击即可。

重力可能是残酷的现实特别是在处理姿态调整时。幸运的是出于调试目的,我们可以在模拟器中禁用重力为此,請/quad_rotor/gravity按以下方式调用服务:

要设置四轴飞行器姿势请使用/quad_rotor/set_pose服务。以下服务调用会将四轴飞行器置回原点:

这quad_plotter_node是一个方便的工具可用于捕獲和绘制四边形运动。在仿真中调整四转子时这可能有用。

如前所述四旋翼具有四个独立的自由度:

  • 侧倾(绕X轴旋转)-导致Y轴同时平迻
  • 俯仰(绕Y轴旋转)-导致X轴同时平移

本质上,悬停控制器仅控制一个独立的自由度即沿Z轴的运动。

一个简单的基于PID的悬停控制器计算给萣目标高度与四旋翼飞机当前高度之间的差值以获得误差信号然后尝试通过调整(控制)沿四旋翼飞机z轴的总推力来最小化此误差。

要測试此悬停控制器需要启动四旋翼模拟器并启动hover_controller_node

由于四旋翼模拟器使用ros主题和服务进行交互因此必须在启动模拟器之前启动ROS Master。

为此请打开一个新的终端并启动roscore

现在可以在主机平台上启动Quad仿真器了。

如果提供了该选项选择计算机系统可以舒适地处理的所需屏幕解决方案和图形质量,然后单击“确定”

如果消息显示“正在连接到ROS”超过几秒钟,则可能要检查主机VM上的防火墙设置或尝试重新启动模擬器。

此外可以验证是否可以在以下/quad_rotor/pose主题上看到模拟器发布的姿势:

如果看到正在发布的消息,那就很好如果没有看到发布的消息,則可能再次需要检查主机VM上的防火墙设置或尝试重新启动模拟器。

如果脚本正常运行则四轴飞行器的视图应如下所示。如果不是退絀所有内容,然后重试步骤
四旋翼的hover_controller_node正在运行,但它实际上是置于在地面上的

这是因为控制器的默认目标高度设置为零。为了命令它茬运行时移动到新的目标高度我们将使用功能强大的ROS实用程序dynamic_reconfigure

dynamic_reconfigure是一个ROS软件包利用它我们可以在运行时修改节点参数,而不必重新启動节点通常,希望在运行节点时手动修改这些参数尤其是出于测试或调整目的。

我们在关于节点和主题的讨论中简要讨论了参数服务器并在arm_mover代码中探讨了参数的简单使用案例。

话虽如此让我们快速回顾一下。参数服务器是一个共享字典各种ROS节点都使用它来在运行時存储和检索参数。

它本来就很慢因此主要用于静态数据,例如配置参数

例如,在感知拾取和放置实验室中使用实验室启动文件以參数的形式存储了“ 选择列表”,然后在节点中对其进行了检索

ROS参数可以是以下数据类型:

如果Quadrotor Sim已经开始仿真并且hover_controller_node节点启动并正在运行,则可以继续进行下一步否则,在继续之前参考前面部分

GUI的左侧面板列出了所有具有可重新配置参数的活动节点,这里为hover_controller单击hover_controller显示該节点的可重新配置参数列表。
最初四旋翼飞机将静止在地面上。将“目标”高度设置为10(单位为米)然后通过增加kp来开始调节控制器,直到产生的推力足够强到足以将四轴飞行器抬离地面为止

现在,让我们通过添加其余的独立自由度:

  • 侧倾(绕X轴旋转)-导致Y轴同时岼移
  • 俯仰(绕Y轴旋转)-导致X轴同时平移

姿态控制器本质上控制姿态即四旋翼的侧倾、俯仰和偏航角。

基于PID的姿态控制器运行PID控制器类的彡个独立实例分别用于控制侧倾、俯仰和偏航角。

根据四旋翼的期望角度值与当前角度值之间的差异来计算各个误差值控制器然后尝試通过调整(控制)沿四旋翼的x,y和z轴的总扭矩来最小化此误差

要测试此Attitude Controller,需要遵循与之前类似的步骤并确保针对每种类型的控制器嘟重新开始操作,并且一次最多只能运行一个控制器:

  1. 启动模拟器:参考实验室README文件的“使用模拟器”部分以获取特定于操作系统的启動模拟器的说明。

我们会观察到即使attitude_controller_node正在运行四旋翼的行为也没有改变。

这是因为默认目标侧倾俯仰和偏航设置为零。就像悬停控制器一样使用dynamic_reconfigure设置目标值,并分别针对三个自由度侧倾俯仰和偏航分别调整PID控制器。

需要记下这些PID参数因为将在位置控制器中使用它們。

到现在为止我们有一个经过微调的悬停和一个姿态控制器。

如级联控制中所述位置控制器位于级联PID控制器的外环中,负责命令姿態和推力矢量以便在三维空间中实现目标定向。

要控制四旋翼飞机沿其x轴的运动必须调整俯仰角(沿y轴的旋转)。沿着y轴的运动可以通过调节侧倾(沿着x轴的旋转)来控制

位置控制器根据分别从四旋翼的期望和当前y位置和x位置之间的差计算得出的误差值来确定期望的側倾角和俯仰角值。

然后将这些所需的侧倾角和俯仰角馈送到在内部回路中运行的姿态控制器以进行最终的侧倾角和俯仰角控制。

另外位置控制器还包括先前讨论的悬停控制器,用于控制四旋翼沿z轴的运动

要测试此位置控制器,需要执行与之前类似的步骤并确保针對每种控制器类型都重新开始操作,并且一次不能运行多个控制器

  1. 启动模拟器:按照README文件中提供的步骤进行操作

和以前一样,必须使用dynamic_reconfigure設置xy和z位置的目标值,并为x和y控制器调整PID控制器

我们必须已经从悬停控制器中保存了PID参数,这些参数可以直接用于z控制器同样,姿態控制器保存的参数可以重复使用


现在我们可以使用PID控制器在空间中控制位置和姿态了,接下来我们将通过深度神经网络来确定一个移動目标的位置然后实现控制四轴飞行器来跟随目标。

}

我要回帖

更多关于 烟道砸了后可以重新垒么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信