赞
踩
我们组正在开发的Drake: RobotLocomotion/drake · GitHub 用于机器人动力学建模,模拟和控制,集成了运动规划,稳定性分析。应用的例子包括了人形机器人,飞机(四旋翼,固定翼)和机械臂等。语言是用MATLAB和C++(绝大多数动力学的函数同时提供了matlab和c++的接口)。这次的DARPA Robotics Challenge中MIT队的控制器也包含在这个软件中了。
关于这个软件中所运用的机器人理论知识,可以参考edx上的公开课程underactuated roboticsUnderactuated Robotics
根据评论添加一部分回答。hector quadrotor 是德国老牌理工学校Technische Universität Darmstadt大学开发的ros包,可以用于用于多旋翼的建模,控制和仿真。
GitHub - libing64/hector_quadrotor: hector_quadrotor contains packages related to modeling, control and simulation of quadrotor UAV systems.
GitHub - tu-darmstadt-ros-pkg/hector_quadrotor: hector_quadrotor contains packages related to modeling, control and simulation of quadrotor UAV systems.
hector quadrotor 整合了ros和gazebo,可以进行uav相关的很多仿真,例如飞行动力学,机载传感器例如imu、gps、camera,复杂环境仿真等等。
1. modeling and control
作者利用风洞实验等测得了四旋翼的所有动力学参数,然后拿这些参数进行仿真,之后又拿仿真数据和实际飞行数据进行对比,结果相当吻合。
如果你想自己写飞控但又不想炸鸡,完全可以ros里进行仿真,仿真通过之后再把程序放到进飞机实际测试。
在仿真里写飞控还有一个好处就是飞机的所有state都可以使用ground truth进行控制,避免和estimation问题耦合。
http://www.gkmm.tu-darmstadt.de/publications/files/meyer2012quadrotorsimulation.pdf
2. sensor fusion
hector quadrotor上集成了目前uav上最常见的传感器,imu, magnetometer, gps, lidar, sonar, camear, stereo camera, kinect, 3d lidar, spinning lidar...
拿来做传感器融合仿真非常方便,所有state都有ground ground truth,哪里融合出错了非常容易发现。noise level也可以自己定义
使用hector quadrotor的数据,我自己写的基于ekf姿态融合跟 6d位置融合,att_ekf核心代码不到150行,6d pose_ekf 核心代码大约300行(Eigen真是高效)
GitHub - libing64/att_ekf: Extented Kalman Filter for attitude estimation using ROS
GitHub - libing64/pose_ekf: Extented Kalman Filter for 6D pose estimation using gps, imu, magnetometer and sonar sensor.
我也试过跑optical flow 跟stereo visual odomety,效果都蛮好。laser-based slam上面的paper中已经实现了,作者把它放在了hector_localization这个包.
3. slam
hector quadrotor用于laser-based slam非常容易实现,但是没看到用hector quadrotor做camera-based slam的,但是我觉得既然光流和stereo vo都可以跑的很好,那么用来做slam应该不成问题,起码我自己是打算这么干的。
===========================================
2016.03.23 更新
单目能跑出这样的精度而且是实时的,我还是蛮惊讶的
为了让orb slam和hector quadrotor同时实时运行,对orb slam的接口做了修改基于ROS的项目在Github上不要太多,干脆从ROS开始吧:
1.ROS core stacks · GitHub
应该说现在搞机器人相关应用的机构和研究所,几乎都会开发ROS相关的应用接口,强大和统一的通信方式,省去了很多重复的劳动,各种相关和热门的传感器以及平台也都提供了ROS相关的接口,如果有一台Linux笔记本,想做机器人相关的项目,那就赶紧下载一个ROS开始吧。
具体版本选择参见官网,有linux,c++或python基础,跟着官方tutorial应该很快就可以上手了。
ROS8周年宣传视频,需要翻墙,https://www.youtube.com/watch?v=Z70_3wMFO24
在Gazebo环境下,基本上已经可以完整解决很多机器人相关的问题了。
传感器相关的Sick 雷达,Velodyne全景雷达,Kinect摄像头等,都是ROS官方支持的,驱动安装相当方便,这里就不详细说了,基本上市面上流行的传感器和IMU都有官方支持,没有的话在github上也能搜的到ROS相关接口。
3. Mapping 和 SLAMETH的2.5D MappingGitHub - ethz-asl/grid_map: Universal grid map library for mobile robotic mapping
ETH的机器人相关研究一直都是世界顶级的,ETHZ ASL · GitHub 下面的几乎每一个项目,都是一个机器人领域相关研究的分支。这里就不一一列举了。
4 Planning 和 Kinematics
官方非常基础的一个运动学相关的package。
GitHub - ros-planning/moveit_ros: MoveIt! ROS
----------总结陈词的分割线-------------
ROS在学术界和工业界的应用发展还远远没有止步,目前国内国外的相关机器人工程师招聘,也都有ROS相关的需求,比如前百度IDL副院长余凯的地平线机器人公司等等。把ROS玩好,可以大大的体会到做机器人相关研究的乐趣,希望有相关兴趣的同学都参与进来。
----------夹带私货的分割线-------------
最后安利一个自己的project,如果大家有人买了Leap motion control,同样最近非常火,并且经常被各种创业鸡汤项目拿来唬人的手势深度传感器,我给它写了一个简单的ROS接口https://github.com/CityU-MBE/leap_motion_ros
我们组正在进行的一个深度学习机器人应用的项目,主要是Semantic Mapping和基于CNN的壁障,目前比较搓,后期也可能弃坑,大家看看就好
GitHub - libcnn/libcnn: libcnn++
The ArduPilot system is made up of (or relies upon) several different projects which are listed below. Those marked with an asterix (*) are peer projects that have their own owners outside the core ArduPilot dev team.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。