热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

在树莓派ubuntu20.04上安装ROS并使用

背景:在树莓派上安装了ubuntu20.04,并准备在其上安装ros。可以看到,每个ubuntu版本对应的ros版本是不同的,ubuntu20.04对应的是NoeticNi

背景:

  在树莓派上安装了ubuntu20.04,并准备在其上安装ros。

  可以看到,每个ubuntu版本对应的ros版本是不同的,ubuntu20.04对应的是Noetic Ninjemys版本。版本不对应不能安装。

  一、安装程序

  添加ros官方源,并添加密钥

  

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) 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-noetic-desktop-full

  官方源速度非常慢,耐心等待。

  2021年12月25日更新方法,将服务器更换为中国科技大学

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

  二、初始化ros

sudo apt install python3-rosdep
sudo rosdep init
rosdep update

  服务器一般链接不上,自己考虑解决办法或者修改hosts

#修改host参考了这个https://blog.csdn.net/qq_23204557/article/details/105934126

#已及https://zhuanlan.zhihu.com/p/75994966?utm_source=wechat_session

#https://zhuanlan.zhihu.com/p/364476656

#https://blog.csdn.net/lyk_ffl/article/details/105712195

  三、运行例子

  需要三个终端同时运行

#打开第一个终端
roscore
#打开第二个终端
rosrun turtlesim turtlesim_node
#打开第三个终端
rosrun turtlesim turtle_teleop_key

 

  可以使用上下左右控制小乌龟,例子运行成功。

故障清除:

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

#source ~/.bashrc

 

#sudo apt install ros-noetic-rosbash

#https://blog.csdn.net/qq_33973712/article/details/108226729 

经查询,发现只有在同一个终端执行source devel/setup.bash 与rosrun 命令时,才能成功运行(即source只在自己的cmd生效),不能另外开一个新终端。而且如果我们要新开另一个节点,也需要重新用source指令配置环境。

  所以解决方法有两个:

source 和 rosrun在同一个终端执行
运行
sudo gedit ~/.bashrc
在最后添加:

source /home/cxj/catkin_ws/devel/setup.bash

 echo "source /home/cxj/catkin_ws/devel/setup.bash" >> ~/.bashrc


原文链接:https://www.cnblogs.com/angbors/p/15125976.html



推荐阅读
  • ThinkPad USB 硬盘启动 Ubuntu 系统的详细步骤
    本文介绍如何通过USB硬盘在联想ThinkPad上启动Ubuntu系统,包括BIOS设置和启动优先级调整。 ... [详细]
  • 本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
  • 推荐几款高效测量图片像素的工具
    本文介绍了几款适用于Web前端开发的工具,这些工具可以帮助用户在图片上绘制线条并精确测量其像素长度。对于需要进行图像处理或设计工作的开发者来说非常实用。 ... [详细]
  • 本文详细介绍了如何在Ubuntu的Enlightenment (E17) 桌面环境中管理和优化桌面图标及根菜单。通过本文,您将了解这些功能的作用及其配置方法。 ... [详细]
  • 搭建Jenkins、Ant与TestNG集成环境
    本文详细介绍了如何在Ubuntu 16.04系统上配置Jenkins、Ant和TestNG的集成开发环境,涵盖从安装到配置的具体步骤,并提供了创建Windows Slave节点及项目构建的指南。 ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • 尝试执行数据库模式加载时遇到错误'Mysql2::Error: 指定的键太长;最大键长度为767字节'。本文将探讨这一问题的成因及解决方案。 ... [详细]
  • 本文深入探讨了UNIX/Linux系统中的进程间通信(IPC)机制,包括消息传递、同步和共享内存等。详细介绍了管道(Pipe)、有名管道(FIFO)、Posix和System V消息队列、互斥锁与条件变量、读写锁、信号量以及共享内存的使用方法和应用场景。 ... [详细]
  • Java 中重写与重载的区别
    本文详细解析了 Java 编程语言中重写(Override)和重载(Overload)的概念及其主要区别,帮助开发者更好地理解和应用这两种多态性机制。 ... [详细]
  • MySQL Debug 模式的实现与应用
    本文详细介绍了如何启用和使用 MySQL 的调试模式,包括编译选项、环境变量配置以及调试信息的解析。通过实际案例展示了如何利用调试模式解决客户端无法连接服务器的问题。 ... [详细]
  • 本文详细介绍如何在 Windows 环境下安装 Ubuntu 12.04 版本的 Linux 操作系统,包括必要的软件下载、配置步骤以及注意事项。 ... [详细]
  • 随着技术社区的发展,越来越多的技术爱好者选择通过撰写博客来分享自己的学习经验和项目进展。本文将介绍一个具体案例,即将一套原本运行于Windows平台的代码成功移植到Linux(Redhat)环境下的过程与挑战。 ... [详细]
  • Ubuntu GamePack:专为游戏爱好者打造的Linux发行版
    随着Linux系统在游戏领域的应用越来越广泛,许多Linux用户开始寻求在自己的系统上畅玩游戏的方法。UALinux,一家致力于推广GNU/Linux使用的乌克兰公司,推出了基于Ubuntu 16.04的Ubuntu GamePack,旨在为Linux用户提供一个游戏友好型的操作环境。 ... [详细]
  • C语言实现推箱子游戏的完整代码
    本文详细介绍了如何使用C语言在Linux环境下实现一个简单的推箱子游戏,包括游戏的基本规则、地图设计及代码实现。适合C语言初学者学习。 ... [详细]
author-avatar
沉稳之固_300
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有