今天在新装成的ubuntu系统上,装上ROS,运行一下小乌龟的同时,完善一下编译环境。
一、装机的回顾1、启动U盘的制作。
在一开始就应该使用rufus,中文的界面操作也明确。
创建启动盘时,注意自己电脑的类型,启动盘的类型要与之对应。否则从启动盘启动,会提示没有检测到USB。
启动盘的文件类型选择NTFS,选择FAT32似乎启动文件不能大于2G,这个实在是不懂。但NTFS对U盘的损耗不小。
2、BIOS的设置
进入bios,先设置好bios的密码,否则大部分的选项都是黑的。
首先将Boot Meun 设置disabled,然后是Security Boot 设置disabled,在main下按下CTRL+S,将SATA Mode 改成ACHI,在把udd 设置在windows之前,才能进入启动盘启动。然后开始装机。
二、装ROS1、确定版本
不同的Ubuntu系统也对应不同的ROS版本,20.04对应版本为 noetic。
2、选择合适的软件源
如果直接安装ROS,sudo apt-get install ros-noetic······,最后总是会说,有一些安装包下载不到。原因的默认的软件源里没有他们,即使用了 sudo apt-get update 更新软件源列表,也是搜索不到的。因此,总是要先更换好合适的软件源。
在应用列表里找到软件与更新,更改软件源即可。
古月居教程为阿里云、我更喜欢科大源。
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
输入之后,稍等片刻就可以看见提示,,我之前已经装过相同的密钥,因此会提示未改变。第一次安装则会显示已导入。
导入密钥,又更改了软件源,接下来,就要去新的软件源里获取应用列表。注意,推荐软件与更新更新器设置的软件源与命令行设置的软件源一致,下载速度快到飞起。
终端输入,更新软件列表。
sudo apt-get update
完成之后,开始安装ROS
20.04使用下面的命令安装,然后静静等待。
sudo apt-get install ros-noetic-desktop-full
装完之后,初始化一下rosdep
sudo rosdep init
出错就尝试,之后尝试再次初始化rosdep
sudo apt install python3-rosdep2
又出错,提示为 ERROR: default sources list file already exists......意思是,这个文件已经存在了,那把它删除就行,rm命令+错误提示的路径。
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
之后再进行rosdep的初始化,这次终于出现的理想的提示
之后,按照提示,rosdep update一下。这里很多人都难运行成功,不是超时就是出错,原因是,这里下载更新的时候,会访问境外网站,有能力访问的就下载,没能力也不影响ros后续的学习。
接下来,就要设置ros环境变量了,设置环境变量是为了配合catkin_make,让他找的到ros的编译支持,避免catkin_make出错。
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
写了这一句,就会在桌面目录下的隐藏文件 .bashrc里,在最后一行添加 source命令,就是“ ”括起来的部分。
紧接着source一下刚才修改的环境设置文件.bashrc,这样
source ~/.bashrc
这里,其实ROS已经安装的差不多了,运行小乌龟完全没有问题。
三、可以认为是安装ROS的一些插件rosinstall
这个插件安装之后,我们就可以安装ros生态下的一些应用了,比如rviz,gazbo,不过这些软件,安装ros的时候已经装好了。毕竟装的是桌面完整版。但是完整版不一定就全都有了,为了以防万一,以后出错而摸不着头脑,还是能装就装。
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool
roslaunch
安装这个插件才能进行ros的运作
sudo apt install ros-noetic-roslaunch
四、小海龟验证ROS安装
一个终端输入roscore
一个终端输入
rosrun turtlesim turtlesim_node
一个终端输入
rosrun turtlesim turtles_teleop_key
选择键盘控制命令终端,才能键盘控制小乌龟。



