首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

学习ROS,你所需要的基础知识

如果告诉你,学习ROS可以零基础入门,那也有点忽悠人了。

九层之台,起于垒土。学习ROS还是需要一点基本功的。这些基本功是你搞各种机器人程序开发的基础,如果没有,早晚要补上,逃不了的。那么,最起码要具备哪些能力呢?

1、C++/Python编程能力

与非熊起步用的是C++,鉴于Python现在这么火,你完全可以起步用Python。学习ROS免不了编程,总得会敲代码吧,不需要多么复杂的编程技巧,只要你用程序语言完成过一两次像模像样的课程作业,ROS编程就可以起步了,ROS下的编程与C++/Python编程本质没啥区别,就是用到了ROS相关的库以及ROS中的一些概念,所以切换到ROS环境下的编程是很快的,ROS wiki中的beginner教程能很快带你入门,但前提就是你要有C++/Python编程基本功。

2、Linux系统基本操作能力

ROS目前支持多种操作系统,主要包括Ubuntu、Windows和OS X。Windows下的支持是从2018年底才开始的,所以配套软件最少,而Ubuntu下的支持最为成熟,会在Ubuntu下开发程序也一名程序员的基本素养,因此,强烈推荐在Ubuntu环境下学习ROS,Linux系统的基本操作能力就是必不可少的了。

具体有哪些基本操作呢?ubuntu下命令行窗口的各种文件管理指令(目录跳转、打开、复制、删除等等),窗口界面下的文件管理基本操作(这就类似windows了),网络设置,集成开发环境的使用等等。

其实,学习Linux系统的基本操作能力就是熟悉另一个操作系统的过程。如果你只习惯使用Windos系统,只会在Visual Studio环境下编程,那么,必须转变思维,尝试去到Linux环境下编一次程序,当你使用了gcc、make、cmake、catkin_make编译程序的时候,你才能感受到编程的真正过程。刚开始会觉得有很多不方便的地方,越往后越能感受到一种简洁之美,这种简洁有利于你调试程序,找出bug,深入理解你所编写的程序。所以,当你在Ubuntu下编写ROS程序的时候,怎能绕开Ubuntu的各项基本操作呢?

3、机器人学基本知识

ROS既然被称为机器人操作系统,那么,使用ROS就是用来开发机器人功能的了。此时,必要的机器人学知识是你在这个领域里继续前行的关键。不会机器人学在这个领域里是走不远的,例如坐标变换、运动学方程,速度积分为路程等等,复杂的还有一些动力学分析、各种各样的算法原理,一开始虽然接触不到,但中期都会陆陆续续的出现,这些东西都属于开发机器人功能过程中数学层面的东西,没有这些东西的支撑,就没有机器人的正确运动。很多时候我们能用ROS的各种现成功能包直接跑出结果,可以看到机器人也动了,屏幕输出结果也都没问题,但当环境稍微发生一些变化时,就可能出现一些异常,若不理解机器人学基本原理,处理这些异常是十分困难的。

以上三个方面是本熊认为入门ROS的一些主要准备工作,至少告诉你应该朝着哪些方面去努力,或者当你学习ROS遇到困难了,可以思考一下是哪些环节制约了你,有针对性的补齐知识点,尽快提高ROS程序开发能力。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190107G0BTHO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券