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
我们提供不同的功能和使用案例机器人。这些机器人可以自己建造,用于研究,商业应用,甚至代表了新创作的蓝图。我们的机器人已经创建是完全自主的,都与最流行的任务规划者和地面控制站兼容。
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机
我们建议安装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
APM / Ardupilot
该ArduPilot项目是无人机一个开源的自动驾驶仪。我们将使用它的代码模拟了无人机:
编译ardupilot的某一分支
mkdir -p ~/simulation; cd ~/simulation
git clone https://github.com/erlerobot/ardupilot -b gazebo
获取最新版本JSBSim的
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
安装ROS靛蓝
设置您的计算机从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
创建工作区ROS
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
安装凉亭
选项1:安装凉亭使用Ubuntu的软件包
设置您的计算机从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
选项2:从源代码安装凉亭
按照这个说明从源代码安装凉亭。
下载凉亭模型
mkdir -p ~/.gazebo/models
git clone https://github.com/erlerobot/erle_gazebo_models
mv erle_gazebo_models/* ~/.gazebo/models
ROS新闻 Towards ROS-native drones 无人机支持方案的更多相关文章
- SLAM+语音机器人DIY系列:(二)ROS入门——1.ROS是什么
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...
- ROS教程3 ROS自定义msg类型及使用
1ROS自定义msg类型及使用 http://blog.csdn.net/u013453604/article/details/72903398 首先创建一个空的package单独存放msg类型(当然 ...
- 回调函数ros::spin()与ros::spinOnce()
ros::spin() 这句话的意思是循环且监听反馈函数(callback).循环就是指程序运行到这里,就会一直在这里循环了.监听反馈函数的意思是,如果这个节点有callback函数,那写一句ros: ...
- ROS Learning-012 beginner_Tutorials (编程) 创建自定义的ROS消息和ROS服务
ROS Indigo beginner_Tutorials-11 创建自定义的ROS消息和ROS服务 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubunt ...
- ROS Learning-001 安装 ROS indigo
如何在 Ubuntu14.04 上安装 ROS indigo 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LTS ROS 版本 ...
- ros::spin() 和 ros::spinOnce() 区别及详解
版权声明:本文为博主原创文章,转载请标明出处: http://www.cnblogs.com/liu-fa/p/5925381.html 博主提示:本文基于ROS Kinetic Kame,如有更(g ...
- SLAM+语音机器人DIY系列:(二)ROS入门——2.ROS系统整体架构
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...
- (十)创建ROS消息和ROS服务
ROS总教程(中文版) 110.创建ROS消息和ROS服务
- ROS教程4 ROS自定义srv类型及使用
创建srv文件 在上一节单独为自定义的消息和服务的包 test_msgs 里面 创建 srv文件夹 进入创建 testsrv.srv 文件 ,内容为: (srv文件和msg文件类似,唯一不同的是它包含 ...
随机推荐
- socket编程实例
TCP/IP层次模型 当然这里我们只讨论重要的四层 01,应用层(Application):应用层是个很广泛的概念,有一些基本相同的系统级TCP/IP应用以及应用协议,也有许多的企业应用和互联网应用. ...
- [LeetCode] Max Consecutive Ones II 最大连续1的个数之二
Given a binary array, find the maximum number of consecutive 1s in this array if you can flip at mos ...
- 我的webstorm 使用总结
有一次 ,我改了公共组件里的好多组件 ,然后我肯定是哪里改的不对 ,出语法错误了 ,但是我的 webstorm 编译并没有报错,然后我就手动一点点 改 ,去看 ,最后还是没有找到 ,我就把文件夹给删了 ...
- codevs 3061 质子撞击炮②
提交地址:http://codevs.cn/problem/3016/ 3016 质子撞击炮 II 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题目描 ...
- TopCoder SRM 559 Div 1 - Problem 900 CircusTents
传送门:https://284914869.github.io/AEoj/559.html 题目简述: n个实心圆,两两没有交集,在第一个圆上找一个点,使得它到另外一个圆上某个点的最短距离的最小值尽量 ...
- CodeForces - 724G:Xor-matic Number of the Graph
两点之间的任意路径都可表示为 随便某一条路径xor任何多个环, 然后可以用线性基来做,这样不会重复的, 另外必须一位一位的处理,xor是不满足结合律的 #include<cstdio> ...
- bzoj 4567: [Scoi2016]背单词
Description Lweb 面对如山的英语单词,陷入了深深的沉思,"我怎么样才能快点学完,然后去玩三国杀呢?".这时候睿智 的凤老师从远处飘来,他送给了 Lweb 一本计划册 ...
- HDU 4526 拼车记
话说威威猫有一次去参加比赛,虽然学校离比赛地点不太远,但威威猫还是想坐出租车去.大学城的出租车总是比较另类,有“拼车”一说,也就是说,你一个人坐车去,还是一堆人一起,总共需要支付的钱是一样的(每辆出租 ...
- [bzoj4922]Karp-de-Chant Number
来自FallDream的博客,未经允许,请勿转载,谢谢. 卡常数被称为计算机算法竞赛之中最神奇的一类数字,主要特点集中于令人捉摸不透,有时候会让水平很高的选手迷之超时. 普遍认为卡常数是埃及人Qa'a ...
- [IOI1998] Pictures
用线段树维护区间最小值和最小值个数来求一段区间里0的个数,把横的和竖的边分别拿出来,排序,然后每次查一下重复部分的长度即可 #include<iostream> #include<c ...