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(以下为机器翻译)
介绍
我们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。
- 从下载ArUco 1.3.0 这里
- 安装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