目录
一、ROS概念
a.ROS含义
ROS英文全称Robot Operating System,直译为机器人操作系统,是一个机器人软件平台,提供一些标准操作系统服务,分成两层,低层是上面描述的操作系统层,高层则是广大用户群贡献的实现不同功能的各种软件包,例如定位绘图,行动规划,感知,模拟等等。
ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目。到2008年,主要由威楼加拉吉继续该项目的研发;
b.ROS的发展
ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目。到2008年,主要由威楼加拉吉继续该项目的研发。
ROS今年已经将近11个年头了,现已成为主流的机器人操作系统,其涵盖了导航定位(SLAM)、3D物体识别、运动规划、多关节机械臂运动控制、机器学习等,甚至可以让机器人协同完成打桌球、人机互动等高难度组合动作。
二、熟悉ROS——简单例子
a.Ubuntu18下ROS软件安装
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.设置秘钥
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
如下图所示:
3.使用下列命令更新
sudo apt update
报错:
W: GPG 错误:http://mirrors.ustc.edu.cn/ros/ubuntu bionic InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654
E: 仓库 “http://mirrors.ustc.edu.cn/ros/ubuntu bionic InRelease” 没有数字签名。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
使用下列命令解决:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
4.再次执行更新命令(若未报错略过)
如下图所示:
5.开始安装ROS
sudo apt-get install ros-melodic-desktop-full
输入y继续(若无此提示忽略)
报错:
E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)
E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它?
依次执行以下命令解决:
ls /var/lib/dpkg/lock-frontend
sudo rm -r -f /var/lib/dpkg/lock-frontend
sudo rm -r -f /var/lib/dpkg/lock
sudo apt install python-rosdep
如下图所示:
6.再次执行安装命令
sudo apt-get install ros-melodic-desktop-full
7.运行之前先初始化ROS:
sudo rosdep init
如图:
几乎一定会报错,多试几次:
8.开始更新,也是几乎一定会报错,不管多试几次,实在没耐心,再查看文末的参考解决链接:
9.添加ROS环境变量:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
10.安装rosinstall:
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
b.小海龟简单例程
启动前,先执行以下命令(当前操作台):
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
roscore
打开新的操作台:Ctrl+shift+t
rosrun turtlesim turtlesim_node
如图所示:
三、参考:
2.ROS的发展历程
3.安装主要参考文章
4.sudo rosdep init命令之cannot download和unable to process报错
5.rosdep update 命令之unable to process报错
6.鸡汤