自定义安装,手动选择镜像文件,处理器选择1个处理器,8个核心,其他选择默认的即可。
新装的虚拟机会提示更新(不是更新系统),建议换完源之后再更新。
左下角点开,打开software&updates。
选中源代码(最后一项),更换源,选择other,选择中国,推荐阿里云的镜像源。
点击close之后选择reload。如果中途卡住可以选择终止,然后再更换下载源,点击revert,再次reload。
打开终端,选择下面其中一个软件源,然后回车。
中科大源:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
清华源:
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
桌面完整版(推荐) : 包含 ROS、rqt、rviz、机器人通用库、2D/3D 模拟器、导航以及 2D/3D 感知包。
为了避免后面找不到命令提示,这里需要执行如下命令:
sudo apt install python-rosdep
sudo rosdep init
如果出现错误:cannot download default sources list from:,则输入:
cd /etc
sudo gedit hosts
在文件末尾换行加上:
151.101.84.133 raw.githubusercontent.com
之后保存文件,关闭终端再次执行sudo rosdep init,成功结果如下。
如果出现以下错误,则输入:sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
之后再次执行init。
如果出现以下错误,建议多次执行初始化,或者关闭命令行,更换软件源,再次从第3步开始执行。
rosdep update
下载源是国外的网站,只能,或者碰运气,换源多执行几次。如果成功了可以直接跳到第9步。另外也可以离线安装,下载好更新内容之后,将下载源全都改为本地的地址。在此因为版权问题我就不放离线包的链接了,可以在其他博主下找到离线包的资源,如果实在找不到可以私信我。
1.更新rosdep相关文件,增加代理地址
rm rosdep_update.sh ; wget https://gitee.com/ncnynl/rosdep/raw/master/rosdep_update.sh ; sudo chmod +x ./rosdep_update.sh; sudo ./rosdep_update.sh
完成之后,运行rosdep update即不会出现错误提示 脚本只能运行一次,多次运行,会提示重复运行信息
2.恢复rosdep相关文件,去掉代理地址
rm rosdep_recover.sh ; wget https://gitee.com/ncnynl/rosdep/raw/master/rosdep_recover.sh ; sudo chmod +x ./rosdep_recover.sh; sudo ./rosdep_recover.sh
将rosdistro-master压缩包放在Ubuntu虚拟机的主目录下,然后执行:
cd ~
unzip rosdistro-master.zip
mv rosdistro-master rosdistro
修改20-default.list文件:
sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list
打开文件后删除文件内容,然后输入以下内容:
# os-specific listings first
yaml file:///home/xxx/rosdistro/rosdep/osx-homebrew.yaml osx
# generic
yaml file:///home/xxx/rosdistro/rosdep/base.yaml
yaml file:///home/xxx/rosdistro/rosdep/python.yaml
yaml file:///home/xxx/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/xxx/rosdistro/releases/fuerte.yaml fuerte
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
其中xxx是自己的用户名,下面也是。
修改 sources_list.py 文件:
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
注释之前的DEFAULT_SOURCES_LIST_URL一行,然后增加:
DEFAULT_SOURCES_LIST_URL = 'file:///home/xxx/rosdistro/rosdep/sources.list.d/20-default.list'
修改 rep3.py 文件:
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
注释原 REP3_TARGETS_URL 一行,然后增加:
REP3_TARGETS_URL = 'file:///home/xxx/rosdistro/releases/targets.yaml'
修改 __init__.py 文件:
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
注释原 DEFAULT_INDEX_URL 一行,然后在其后添加如下一行:
DEFAULT_INDEX_URL = 'file:///home/xxx/rosdistro/index-v4.yaml'
添加ros环境变量:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
安装rosinstall:
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
初次运行配置环境变量:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
打开第一个终端运行:
roscore
打开第二个终端运行:
rosrun turtlesim turtlesim_node
此时有个静止的小乌龟,之后打开第三个终端运行:
rosrun turtlesim turtle_teleop_key
可以使用方向键控制小乌龟移动。