【RK3399Pro学习笔记】三、Debian 9 安装 ROS (Thinker Edge R)

目录

  • 配置源
  • 设置 Key
  • 安装
  • 初始化rosdep
  • 环境配置
  • 测试
  • 安装rosinstall
  • 卸载

平台:华硕 Thinker Edge R 瑞芯微 RK3399Pro
固件版本:Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615


参考资料:

RK3399(Debian9 - stretch) 安装 ROS Lunar —— WB8933
Debian 9 strech 安装 ROS lunar —— 白菜菜白
更新linux时候提示无法“由于没有公钥,无法验证下列签名 ***”的解决方案 —— sanbo_xyz
rosdep update一定能通过简单方法 —— 不加辣先生

配置源

更换国内源:

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

设置 Key

sudo apt-cache search -n dirmngr
sudo apt-get install dirmngr
sudo apt update

若出现如下报错,

在这里插入图片描述
则导入其公钥即可

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654 #此处F42ED6FBAB17C654需要是错误提示的key

再次

sudo apt update

后不再报错:
在这里插入图片描述

安装

sudo apt install aptitude -y

安装ROS:
输入sudo aptitude install ros-按住tab补全搜寻有无类似ros-版本代号-desktop-full的安装包,我这里以ros-lunar-desktop-full版本为例:

sudo aptitude install ros-lunar-desktop-full

选择可以接受的方案安装
在这里插入图片描述
重启

sudo reboot

初始化rosdep

sudo apt install git -y

将下面仓库的内容clone到本地

git clone https://gitee.com/ohhuo/rosdistro.git

记录rosdistro存放地址,例如/home/linaro/rosdistro,linaro为用户名
修改如下文件,其中python2.7视系统默认python版本而定,可通过如下命令查阅,下同

python --version

在这里插入图片描述

sudo nano /usr/lib/python2.7/dist-packages/rosdep2/rep3.py

将REP3_TARGETS_URL = ‘https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml’ 替换成 'file:///home/linaro/rosdistro/releases/targets.yaml'
替换后的/home/linaro 即为第一步clone内容的存放地址
在这里插入图片描述
修改如下文件

sudo nano /usr/lib/python2.7/dist-packages/rosdistro/__init__.py

将原来文件中的 DEFAULT_INDEX_URL = ‘https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml’ 替换成 'file:///home/linaro/rosdistro/index-v4.yaml'
替换后的/home/linaro 即为第一步clone内容的存放地址
在这里插入图片描述
到/etc/ros/rosdep/sources.list.d下创建20-default.list文件

sudo mkdir -p /etc/ros/rosdep/sources.list.d/

创建20-default.list文档

sudo nano /etc/ros/rosdep/sources.list.d/20-default.list 

其内容为

# os-specific listings first
yaml file:///home/linaro/rosdistro/rosdep/osx-homebrew.yaml osx# generic
yaml file:///home/linaro/rosdistro/rosdep/base.yaml
yaml file:///home/linaro/rosdistro/rosdep/python.yaml
yaml file:///home/linaro/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/linaro/rosdistro/releases/fuerte.yaml fuerte# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

在这里插入图片描述
注意的是yaml file://表示固定格式/home…表示文件目录,所以是yaml file:///
在终端中执行

rosdep update

在这里插入图片描述

环境配置

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

测试

参考ROS安装并运行小乌龟
在终端中运行以下命令:

roscore

在这里插入图片描述
新开一个终端,运行以下命令,打开小乌龟窗口:

rosrun turtlesim turtlesim_node

在这里插入图片描述
新开一个终端,运行以下命令,打开乌龟控制窗口,可使用方向键控制乌龟运动:

rosrun turtlesim turtle_teleop_key

在这里插入图片描述

选中控制窗口,按方向键,可看到小乌龟窗口中乌龟在运动
新开一个终端,运行以下命令,可以看到ROS的图形化界面,展示结点的关系:

rqt_graph

在这里插入图片描述
至此,测试完成,说明ROS安装没有问题。

安装rosinstall

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

在这里插入图片描述

卸载

sudo apt remove ros-*

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400313.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

s:iterator标签的使用

1.在说明s:iterator标签的使用前,先了解下struts2中的Value Stack。 这里参考了webwork中对Value Stack的描述,由于struts2是在webwork的基础上进行升级的, 因此webwork对于Value Stack的表述同样适用于struts2。在这里不描述Value Stack具…

perl学习(二)

2019独角兽企业重金招聘Python工程师标准>>> 在perl中又两个必须搞清楚,就是标量值和标量变量,列表和数组。 直接量就是数值在perl程序代码中的表现方式,就是直接写在程序里的数据,是标量值。如12&a…

【RK3399Pro学习笔记】四、ROS 创建工作空间与功能包

目录创建工作空间编译工作空间功能包创建功能包编译功能包设置环境变量检查环境变量平台:华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本:Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615 记录自【古月居】古月ROS入门21讲 | 一学就会的ROS机器人入门教…

hip-hop初探

啥都不说了,上两张图片先 1、使用hiphop的 2、不使用这玩意的 都是前端部署nginx,转发的后面php的 hhvm的配置文件 /etc/hhvm.hdf 目前结论:facebook的这玩意可能适用于facebook业务,对于我的业务来说反而拖后腿转载于:https://ww…

表达式求值(二叉树方法/C++语言描述)(二)

表达式二叉树节点的数据可能是运算数或运算符,可以使用一个联合体进行存储;同时还需要一个变量来指示存储的是运算数还是运算符,可以采用和栈方法求值中一样的枚举类型TokenType: 1 typedef enum2 {3 BEGIN,4 NUMBER,5 …

python连接mysql

1) 安装 sudo apt-get install mysql-serversudo apt-get install python-mysqldb 2) 使用 import MySQLdbdef get_db_connector():return MySQLdb.connect(hostlocalhost, userroot, passwdchangme, dbdatabaseName)def set_db_close(conn, cur):conn.…

【RK3399Pro学习笔记】五、ROS与USB摄像头

目录usb_cam方法一安装一些要用的包测试usb摄像头方法二下载usb_cam源码编译测试usb摄像头uvc-camera平台:华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本:Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615 参考资料: ROS下usb_cam的安装 ——…

这是我们的第一篇博客----偕行软件

欢迎您光临我们的网站:链接 转载于:https://www.cnblogs.com/udsoft/p/3259366.html

wp insert post 插入文章到数据库

在 wordpress 主题目录下的 index.php 文件中&#xff0c;添加如下代码 <?php get_header(); ?><?php// 创建文章对象 $my_post array(post_title > 我的测试文章,post_content > 这是一个测试文章。,post_status > publish,post_author > 1…

Eclipse相关快捷键

Alt左箭头,右箭头 以在编辑窗口切换标签Alt上下箭头, 以自动选择鼠标所在行,并将其上下移动Ctrlf6 可以弹出菜单,上面列出可以切换的编辑窗口,这样不用鼠标也可切换Ctrlf7 可以在视图之间切换 ,如编辑视图,输出视图,工程视图Ctrlf8 可以在不同的观察视图中切换,就是在java视图,…

MFC编程之创建Ribbon样式的应用程序框架

Ribbon界面就是微软从Office2007開始引入的一种为了使应用程序的功能更加易于发现和使用、降低了点击鼠标的次数的新型界面。从实际效果来看&#xff0c;不仅外观美丽&#xff0c;并且功能直观&#xff0c;用户操作简洁方便。 利用MFC向导创建Ribbon样式的单文档应用程序框架的…

【RK3399Pro学习笔记】六、ROS发布者Publisher的编程实现

目录如何实现一个发布者C创建功能包编写程序配置CMakeLists.txt编译并运行发布者python创建并编写脚本运行平台&#xff1a;华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本&#xff1a;Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615 记录自【古月居】古月ROS入门21讲 | 一学…

linux下svn命令大全

1、将文件checkout到本地目录 svn checkout path&#xff08;path是服务器上的目录&#xff09; 例如&#xff1a;svn checkout svn://192.168.1.1/pro/domain 简写&#xff1a;svn co 2、往版本库中添加新的文件 svn add file 例如&#xff1a;svn add test.php(添加test.php)…

PHP 从结果集中取得一行作为关联数组:

<?php // 假定数据库用户名&#xff1a;root&#xff0c;密码&#xff1a;123456&#xff0c;数据库&#xff1a;RUNOOB $conmysqli_connect("localhost","root","123456","RUNOOB"); if (mysqli_connect_errno($con)) { echo…

三星:Android之外,技术为王

作为Android阵营的领军代表&#xff0c;三星手机为行业与消费者带来了深远的影响与改变&#xff0c;以至于一提到三星&#xff0c;几乎所有人的第一印象都是三星手机。事实上&#xff0c;在手机之外的众多产品领域中&#xff0c;三星同样有着惊人的成绩与贡献。三星的显示器产品…

ASP.NET Core 源码学习之 Logging[3]:Logger

上一章&#xff0c;我们介绍了日志的配置&#xff0c;在熟悉了配置之后&#xff0c;自然是要了解一下在应用程序中如何使用&#xff0c;而本章则从最基本的使用开始&#xff0c;逐步去了解去源码。 LoggerFactory 我们可以在构造函数中注入 ILoggerFactory&#xff0c;来创建一…

【RK3399Pro学习笔记】七、ROS订阅者Subscriber的编程实现

目录如何实现一个订阅者C编写程序配置CMakeLists.txt编译并运行发布者python创建并编写脚本运行平台&#xff1a;华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本&#xff1a;Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615 记录自【古月居】古月ROS入门21讲 | 一学就会的ROS机…

C#操作sql通用类 SQLHelper

Codeusing System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Collections; using System.Data.SqlClient;/// <summary> /// 数据库的通用访问代码 /// 此类为抽象类&#xff0c;不允许实例化&#x…

PHP中变量类型的判断

PHP中变量类型的判断 一、gettype() gettype 会根据 参数类型返回下列值 “boolean”&#xff08;从 PHP 4 起&#xff09; “integer” “double”&#xff08;如果是 float 则返回“double”&#xff0c;而不是“float”&#xff09; “string” “array” “object”…