机器人操作系统入门(一)ROS简介
参考资料:
https://www.icourse163.org/course/ISCAS-1002580008?tid=1003713012 //中国大学MOOC
https://www.bilibili.com/video/av23401751 //B站
《ROS操作系统入门讲义》PDF下载
链接:https://pan.baidu.com/s/1OCja2WLDRnjYXMrpnZ3-sQ
提取码:mziy
第一章、ROS简介
1. ROS:适用于机器人编程的框架,连接操作系统和ROS应用程序的中间件,是运行在Linux上的运行时环境
2. ROS特点
- 分布式点对点:机器人进程可以分别运行,便于模块化的修改和定制
- 多种语言支持:采用语言中立的接口定义,通信格式与编程语言无关
- 开源社区:ROS WIKI (http://wiki.ros.org/)
3. ROS优缺点
4. ROS安装
(1)版本选择:Ubuntu 16.04 + Kinetic //利用 cat /etc/issue 确定系统版本
(2)具体安装步骤参考:http://wiki.ros.org/cn //ROS WiKi 中文页面
- 配置Ubuntu初始环境:Ubuntu的设置 -> 软件与更新 -> Ubuntu软件 ->勾选关键字 universe , restricted , multiverse 三项
- 添加Ubuntu系统源:sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list' //中科大源
- 添加keys:sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
- 系统更新:sudo apt-get update && sudo apt-get upgrade //确保Debian软件包和索引是最新的
- 安装ROS:sudo apt-get install ros-kinetic-desktop-full //Ubuntu16.04安装Kinetic桌面完整版
注:单独安装软件包 sudo apt-get install ros-kinetic-包名;查找软件包 apt-cache search ros-kinetic
(3)配置ROS
- 初始化rosdep:sudo rosdep init && rosdep update
注:rosdep可以在编译某些源码的时候安装一些系统依赖,同时也是某些ROS核心功能组件所必需的工具
- ROS环境配置:echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
- 安装rosinstall:sudo apt-get install python-rosinstall
5. 测试ROS
(1)终端1:roscore //启动ROS
(2)终端2:rosrun turtlesim turtlesim_node //打开终端小海龟
(3)终端3:rosrun turtlesim turtle_teleop_key //利用键盘的方向键控制海龟移动
6. Ubuntu软件安装方式
(1)二进制包:sudo apt-get install git
二进制包里面包括了已经编译完成,可以直接运行的程序。你通过 sudo apt-get install 来进行下载和解包(安装),执行完该指令后就可以马上使用了。因此这种方式简单快捷,适合比较固定、无需改动的程序。
(2)源代码包:源代码下载 -> 编译 -> 运行
源代码包里是程序的原始代码,在计算机上必须经过编译,生成可执行的二进制文件,方可运行。一些个人开发的程序、第三方修改或者你希望修改的程序都应当通过源代码包的来编译安装。
示例:
下载源码包、安装依赖
1 $ cd 2 $ mkdir -p tutorial_ws/src #创建catkin工作空间 3 $ cd tutorial_ws/src #进入src路径,克隆教学软件包 4 $ git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git 5 $ cd ~/tutorial_ws 6 $ rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y //安装依赖
编译(需要回到工作空间 tutorial_ws)
1 $ cd ~/tutorial_ws 2 $ catkin_make 3 $ source ~/tutorial_ws/devel/setup.bash #刷新环境 方法一 4 $ rospack profile #刷新环境 方法二
注:
- 编译完成后,需要利用source命令刷新工作空间的环境 source ~/tutorial_ws/devel/setup.bash
- 可以利用 echo "source ~/tutorial_ws/devel/setup.bash" >> ~/.bashrc 保证每次打开终端,系统就会自动配置ROS环境变量
- 可以输入 source ~/.bashrc 使配置在当前窗口中立即生效
7. ROS IDE开发工具推荐:RoboWare Studio // 官方地址:http://cn.roboware.me/#/Download
优点:可以自动更新CMakeLists.txt、package.xml等配置文件
软件包和使用说明下载地址:
链接:https://pan.baidu.com/s/1UiTpCnXP6Kyau1YeTOkY8Q
提取码:phun
转载于:https://www.cnblogs.com/hg-love-dfc/p/10333202.html
机器人操作系统入门(一)ROS简介相关推荐
- ROS2GO之慕课《机器人操作系统入门》配置与使用(2018-2019-2)
ROS2GO之慕课<机器人操作系统入门>配置与使用(2018-2019-2) icourse163中国大学MOOC<机器人操作系统入门>第二次开课! 新版本地址 已将新版本代码 ...
- ROS机器人操作系统——如何将ROS与STM32连接(十六)
ROS机器人操作系统 文章目录 ROS机器人操作系统 前言 一.两种控制器的功能 二.硬件连接 总结 前言 前面学习了ROS的基本操作,仅仅只使用这个操作系统并没有什么用处,还需要讲他与硬件相结合从而 ...
- ROS2 机器人操作系统入门和安装以及如何使用 .NET 进行开发
本文是 ROS2 入门的第一课,简单介绍了 ROS 系统,并演示了 ROS2 系统在 Ubuntu 22.04 中的安装(使用 gitee 和清华源)以及其中错误的解决.最后对其优势进行总结,为什么选 ...
- ROS(1和2)机器人操作系统相关书籍、资料和学习路径
ROS机器人相关书籍与资料(更新日期2017年11月) ROS发展10年了,已经逐渐成为通用的机器人操作系统标准.ROS 2相关资料链接:http://blog.csdn.net/zhangrelay ...
- 在Ubuntu 18.04 LTS安装ROS Melodic版机器人操作系统(2019年10月更新MoveIt! 1.0 ROS 2.0 Dashing)
ROS Melodic版本在2018年5月23日推出正式版,这是ROS第三款长期支持版本,前2版LTS分别为:indigo(14.04):kinetic(16.04).此版本有windows版已经推出 ...
- ROS机器人操作系统资料与资讯(2018年5月)
只补充最近有更新的精选资料,先上官网为敬. 官网: 1. ROS 1.0:http://www.ros.org/ 2. ROS 2.0:https://github.com/ros2/ros2/wik ...
- 关于ROS(Robot OS 机器人操作系统)
关于ROS(Robot OS 机器人操作系统) 关于ROS(Robot OS 机器人操作系统) 对于ROS的安装,在它的官方网站: http://wiki.ros.org/ROS/Installati ...
- ROS机器人操作系统——创建工作空间与功能包(四)
ROS机器人操作系统 文章目录 ROS机器人操作系统 前言 一.工作空间 1.创建工作空间 2.编译工作空间 3.设置环境变量 4.检查环境变量 二.功能包 1.创建功能包 2.编译功能包 总结 前言 ...
- 第二代机器人操作系统课程资料汇总 Course Learning Materials for ROS2 2019.10.23
ROS2全部课程资料专栏:https://blog.csdn.net/zhangrelay/article/category/9327597 ROS2开发最新动态资讯:https://blog.csd ...
最新文章
- hdu4544 优先队列(小贪心)
- “中文四六级”考试来了!《国际中文教育中文水平等级标准》发布
- mybatis教程--延迟加载详解
- SICP学习笔记(1.1.4~1.1.5)
- go kegg_KEGG分析及可视化
- JQuery + XML作为前后台数据交换格式实践
- zabbix的源码安装
- java字符串替换 数组,Java工具类-拆分字符串组装数组,替换字符
- 百度网盘资源下载快速提速方法,无需破解
- CrossApp 0.4.2 发布,隆重推出 WebView
- git 上传文件过大问题
- plist图片列表分割拆分器(修复输出图片错误的BUG)
- WIN10任务栏卡死,鼠标一直转圈(亲测有效)
- PHP开发api接口安全验证
- c语言如何小写转换为大写字母,c语言怎么将小写转换为大写
- 写给想通过程序员转型为项目经理的人
- 间充质干细胞最新研究成果进展(2021年10月)
- 单片机之人体感应传感器原理与实现
- c语言expand函数,编纂expand(s1,s2)
- buddypress主题_适用于WordPress网站的20个最佳BuddyPress主题
热门文章
- vulnhub inclusiveness: 1
- 你的硬盘有多快?,教你提升硬盘/NAS读写性能
- 第4章第15节:图表:使用饼图制作投资公司四季收益图表 [PowerPoint精美幻灯片实战教程]
- 【转载】第6节: 六类Calander处理六种不同的时间场景
- 陈老师给你介绍半导体功率器件知识大汇总
- WaWa的奇妙冒险(第一周集训自闭现场)
- 信息化故事--温州的传奇(11)从“进城务工”看“温州新版自闭症”
- C语言—班级学生管理系统
- JavaScript事件驱动模型
- 【微信小程序】二维数组列表渲染