Ubuntu18.04下安装ROS日志及小海龟示例教程

2023-11-22 01:10

本文主要是介绍Ubuntu18.04下安装ROS日志及小海龟示例教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


文章目录

  • 一、什么是ROS?
  • 二、ROS系统安装
  • 小海龟示例
  • 总结


一、什么是ROS?

ROS (Robot Operating System, 机器人操作系统) 提供一系列程序库和工具以帮助软件开发者创建机器人应用软件。它提供了硬件抽象、设备驱动、函数库、可视化工具、消息传递和软件包管理等诸多功能。ROS遵循BSD开源许可协议。

详细资料参考:ROSwiki

  • ROS架构设计:
    1、os层:依托linux操作系统,
    2、中间层:基于TCPROS/UDPROS的通信系统,通过发布/订阅,客户端/服务端等模式,实现多种通信机制的数据传输。 Nodelet数据传输方式 数据库。
    3、应用层:需要运行一个管理者Master,负责管理整个系统的正常运行;

从系统实现的角度来看,ROS也可以分为三个层次:文件系统,计算图和开源社区

在这里插入图片描述

二、ROS系统安装

一键安装教程:鱼香ROS

- 以下是手动安装步骤

1. 添加ROS软件源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

在这里插入图片描述

2. 添加密钥

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

在这里插入图片描述

3. 安装ROS

需要根据Ubuntu的版本选择合适的ROS版本。否则会出现Unable to locate package ros-kinetic-desktop-full的错误。ROS的版本主要有Melodic(18)、Lunar(20)、Kinetic(16)版本,根据linux系统不同选择合适的版本,报错也就解决了。安装时间比较长。

sudo apt update
sudo apt-get install ros-melodic-desktop-full

安装完成截图,安装过程耗时30min
在这里插入图片描述

4. 初始化ROSdep

sudo rosdep init
rosdep update

报错信息:
在这里插入图片描述
解决办法:

sudo apt install python-rosdep

rosdep是ros的一个功能包
在这里插入图片描述
接下来更新rosdep的时候,会提示请初始化rosdep,出现报错信息:
在这里插入图片描述
解决办法:rosdep更新失败解决办法
参考以上文章,我的解决办法:

  • sudo apt install python-pip

  • pip -v

  • . sudo pip install rosdepc

在这里插入图片描述

  • sudo rosdepc init
    会有奇迹与魔法出现的哦~
    在这里插入图片描述
  • 背负着全Ubuntu的使命敲下:rosdepc update
    在这里插入图片描述

5. 设置环境变量

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

6. 安装rosinstall

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

小海龟示例

  1. 启动ROS Master
    roscore
    在这里插入图片描述
    报错:IOError: [Errno 13] Permission denied: ‘/home/ros/.ros/roscore-11311.pid’

这个问题是由于该路径下ros文件权限造成的。

输入以下命令修改权限:

sudo chmod 777 -R ~/.ros/
修改完成后再次输入roscore就ok了
在这里插入图片描述
rosmaster启动成功。

  1. 启动小海龟仿真器
    新打开一个终端,输入:
    rosrun turtlesim turtlesim_node

  2. 启动海龟控制节点
    新打开一个终端,输入:rosrun turtlesim turtle_teleop_key
    可以用键盘上的方向键控制小海龟的移动方向。
    在这里插入图片描述
    注意:如果你无法通过方向键改变小海龟的方向的话,你需要点击输入命令:rosrun turtlesim turtle_teleop_key的窗口才能唤醒小海龟,而不是点击小海龟的窗口唤醒小海龟。


总结

安装ROS的过程会产生很多与教程文章不同的问题,还好都可以根据报错信息去解决,只要静下心就可以成功。
小海龟的移动非常真实,它需要用前后键才能走动,左右键只能改变它的方向,这与平常玩的赛车游戏经验略有不同,同时也能感受它在现实移动的魅力,缺点是小海龟左右移动的偏角太大了,无法精确地控制。

参考文章:https://blog.csdn.net/qq_43279579/article/details/114291635
ROS安装与验证

这篇关于Ubuntu18.04下安装ROS日志及小海龟示例教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/406394

相关文章

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

PyCharm 接入 DeepSeek最新完整教程

《PyCharm接入DeepSeek最新完整教程》文章介绍了DeepSeek-V3模型的性能提升以及如何在PyCharm中接入和使用DeepSeek进行代码开发,本文通过图文并茂的形式给大家介绍的... 目录DeepSeek-V3效果演示创建API Key在PyCharm中下载Continue插件配置Con

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll