1、安装ubuntu
- 进入ubuntu20.04.6官网下载镜像文件,链接:https://releases.ubuntu.com/focal/
- 在VM中新建虚拟机,安装ubuntu
选择下载好的镜像文件
填写信息
填写信息
填写信息自定义硬件的CD/DVD(SATA)选择下载的镜像文件
2、安装ROS
- 添加ROS软件源
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'
- 添加秘钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
- 更新软件源
报错
经过一个下午的折腾,终于找到了罪魁祸首,由于本人是按照这篇教程: https://blog.csdn.net/qq_44339029/article/details/120579608?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169363198216800197011214%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=169363198216800197011214&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-120579608-null-null.142v93koosearch_v1&utm_term=ROS%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187来安装ROS的,于是上来就输了
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'
这句命令在/etc/apt/sources.list.d文件夹下新建了ros-latest.list文件,并写入了deb http://mirrors.ustc.edu.cn/ros/ubuntu/ jammy main"
导致我后续的换源全部失败,试过先换源再来修改这里为对应的网址,也是全部失败,于是把这个文件删了,再换源,一次成功。
本人安装操作
- 在software updater中设置软件源为阿里云(下载较快)
- 运行命令
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
这句命令就是设置安装ROS的源
- 添加秘钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
- 运行命令更新软件源
sudo apt update
- 运行命令安装ROS
sudo apt install ros-noetic-desktop-full
安装完成
6.初始化,输入命令
sudo rosdep init
结果:失败-命令无法找到
解决:输入命令
sudo apt install python3-rosdep
7.继续输入
sudo rosdep init
初始化成功
- 设置环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
- 安装rosinstall
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool
安装成功
- 验证ROS是否安装成功
roscore
成功
ROS使用
roscore
启动ROS- 打开新终端
rosrun turtlesim turtlesim_node
功能包名 - 打开新终端
rosrun turtlesim turtle_teleop_key
节点名 - 注意鼠标要选中最后打开的终端,才能移动小海龟
关闭roscore:killall -9 roscore