ROS是什么
wiki:
ROS(Robot Operating System,下文简称“ROS”)是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。
ROS的安装过程
初始环境:Linux ubuntu 20.04LTS,更换软件源为清华源
添加ROS软件源
由于ROS使用了自己组建的软件源,我们需要将该软件源添加到apt的源列表中
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
添加密钥
部分软件包的安装需要密钥,我们需要添加该密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
更新软件源
更新软件源来让刚才的修改生效
sudo apt update
安装ROS对应版本
每个Ubuntu发行版都有对应的ROS版本,我们根据自己的版本来安装
sudo apt install ros-noetic-desktop-full
设置环境变量
将ROS需要的环境变量进行导入
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
安装ROS的安装组件
ros使用一系列安装器来从网上下载组件,我们需要安装它们
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
对于noetic版ROS,使用的是python3.一些早期版本会使用python2.
调整Github的访问
ROS的init和update需要访问raw.githubusercontent.com,而国内较难完成。一个可行的方式是用ghproxy.com进行代理。
我们只需要将下载资源的脚本中所有对raw.githubusercontent.com的访问换为对ghproxy.com的访问,
只需要在这些url前面添加https://ghproxy.com的前缀即可。
首先修改rosdep下载资源的脚本文件:/usr/lib/python3/dist-packages/rosdep2/sources_list.py,在download_rosdep_data()方法开头添加以下语句
url="https://ghproxy.com/"+url
然后rosdep2和rosdistro两个文件夹下在使用了https://raw.githubusercontent.com/这个url的地方的前面添加”https://raw.githubusercontent.com/”
我们可以使用grep命令查找/usr/lib/python3/dist-packages中rosdep2和rosdistro两个文件夹下的所有python文件中的https://raw.githubusercontent.com/字符串,并且可以用sed命令进行字符串替换
最后,在 /usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py的最后一个方法开头添加以下代码:
gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url
即可完成代理。
更新Rosdep
sudo rosdep init
sudo rosdep update
启动demo
roscore
输入以上命令后,ctrl+shift+T唤出第二个控制台,输入
rosrun turtlesim turtlesim_node
此时小乌龟已经出现了,但我们还不能控制它。
ctrl+shift+T唤出第三个控制台,输入
rosrun turtlesim turtle_teleop_key
就可以控制小乌龟了。鼠标点入第三个控制台,然后键盘输入上下左右就能让小乌龟移动了。
(不要停下来啊!)