ROS新闻 Towards ROS-native drones 无人机支持方案

PX4/Firmware:https://github.com/PX4/Firmware

PXFmini An open autopilot daughter-board for the Raspberry Pi Zero

http://erlerobotics.com/blog/pxfmini/

Erle-Brain 2 An all-in-one Linux brain for robots and drones

http://erlerobotics.com/blog/erle-brain-2/

Erle-Copter A Linux-based drone for developers with support for the Robot Operating System

http://erlerobotics.com/blog/erle-copter/

PX4 ROS(以下为机器翻译)

介绍

大脑和自动驾驶仪

人工大脑和自动驾驶仪

我们创造了大脑和自动驾驶仪授权新一代机器人专家的,并会不断改进日常我们的技术走向,在未来,我们的机器人大脑人工将成为一个很大的大多数打造的机器人,我们甚至没有预见到今天做。

ROBOTS

ROBOTS

我们提供不同的功能和使用案例机器人。这些机器人可以自己建造,用于研究,商业应用,甚至代表了新创作的蓝图。我们的机器人已经创建是完全自主的,都与最流行的任务规划者和地面控制站兼容。

ROS

ROS

我们与机器人作业系统,为机器人的终极软件开发工具包工作。ROS提供从操作系统你所期望的服务,包括硬件抽象,低级别的设备控制,执行常用功能,进程间消息传递,以及包管理。

模拟

模拟

机器人仿真是在每一个机器人专家的工具箱中的必备工具。一个设计良好的模拟器,能够快速检测算法,设计机器人,并用真实场景进行回归测试。


我们MISION

我们的目标是构建下一代人工大脑的机器人,以简化机器人和人工智能创造。

我们的愿景

我们走向未来,建筑机器人将有关组建不同的可互操作的组件工作。其中,节目被限制在机器人的人工大脑并与他们互动是可能的大多数成为现实。我们希望通过今天,为未来的机器人人工大脑播放不久的将来一个重要的角色。

我们的文化

我们相信,建立在那里的人应该创造未来的环境时,思想的自由交流是至关重要的。因此,我们开源的我们的代码和设计教育,教导和启发机器人技术。


无人机领域从机器人的角度来分析是有趣的。虽然自主飞行机器人比较潮流,但是RC航模爱好者已经存在了很长的时间,开发自主飞行机器人的功能包或自动驾驶仪软件的社区。
这其中,有很受欢迎的选项,如APM(俗称ardupilot)或PX4。这些自动驾驶仪走向成熟,获得自主能力,并把这些飞行机器转变成为实际的无人驾驶飞机的地步。许多这些开源飞行提供软件包,但通常需要修改定制,当一个具有处理在机器人的传统的问题,例如导航,映射,避障等的意图建立基本雄蜂行为的一般代码库。当在自动驾驶代码从而直接进行的,以试图提高(或有时只是简化)自动驾驶仪的功能,这些修改是不直接的,抽象层如DroneKit开始出现。
然而,对于一个机器人专家,通用的语言是机器人操作系统(ROS)。获得ROS去跟这些航班的栈本身就需要资源和努力,像样的数目,从而,一般,机器人学家使用的桥梁,如MAV ROS ROS包交谈的飞行堆栈。
我们在尔勒机器人已经用这样的架构提供服务的飞行机器人,但我们一直在想,这将是迈向ROS本土无人机的路径。为了探索这种可能性,我们已经增加了对PX4临飞栈支持。 
支持PX4临飞栈
该PX4临无人机自动驾驶仪是一个开源的无人机可(BSD)飞行控制解决方案“,从赛车飞到任何货物无人机- ?无论是多直升机,飞机或垂直起降”。PX4已建成类似ROS哲学,在这些模块中的每一个进行通信使用发布/订阅体系结构(目前,简单的发布/订阅中间件称为uORB)由不同的软件模块组成。
在研究越来越ROS本地飞行堆栈和开拓这项工作的社会,我的路内部企图高兴地宣布,在我们所有产品的PX4临意味着开发商的官方支持阿尔法如PXFmini,厄尔-Brain 2或厄尔-直升机。我们的团队已经把一套新的操作系统映像为我们的产品,这将有助于您轻松飞行栈之间切换。
要安装PX4临,只需键入以下内容:
sudo apt-get purge -y apm-* # e.g.: apm-copter-erlebrain 
sudo apt-get update 
sudo apt-get install px4-erle-robotics
ROS本土飞行栈 
使用PX4临飞行堆栈为出发点,我们的团队将致力于资源的原型,讲ROS本身,这是一个无人驾驶飞机的自动驾驶仪的概念,即利用ROS自动驾驶的逻辑中的节点,以抽象的每个子模块(姿态估计,位置控制,导航,...)和ROS主题/服务与块的自动驾驶仪内剩下的通信。最终,这一举措应该提供能够创建各种无人驾驶飞机,与所有的机器人专家已经超过十年,现在建筑为传统的ROS接口很好地融合了自动驾驶仪软件。 

如果你有兴趣在这一倡议参与。

本节将介绍如何使用ROS /凉亭模拟器作为ArduCopter外部仿真器。仿真的主要特点是:

  • 模拟的稳定性和确定性无人机响应(步骤锁止机构)
  • 简化的ROS /凉亭模拟发射,通过参数来用得好,SITL启动脚本完全可配置的,sim_vehicle.sh
  • 海克特的插件提供的GPS传感器集成
  • 在MavProxy地理参考叠加图图像,相对于无人机位置,更好地评估其模拟环境

为了开始被武装必需的。有些提供的可用功能有:

  • 惯性测量单元(IMU),其提供线性加速度,角速度,常压和高度
  • 指南针提供的标题
  • GPS可提供经度,纬度和海拔高度
  • 尔勒-直升机配备有2个摄像头,一个前部和一个底部,2声纳传感器,一个前部和一个按钮,而且它也可以包括一个激光2D或深度相机。
  • 它允许操纵杆操纵

这些应用程序在发布相关的ROS主题的数据。它是与活性氧靛蓝,这是很长一段时间支持(LTS)的ROS版本兼容。这种模拟包括MAVROS(微型飞行器ROS)封装。这个软件包提供与MAVLink通信协议不同的自动驾驶仪通讯驱动程序。此外,它提供的UDP MAVLink桥的地面控制站。使用该协议ROS可发送特定命令的无人机,这基本上是什么这个模拟器是专业化的。导航命令可以直接发送到经由MAVROS一个机器人算法产生的飞行控制器。

步骤锁止机构强制执行凉亭模拟暂停,直到它从Ardupilot接收到下一个电机命令。然后,它前进的脚步了2.5毫秒(为400 Hz的刷新率)仿真和发回新的传感器测量Ardupilot。不像上凉亭许多控制器模拟,Ardupilot是模拟时钟的主人。

非常感谢亚历Buyval创建于凉亭初始Arducopter模拟。也非常感谢的Aurelien罗伊和马克西姆·拉弗勒继续他的工作。终于到了整个社会Ardupilot!

我们建议安装Ubuntu 14.04

首先,在所有安装基础包

sudo apt-get update
sudo apt-get install gawk make git curl cmake

然后安装MAVProxy依赖

sudo apt-get install g++ python-pip python-matplotlib python-serial python-wxgtk2.8 python-scipy python-opencv python-numpy python-pyparsing ccache realpath libopencv-dev

现在,安装MAVProxy

sudo pip2 install pymavlink catkin_pkg --upgrade
sudo pip install MAVProxy==1.5.2

下载并安装ArUco

  1. 从下载ArUco 1.3.0 这里
  2. 安装ArUco
    cd ~/Downloads # Replace this with your Download directory
    tar -xvzf aruco-1.3.0.tgz
    cd aruco-1.3.0/
    mkdir build && cd build
    cmake ..
    make
    sudo make install

该ArduPilot项目是无人机一个开源的自动驾驶仪。我们将使用它的代码模拟了无人机:

mkdir -p ~/simulation; cd ~/simulation
git clone https://github.com/erlerobot/ardupilot -b gazebo

cd ~/simulation
git clone git://github.com/tridge/jsbsim.git
# Additional dependencies required
sudo apt-get install libtool automake autoconf libexpat1-dev
cd jsbsim
./autogen.sh --enable-libraries
make -j2
sudo make install

设置您的计算机从packages.ros.org接受软件,设置你的钥匙,并安装(请确保您的Debian软件包指数上涨了最新的):

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key 0xB01FA116
sudo apt-get update

安装,ROS包,建立和通信库。没有GUI工具:

sudo apt-get install ros-indigo-ros-base

初始化rosdep,才可以使用ROS,您将需要初始化rosdep。rosdep使您能够轻松地安装系统依赖于要编译和运行要求的ROS一些核心部件来源。

sudo rosdep init
rosdep update

它的方便,如果ROS环境变量的每一个新的shell启动时自动添加到您的bash命令:

echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source ~/.bashrc

获取rosinstall和一些附加的依赖

sudo apt-get    install python-rosinstall          \
                        ros-indigo-octomap-msgs    \
                        ros-indigo-joy             \
                        ros-indigo-geodesy         \
                        ros-indigo-octomap-ros     \
                        ros-indigo-mavlink         \
                        ros-indigo-control-toolbox \
                        unzip

mkdir -p ~/simulation/ros_catkin_ws/src

初始化工作区

cd ~/simulation/ros_catkin_ws/src
catkin_init_workspace
cd ~/simulation/ros_catkin_ws
catkin_make
source devel/setup.bash

下载这些存储库中src

cd src/
git clone https://github.com/erlerobot/ardupilot_sitl_gazebo_plugin
git clone https://github.com/tu-darmstadt-ros-pkg/hector_gazebo/
git clone https://github.com/erlerobot/rotors_simulator -b sonar_plugin
git clone https://github.com/PX4/mav_comm.git
git clone https://github.com/ethz-asl/glog_catkin.git
git clone https://github.com/catkin/catkin_simple.git
git clone https://github.com/erlerobot/mavros.git
git clone https://github.com/ros-simulation/gazebo_ros_pkgs.git -b indigo-devel
#Add Python and C++ examples
git clone https://github.com/erlerobot/gazebo_cpp_examples
git clone https://github.com/erlerobot/gazebo_python_examples

然后一起编译:

cd ~/simulation/ros_catkin_ws
catkin_make --pkg mav_msgs mavros_msgs gazebo_msgs
source devel/setup.bash
catkin_make -j 4

设置您的计算机从packages.osrfoundation.org接受软件

sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'

设置键

wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -

安装gazebo7

sudo apt-get update
sudo apt-get remove .*gazebo.* '.*sdformat.*' '.*ignition-math.*' && sudo apt-get update && sudo apt-get install gazebo7 libgazebo7-dev drcsim7

按照这个说明从源代码安装凉亭。

mkdir -p ~/.gazebo/models
git clone https://github.com/erlerobot/erle_gazebo_models
mv erle_gazebo_models/* ~/.gazebo/models


posted on 2016-11-01 10:51  王亮1  阅读(339)  评论(0编辑  收藏  举报

导航