ROS机器人操作系统
前言
大一下的时候接触过ROS,也只是单纯的知道这个东西,了解了一点皮毛,并没有系统的去学习。一年过去了,无人驾驶以及机器视觉还是更加吸引我,于是我打算重拾ROS,希望能在别人开源的基础上做到二次开发,实现我想要的功能。
一、ROS是什么?
随着机器人领域的快速发展和复杂化,代码的复用性和模块化的需求原来越强烈,而已有的开源机器人系统又不能很好的适应需求。2010年Willow Garage公司发布了开源机器人操作系统ROS(robot operating system),很快在机器人研究领域展开了学习和使用ROS的热潮。ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。它包含了大量工具软件、库代码和约定协议,旨在简化跨机器人平台创建复杂、鲁棒的机器人行为这一过程的难度与复杂度。
二、ROS的发展史
ROS 的主要目标是为机器人研究和开发提供代码复用的支持。ROS是一个分布式的进程(也就是“节点”)框架,这些进程被封装在易于被分享和发布的程序包和功能包中。ROS也支持一种类似于代码储存库的联合系统,这个系统也可以实现工程的协作及发布。这个设计可以使一个工程的开发和实现从文件系统到用户接口完全独立决策(不受ROS限制)。同时,所有的工程都可以被ROS的基础工具整合在一起。
三、ROS的特点
- 通道:ROS提供了一种发布-订阅式的通信框架用以简单、快速地构建分布式计算系。
- 工具:ROS提供了大量的工具组合用以配置、启动、自检、调试、可视化、登录、测试、终止分布式计算系统。
- 强大的库:ROS提供了广泛的库文件实现以机动性、操作控制、感知为主的机器人功能。
- 生态系统:ROS的支持与发展依托着一个强大的社区。ros.org尤其关注兼容性和支持文档,提供了一套“一站式”的方案使得用户得以搜索并学习来自全球开发者数以千计的ROS程序包。
总结
自己是真的很喜欢这个,虽然很难,但是也要坚持毕竟我才大二,可以给大家看看我的ROS学习小车。 这个是我大一下学期学习用的车,树莓派主控,乐视的摄像头,思岚A1的激光雷达,一个简单的3轮小车(这个是平衡小车之家的车,大一下能力还不够,只能买套件用来学习) 当时用激光雷达建出来的地图,毕竟是人家开源的东西,用起来很简单。 给各位看看我的新车,这个车是我组装的,下了血本的一辆车。Jetson nanoB01主控,奥比中光深度相机x2,思岚A1激光雷达,创乐博显示屏,一个高配的麦克纳姆小车。 这个车是我自己组装的,用了两天时间终于让他跑了起来,激光雷达,深度相机都可以使用了,好不容易。接下来就可以好好学习ROS了。
|