ROS 安装、卸载与 DEMO 示例(ROS Melodic Morenia、Ubuntu 18.04 LTS)
ROS 安装与卸载(ROS Melodic Morenia、Ubuntu 18.04 LTS)1. ROS 的安装和配置1.1 ROS Melodic 配置环境1.2 切换 Python2 运行版本1.3 安装 ROS Melodic 版本1.4 初始化 rosdep 过程1.4.1 替代步骤一1.4.2 替代步骤二1.4.3 成功的标志1.5 设置 ROS 环境变量2. ROS 的卸载和配置1.
ROS 安装、卸载与 DEMO 示例(ROS Melodic Morenia、Ubuntu 18.04 LTS)
1. ROS 的安装和配置
1.1 ROS Melodic 配置环境
Ubuntu 18.04 LTS、Python 2.7
1.2 切换 Python2 运行版本
conda create -n ros python=2.7
说明:使用 anaconda 创建 虚拟环境
ros
,anaconda 的安装及使用 参考网址
source activate ros
(base) hjw@hjw-pc:~$ source activate ros
(ros) hjw@hjw-pc:~$
1.3 安装 ROS Melodic 版本
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` 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
sudo apt install ros-melodic-desktop-full
sudo apt install rospack-tools
sudo apt install python-rosdep
1.4 初始化 rosdep 过程
sudo rosdep init
rosdep update
说明:由于网络问题,如果失败采用如下方法(1.4.1、1.4.2、1.4.3)替代,如果成功跳至 1.5节
1.4.1 替代步骤一
- 在一任意临时目录
home/hjw/ros
中下载 rosdistro 源码
git clone https://github.com/ros/rosdistro.git
- 将 /home/hjw/ros/rosdistro/rosdep/sources.list.d/20-default.list 复制到 /etc/ros/rosdep/sources.list.d/
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
sudo cp /home/hjw/ros/rosdistro/rosdep/sources.list.d/20-default.list /etc/ros/rosdep/sources.list.d/
到此,相当于成功完成 sudo rosdep init 的功能效果
1.4.2 替代步骤二
将以下3个文件中的下载地址 https://raw.githubusercontent.com/ros/rosdistro/master 替换成本地地址 file:// + 第1.4.1步骤中的路径,即为file:///home/hjw/ros/rosdistro
/usr/lib/python2.7/dist-packages/rosdep2/rep3.py
将
REP3_TARGETS_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml'
替换为
REP3_TARGETS_URL = 'file:///home/hjw/ros/rosdistro/releases/targets.yaml'
/usr/lib/python2.7/dist-packages/rosdistro/__init__.py
将
DEFAULT_INDEX_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
替换为
DEFAULT_INDEX_URL = 'file:///home/hjw/ros/rosdistro/index-v4.yaml'
/etc/ros/rosdep/sources.list.d/20-default.list
将
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte
替换为
yaml file:///home/hjw/ros/rosdistro/rosdep/osx-homebrew.yaml osx
yaml file:///home/hjw/ros/rosdistro/rosdep/base.yaml
yaml file:///home/hjw/ros/rosdistro/rosdep/python.yaml
yaml file:///home/hjw/ros/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/hjw/ros/rosdistro/releases/fuerte.yaml fuerte
- 更新配置文件
rosdep update
到此,相当于成功完成 sudo rosdep init 的功能效果
1.4.3 成功的标志
(ros) hjw@hjw-pc:~$ rosdep update
reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit file:///home/hjw/ros_test/rosdistro/rosdep/osx-homebrew.yaml
Hit file:///home/hjw/ros_test/rosdistro/rosdep/base.yaml
Hit file:///home/hjw/ros_test/rosdistro/rosdep/python.yaml
Hit file:///home/hjw/ros_test/rosdistro/rosdep/ruby.yaml
Hit file:///home/hjw/ros_test/rosdistro/releases/fuerte.yaml
Query rosdistro index file:///home/hjw/ros_test/rosdistro/index-v4.yaml
Skip end-of-life distro "ardent"
Skip end-of-life distro "bouncy"
Skip end-of-life distro "crystal"
Add distro "dashing"
Skip end-of-life distro "eloquent"
Add distro "foxy"
Add distro "galactic"
Skip end-of-life distro "groovy"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Skip end-of-life distro "jade"
Skip end-of-life distro "kinetic"
Skip end-of-life distro "lunar"
Add distro "melodic"
Add distro "noetic"
Add distro "rolling"
updated cache in /home/hjw/.ros/rosdep/sources.cache
(ros) hjw@hjw-pc:~$
1.5 设置 ROS 环境变量
- 原始的终端执行:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
- 打开另一个终端:
source ~/.bashrc
2. ROS 的卸载和配置
- 执行卸载命令
sudo apt-get purge ros-*
sudo apt-get autoremove
sudo rm -rf /etc/ros
- 删除环境变量
sudo gedit ~/.bashrc
source /opt/ros/melodic/setup.bash
source ~/.bashrc
3. ROS 的 DEMO 示例
- 第一个 terminal 执行 roscore
(base) hjw@hjw-pc:~$ source activate ros
(ros) hjw@hjw-pc:~$
(ros) hjw@hjw-pc:~$ roscore
... logging to /home/hjw/.ros/log/b07611c4-b605-11eb-8bdc-74d83e28ed44/roslaunch-hjw-pc-8009.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://hjw-pc:44267/
ros_comm version 1.14.10
SUMMARY
========
PARAMETERS
* /rosdistro: melodic
* /rosversion: 1.14.10
NODES
auto-starting new master
process[master]: started with pid [8031]
ROS_MASTER_URI=http://hjw-pc:11311/
setting /run_id to b07611c4-b605-11eb-8bdc-74d83e28ed44
process[rosout-1]: started with pid [8042]
started core service [/rosout]
- 第二个 terminal 执行 rosrun turtlesim turtlesim_node
(base) hjw@hjw-pc:~$ source activate ros
(ros) hjw@hjw-pc:~$
(ros) hjw@hjw-pc:~$ rosrun turtlesim turtlesim_node
[ INFO] [1621142280.640312672]: Starting turtlesim with node name /turtlesim
[ INFO] [1621142280.656568572]: Spawning turtle [turtle1] at x=[5.544445], y=[5.544445], theta=[0.000000]
- 第三个 terminal 执行 rosrun turtlesim turtle_teleop_key
(base) hjw@hjw-pc:~$ source activate ros
(ros) hjw@hjw-pc:~$
(ros) hjw@hjw-pc:~$ rosrun turtlesim turtle_teleop_key
Reading from keyboard
---------------------------
Use arrow keys to move the turtle. 'q' to quit.
说明:在第三个 terminal 移动键盘的 ↑、↓、←、→,来控制 turtle 的移动
- 第四个 terminal 执行 rosrun rqt_graph rqt_graph
说明:Python 缺 package,使用 conda install pyqt、conda install pydot 、pip install rospkg

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)