嵌入式系统应用实验(一):Ros的安装与应用
1.Ros的介绍:
ROS (Robot Operating System, 机器人操作系统)是一个适用于机器人的开源的元操作系统,提供一系列程序库和工具以帮助软件开发者创建机器人应用软件,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。
得益于它的特点ROS日渐强大,其特点有点对点设计、不依赖编程语言、精简与集成、便于测试、开源、强大的库及社区。随着技术的发展及人们需求的提高,机器人集成了越来越多的功能、传感器,对用户来说这越来越方便,但对开发者来说恰恰相反,功能的增加带来开发与集成难度迅速上升,ROS的出现有效缓解了这种问题,这也是它的意义所在
2.在ubuntu安装ros:
在Ros官网(https://www.ros.org/about-ros/)中根据自己的Ubuntu版本选择对应的ROS版本
官方文档地址:http://wiki.ros.org/noetic/Installation/Ubuntu
2.1选择系统:Ubuntu20.04 ROS安装版本: Noetic
2.2.安装过程:
2.2 1.添加 sources.list(设置你的电脑可以从 packages.ros.org 接收软件.)
sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’
2.2.2.添加 keyssudo apt-key adv --keyserver ‘hkp://keyserver.ubuntu.com:80’ --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
2.2.3.安装
首先,确保你的ubuntu软件包索引是最新的
sudo apt update
2.2.4.安装桌面完整版 : 包含ROS、rqt、rviz、机器人通用库、2D/3D 模拟器、导航以及2D/3D感知
sudo apt install ros-noetic-desktop-full
下载时间大约20分钟
2.2.5.您必须在使用ROS的每个bash终端中获取此脚本的源代码。
source /opt/ros/noetic/setup.bash
2.2.6.环境配置
echo “source /opt/ros/noetic/setup.bash” >> ~/.bashrc
source ~/.bashrc
3.构建软件包的依赖关系3.1
到目前为止,已经安装了运行核心ROS软件包所需的软件。为了创建和管理自己的ROS工作区,有各种工具和要求分别分发。例如,rosinstall是一个常用的命令行工具,使您可以通过一个命令轻松下载ROS软件包的许多源代码树。
要安装此工具和其他用于构建ROS软件包的依赖项,请运行:
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
3.2 初始化rosdep
在使用许多ROS工具之前,您需要初始化rosdep
。rosdep
使您可以轻松地为要编译的源安装系统依赖性,并且是运行ROS中的某些核心组件所必需的。如果尚未安装rosdep
,请执行以下操作
sudo apt update python3-rosdep
使用以下命令,可以初始化 rosdep:
sudo update rosdep
rosdep init
3.3第一次启动ROS时,需要进行环境变量配置,执行如下命令
echo “source /opt/ros/melodic/setup.bash” >> ~/.bashrc
source ~/.bashrc
4.启动Ros并运行小乌龟
4.1.在Terminal中运行以下命令:
$ roscore
4.2 新开一个terminal,运行以下命令,打开小乌龟窗口:
$ rosrun turtlesim turtlesim_node
4.3 新开一个terminal,运行以下命令,打开乌龟控制窗口,可使用方向键控制乌龟运动:
$ rosrun turtlesim turtle_teleop_key
4.4 选中控制窗口,按方向键,可看到小乌龟窗口中乌龟在运动。
4.5 新开一个terminal,运行以下命令,可以看到ROS的图形化界面,展示结点的关系:
$ rosrun rqt_graph rqt_graph
参考链接:
1.Ros官方文档:http://wiki.ros.org/noetic/Installation/Ubuntu
2.关于sudo rosdep init的错误及解决方案:https://www.guyuehome.com/12640
注意:网络问题,用手机开热点,最好使用电信卡,不要用移动和联通,连接不起。
3.Ros运行示例程序方案:
http://wiki.ros.org/ROS/Tutorials#Core_ROS_Tutorials 参考文档: