一、ROS概述与环境搭建
1.1、ROS简介
1.1.1ROS概念
ROS全称Robot Operating System(机器人操作系统)
ROS=通信+工具(仿真)+功能(调参)+生态(话语权)
1.1.2ROS设计目标
机器人开发的分工思想,实现了不同研发团队间的共享和协作,提升了机器人的研发效率,为了服务“分工”。ROS主要设计了如下目标:
1.1.3ROS发展历程
1.2ROS安装
1.2.1安装ROS
1.配置Ubuntu的软件和更新
2.设置安装源
详情搜素:官方安装源
PS:回车后,可能需要输入管理员密码;建议使用国内资源,安装速度更快
3.设置key
4.首先需要更新apt(以前是apt-get,官方建议使用apt而非apt-get),apt是用于互联网仓库搜索,安装,升级,卸载软件或操作系统的工具。
sudo apt update
等待...
sudo apt install ros-noetic-desktop-full
5.配置环境变量
配置环境变量,方便在任意终端中使用ROS
6. 安装构建依赖
1.2.2测试ROS
注意:光标必须聚焦在键盘控制窗口,否则无法控制乌龟运动
1.3、ROS快速体验
编写ROS程序,在控制台输出文本:Hello World
1.3.1、Hello World实现简介
1.创建工作空间并初始化
mkdir -p 自定义空间名称/src
cd 自定义空间名称
catkin_make
上述命令,首先会创建一个工作空间以及一个src子目录,然后再进入工作空间调用catkin_make
命令编译。
2.进入src创建ros包并添加依赖
cd src
catkin_create_pkg 自定义ROS包名 roscpp rospy std_msgs
上述命令,会在工作空间下生成一个功能包,该功能包依赖与roscpp,rospy与sta_msgs,其中roscpp是使用c++实现的库,而rospy则是使用python实现的库,std-msgs是标准消息库,创建ROS功能包时,一般都会依赖这三个库实现
1.3.2Hello World(c++版)
1.进入ros包的src目录编辑源文件
cd 自定义的包
c++源码实现(文件名自定义)
2.编辑ros包下的Cmakelist.txt文件
add_executable(步骤3的源文件名
src/步骤3的源文件名.cpp
)
target_link-libraries(步骤3的源文件名
${catkin_LIBRARIES}
)
3.进入工作空间目录并编译
cd 自定义空间名称
catkin_make
生成build devel...
4.执行
先启动命令行1:
roscore
再启动命令行2:
cd 工作空间
source ./devel/setup.bash
rosrun 包名 c++节点
命令行输出:Hello World
ctrl+h调出隐藏文件
1.4、ROS集成开发环境搭建
1.4.1、安装终端
在ROS中,需要频繁的使用到终端,且可能需要同时开启多个窗口,推荐一款较为好用的终端:Terminator,效果如下:
1.安装
sudo apt install terminator
2.添加到收藏夹
显示应用程序-->搜索terminator-->右击 选择 添加到收藏夹
3.Terminator常用快捷键
第一部分:关于在同一个标签内的操作
第二部分:有关各个标签之间的操作
1.4.2安装VScode
1.下载
2.vscode安装与卸载
2.1安装
方式一:双击安装即可(或右击选择安装)
方式二:
sudo dpkg -i xxxx.deb
2.2卸载
sudo dpkg --purge code
3.vscode集成ROS插件
使用vscode开发ROS程序,需要先安装一些插件,常用插件如下:
4.vscode使用_基本配置
4.1创建ROS工作空间
mkdir -p xxx_ws/src(必须得有 src)
cd xxx_ws
catkin_make
4.2启动vscode
进入xxx_ws启动vscode
cd xxx_ws
code .
4.3vscode中编译ros
快捷键ctrl+shift+b调用编译,选择:catkin_make:build
4.4创建ROS功能包
选定src右击--->create catkin package
设置包名 添加依赖
4.5c++实现
在功能包的src下新建cpp文件
解决办法:在函数开头加入下面代码的任意一句
setlocale(LC_CTYPE,"zh_CN.utf8");
setlocale(LC_ALL, "");
4.6配置CMakeLists.txt
c++配置
add_executable(节点名称
src/c++源文件名.cpp
)
target_link_libraries(节点名称
${catkin_LIBRARIES}
)
4.7编译执行
5.其他IDE
1.4.3 launch文件演示
1.需求
2.实现
1.选定动能包右击---->添加launch文件夹
2.选定launch文件架右击---->添加launch文件
3.编辑launch文件内容
4.运行launch文件
roslaunch 包名 launch文件名
5.运行结果:一次性启动了多个节点
1.5ROS架构
1.5.1ROS文件系统
1.5.2 ROS文件系统相关命令
1.5.3ROS计算图