为什么选择ROS:

1、ROS是开放源码的,在该平台上可以找到非常很多免费开源的代码包,并且这些例程还带wiki说明文档;

2、机器人领域最新的算法直接支持ROS,简单几个步骤就能运行;

3、ROS工具库非常强大,编译简单、容易实现可视化、调试工具多。

ROS的出现大大降低了机器人开发的门槛,但对大学里的一般学生而言,难度还是较大,主要体现在跨领域要求上。大学里和机器人相关的专业:机械、电子、软件等,均只专一行,而机器人却是这几个领域的集大成者。

机器人相关的基础知识有:

1、Linux,一般使用ubuntu开发

2、编程:C++或者Python、cmake

3、嵌入式控制:STM32、IMU、PID

ROS在国内已经热门很多年了,现在网上的教程很多。写这个教程有什么意义呢?名和利现在都很难指望上。大学里想做实践很困难,身边很少有人有能力或者肯花时间指点你,网上的教程大多片面或者里面的门槛基础直接让我无从开始。

原子的stm32是个人见过最好的教程,没有之一。买回来就能用,有硬件有代码有文档有视频,一步步深化,只要花时间做实验就能学会。

所以我也打算写一个和原子stm32一样真正零门槛的教程系列,配套硬件、源码、系统镜像,希望能帮助那些有兴趣肯学习的同学。

先写教程目录,后面慢慢填坑!立flag!每天更新!!!

《ROS与SLAM三十三天》

前篇
第一章:ubuntu安装
第二章:Linux常用指令
第三章:ROS安装
第四章:ROS指令和工具

基础知识篇
第一章:搭建工作空间
第二章:编译
第三章:ROS Node
第四章:Topic
第五章:TF坐标变换与静态TF发布
第六章:ROS Server
第七章:odom发布
第八章:Twist发布
第九章:ROSBAG回放工具
第十章:Launch文件编写

SLAM篇
第一章:Hector算法及建图
第二章:GMAPPING算法及建图
第三章:Carto算法及建图
第四章:导航算法与编译
第五章:AMCL定位
第六章:虚拟建图

手把手教你搭建真实机器人篇
第一章:底盘驱动
第二章:odom算法
第三章:激光雷达驱动
第四章:开机自启动
第五章:硬件系统设计
第六章:在香蕉派、树莓派、odroid上安装ROS
第七章:ROS远程监控、SSH远程登陆、VNC远程桌面
第八章:本地服务器
第九章:安卓客户端

ROS零门槛学渣教程系列前言的更多相关文章

  1. ROS零门槛学渣教程系列(二)——Linux常用指令:mkdir、tar、 unzip、cp、scp、mv、rm、find、apt、ssh

    Linux常用指令通过上一教程,我们获得了ubuntu系统.Linux是一个很大的领域.但不要紧张,我们一步步来就是了,跟着教程,需要能用到新知识,会提前介绍给大家.下面学习几个常用的Linux指令. ...

  2. ROS零门槛学渣教程系列(一)——ubuntu安装

    本教程使用虚拟机安装ubuntu 实验前准备:下载ubuntu系统镜像 本教程使用的是ubuntu14.04lts版本,有能力的读者可自行下载安装. 推荐使用本人制作的镜像,该镜像已安装好ROS.和配 ...

  3. ROS零门槛学渣教程系列(二十)——ROSJAVA和Android

    ros wiki地址:http://wiki.ros.org/android 第一步:安装JDK (参考博文:https://blog.csdn.net/Hong_A/article/details/ ...

  4. 【Android进阶系列教程】前言

    起因 因为初学Android的时候还没有写博客的意识,现在Android的门是入了,正在进阶的道路上行走,但是就这一路也走了不少的弯路.我想,总得来说Android入门还是比较容易的,网络资源比较丰富 ...

  5. WPF入门教程系列(一) 创建你的第一个WPF项目

    WPF入门教程系列(一) 创建你的第一个WPF项目 WPF基础知识 快速学习绝不是从零学起的,良好的基础是快速入手的关键,下面先为大家摞列以下自己总结的学习WPF的几点基础知识: 1) C#基础语法知 ...

  6. WebRTC 零基础开发者教程(中文版)下载

    WebRTC 简介 WebRTC,是一个支持网页浏览器进行实时语音通话或视频聊天的技术,是谷歌2010年以6820万美元收购Global IP Solutions公司而获得的一项技术. WebRTC提 ...

  7. PowerDesigner教程系列

    文章转载至:http://www.cnblogs.com/yxonline/archive/2007/04/09/705479.html PowerDesigner教程系列(一)概念数据模型 目标:本 ...

  8. 个人永久性免费-Excel催化剂功能第21波-Excel与Sqlserver零门槛交互-执行SQL语句篇

    在前两波中,已完成了Excel与Sqlserver的查询和上传功能,但难免许多临时的或更深入地操作数据库需要用Sql语句来操作,对一般用户电脑里,不可能有条件轻易安装一个数据库客户端软件,就算安装了对 ...

  9. 个人永久性免费-Excel催化剂功能第20波-Excel与Sqlserver零门槛交互-数据上传篇

    Excel作为众多数据存储的交换介质,在不同的系统内的数据很少可以很连贯地进行整合分析,一般的业务系统都会提供导出Excel作为标配功能供用户使用系统内生成的数据. 此时最大的问题是,Excel很维去 ...

随机推荐

  1. [SDOI2013]森林 (启发式合并)

    /* 树上主席树能够求出链上第k大, 然后启发式合并直接重构就好了 卡常数就卡呗 反正我就暴力重构了!! */ #include<cstdio> #include<algorithm ...

  2. IDEA overwrite报错、languagelevel设置不生效问题

    发现idea 倒入项目后,发现@override报错,发现是idea的jdk版本不对,需要设置大于1.5的jdk版本 解决办法: IDEA:File >> Project Structur ...

  3. JavaScript数组方法--concat、push

    利用了两天的时间,使用typescript和原生js重构了一下JavaScript中数组对象的主要方法,可以移步github查看. 这里,按照MDN上的文档顺序,再重新学习一下数组方法吧. conca ...

  4. Python全栈开发记录_第七篇(模块_time_datetime_random_os_sys_hashlib_logging_configparser_re)

    这一篇主要是学习python里面的模块,篇幅可能会比较长 模块的概念:在Python中,一个.py文件就称之为一个模块(Module). 模块一共三种: python标准库 第三方模块 应用程序自定义 ...

  5. 201772020113 李清华《面向对象程序设计(java)》第16周学习总结

    1.实验目的与要求 (1) 掌握线程概念: (2) 掌握线程创建的两种技术: (3) 理解和掌握线程的优先级属性及调度方法: (4) 掌握线程同步的概念及实现技术: 2.实验内容和步骤 实验1:测试程 ...

  6. PHP等值判断中,常量与变量在左在右的区别

    在平时写代码过程中,经常会用到判断变量与常量相等的情况,比如if($a==1){…..} 或者if(1==$a) ,从执行效率上来说,1==$a比 $a==1的效率更高. 这个写法的另一个好处,当使用 ...

  7. python类的动态属性设置

    需求:根据入参,动态添加设置类的属性 实现: self.__setattr__ self.__getattribute__

  8. python3 字典update与deepcopy

    问题概述: 在码代码中,需要保存一个字典,用的update,后来发现update的值会随着原字典值得变化而变化. 而后使用deepcopy来保存字典. update a = {1:{2:3}}b= { ...

  9. Unable to find a single main class from the following candidates ,显示有两个main class

    由于基础框架是用的网上down的源码,我将项目名字改了,估计没有进行maven clean,本地调试的时候没有问题. 当发布时候,执行maven install 一直提示上述错误. 解决办法:1.ma ...

  10. MYSQL5.7脚本运行时出现[Warning] Using a password on the command line interface can be insecure

    MYSQL版本:5.7 在写linux脚本执行MYSQL命令的时候,如果使用 MYSQL="mysql -hlocalhost -P3306 -uroot -p666666" 登陆 ...