ROS项目于2007年在斯坦福大学以Switchyard为名启动,随后在2008年由一家名为Willow Garage的机器人研究初创公司进行开发。ROS的主要开发工作由Willow Garage完成。2013年,Willow Garage的研究人员成立了开源机器人基金会(Open Source Robotics Foundation,OSRF)。ROS现在由OSRF积极维护。下面,让我们介绍几个ROS发行版。
ROS是一个开源的、灵活的机器人软件框架,用于机器人应用程序编写。ROS提供了一个硬件抽象层,开发者可以在其中构建机器人应用程序,而不必担心底层硬件。ROS还提供不同的软件工具来可视化和调试机器人数据。ROS框架的一个核心是消息传递中间件,在这个中间件中,进程可以相互通信和交换数据,即使它们运行在不同的机器上。ROS消息传递可以是同步的,也可以是异步的。
ROS中的软件以功能包的形式组织,具有良好的模块性和可重用性。使用ROS消息传递中间件和硬件抽象层,开发人员可以创建大量的机器人功能,例如,地图构建和导航(在移动机器人中)。ROS中的几乎所有功能对机器人而言都是“不可知”的(即基于标准接口封装起来的),因此所有类型的机器人都可以使用它。新的机器人可以直接使用那些功能包,而无须修改功能包中的任何代码。
ROS在大学里有着广泛的合作关系,许多开发人员对ROS的发展做出了贡献。可以说ROS是一个由全世界开发者支持的社区驱动项目。这个活跃的开发者生态系统将ROS与其他机器人框架区分开来。
简而言之,ROS是管道(或通信,即通信机制)、(开发)工具、(应用)功能和生态系统的组合,这些功能如图1.1所示。
Melodic版本支持到2023年5月,我们安装这个版本,对应的是Ubuntu18.04
安装vmware,里边安装Ubuntu18.04,
安装前的准备
安装Ros,国内中科大镜像源
方法如下:
可以使用gedit编辑sources.list,打开
sudo gedit /etc/apt/sources.list
将中科大的源添加进去
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
更新:
sudo apt-get update
三、安装 ROS Melodic
1.安装源
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'
2.设置key
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
1
3.更新
sudo apt-get update
4.桌面完整安装(推荐)
ROS,rqt,rviz,机器人通用库,2D / 3D模拟器,导航和2D / 3D感知
sudo apt-get install ros-melodic-desktop-full
5.初始化rosdep
sudo rosdep init
rosdep update
这里下载比较麻烦,需要那心等待,可能需要不停地rosdep update,尽量使用手机热点,请注意!失败可能就是网络问题,你可以尝试先sudo apt-get update然后使用rosdep update
6.环境设置
如果ROS环境变量在每次启动新shell时自动添加到bash会话中,则很方便:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
如果安装了多个ROS分发版,~/.bashrc只能为当前使用的版本提供setup.bash。
如果只是想改变当前shell的环境,而不是上面的,可以输入:
source /opt/ros/melodic/setup.bash
7.构建软件包的依赖关系
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
8.测试
打开一个终端
roscore
第二个终端
rosrun turtlesim turtlesim_node
再开起一个终端控制,使用键盘上下左右键控制小乌龟移动
rosrun turtlesim turtle_teleop_key