大象机械臂myCobot 280 JN 2023和D435i相关环境配置

news2024/11/16 23:38:42

目录

    • 一、安装Google拼音输入法
    • 二、安装CUDA 10.2
    • 三、安装conda管理环境
    • 四、配置D435i相机SDK
    • 五、安装realsense-ros

大象机器人的这款机械臂,用的Jetson nano做的主控,给的系统的ubuntu20,默认python版本是3.8。并且没有配置CUDA,在用这款机械臂做视觉相关的项目,需要自己配置一些环境。

一、安装Google拼音输入法

1. 首先下载中文语言包,在图形化页面下载会报错,所以这里直接用命令行进行安装。下载完成后,再去语言支持里面将系统语言更改为汉语,全局应用后重启。

sudo apt-get install  language-pack-zh-han*   

2. 系统语言变更完成后,会发现不能拼音输入中文,输入方法添加也没有中文选项,这里需要自己配置。通过下载googlepinyin来解决不能输入中文的问题。googlepinyin是基于fcitx框架的,直接输入就可以完成安装,然后去语言支持里面将ibus框架改为fcitx框架,然后卸载ibus框架,注意按顺序完成。

sudo apt-get install fcitx-googlepinyin  # 安装fcitx和googlepinyin
sudo cp /usr/share/applications/fcitx.desktop /etc/xdg/autostart/ # 设置fcitx开机自启动

在这里插入图片描述

sudo apt-get remove ibus # 更改系统语言框架后,卸载ibus

然后输入fcitx-config可以调出设置窗口,添加googlepinyin。
如何还是不能输入,可以试一试安装搜狗输入法,在所有安装过程中,注意提示信息,如果出现报错什么的,就安装提示的相关依赖包。

二、安装CUDA 10.2

1. 查询版本
因为myCobot 280 JN 2023默认镜像没有安装CUDA,所以需要自己进行安装。Jetson nano是arm系统的,并且通过jtop工具可以知道Jetpack版本是4.6.4,没有jtop工具输入sudo pip3 install jetson-stats进行安装。
对应官网,可知Jetpack 4.6.4支持CUDA 10.2,cuDNN 8.2.1。下面通过Jetson官方的SDK Manager进行。
在这里插入图片描述
2. 准备CUDA和cuDNN安装包
由于官网没有arm版本的安装包,所以需要通过SDK Manager工具来下载,需要的设备是一个搭载ubuntu18的虚拟机或物理机。

  • 安装SDK Manager
    打开NVIDIA的jetpack下载网址,点击下载SDK Manager,使用前请先注册/登录NVIDIA账号。
    在这里插入图片描述

  • 下载完deb包后,输入sudo dpkg -i sdkmanager_1.5.0-7774_amd64.deb安装。如果报错找不到依赖,输入sudo apt --fix-broken install解决。

  • 安装完成后打开软件,这里不需要连接硬件,因为我们的目的是通过这个刷机工具下载对应版本的CUDA和cuDNN安装包。

  • 选择对应的硬件和JetPack版本后点击下一步。
    在这里插入图片描述

  • 勾选同意协议后会开始下载,这里就会下载相关安装包到指定目录
    在这里插入图片描述

  • 下载完成后,在下载目录中拷贝CUDA和cuDNN安装包。
    在这里插入图片描述

3. 安装CUDA和cuDNN

  • 将准备好的安装包拷贝到Jetson nano中。
  • 安装CUDA
sudo dpkg -i cuda-repo-l4t-10-2-local_10.2.460-1_arm64.deb
sudo apt-key add /var/cuda-repo-10-2-local/7fa2af80.pub
sudo apt update
sudo apt-get install cuda-toolkit-10-2
  • 安装安装cuDNN
sudo dpkg -i libcudnn8_8.2.1.32-1+cuda10.2_arm64.deb
sudo dpkg -i libcudnn8-dev_8.2.1.32-1+cuda10.2_arm64.deb
  • 配置环境变量
    sudo gedit ~/.bashrc打开配置文件,在末尾添加下面内容:
export CUBA_HOME=/usr/local/cuda-10.2
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.2/bin:/usr/local/bin/cmake:$PATH

在这里插入图片描述

执行source ~/.bashrc使其生效。

  • 拷贝cudnn到cuda安装路径下
    cudnn其实是直接安装到了默认安装路径usr/include和usr/lib下的,因此需要将其拷贝到cuda安装路径下,执行下面命令进行拷贝。
sudo cp /usr/include/cudnn.h /usr/local/cuda/include/
sudo cp /usr/lib/aarch64-linux-gnu/libcudnn* /usr/local/cuda/lib64/  # 时间有点久,耐心等待,不是卡了
  • 重新生成cudnn库的软连接
cd /usr/local/cuda/lib64
sudo chmod +r libcudnn*
sudo rm -rf libcudnn.so libcudnn.so.8
sudo ln -s libcudnn.so.8.2.1 libcudnn.so.8
sudo ln -s libcudnn.so.8 libcudnn.so
sudo ldconfig

4. 测试
输入nvcc -V,出现版本号,说明安装成功。
在这里插入图片描述

三、安装conda管理环境

Jetson nano架构是aarch64,与win10,linxu不同,所以不能安装Anaconda,这里安装对应的archiconda。

1. 安装archiconda

下载安装包

wget https://github.com/Archiconda/build-tools/releases/download/0.2.2/Archiconda3-0.2.2-Linux-aarch64.sh

安装

bash Archiconda3-0.2.3-Linux-aarch64.sh

2. 配置环境变量

打开配置文件

sudo gedit ~/.bashrc

在文档最后一行添加

export PATH=~/archiconda3/bin:$PATH

3. 创建虚拟环境

创建python3.8的torch虚拟环境

conda create -n torch python=3.8  

4. 换源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
  1. 其他常用命令
conda update -n base conda  # update最新版本的 conda
conda create -n xxxx python=3.X  # 创建python3.X的xxxx虚拟环境
conda activate xxxx  # 开启xxxx环境
conda deactivate  # 关闭环境
conda env list   # 显示所有的虚拟环境
conda info -e   # 显示所有的虚拟环境
conda install -c channel/path //  # 下载包
conda remove --n env_name  package_name  # 卸载包
pip uninstall  package_name  # 先进入环境然后卸载包
conda remove -n env_name --all  # 删除虚拟环境
conda deactivate  # 退出当前conda环境
rm -rf anaconda3 # 卸载conda

四、配置D435i相机SDK

官方步骤
1. 下载pyrealsense2源码

先去github上下载源码,pyrealsense2源码下载链接,下载zip后解压,建议不要下载太高的版本,这里用的2.31。解压后进入到解压后的文件夹内,后续操作基于此。

2. 安装依赖

sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
sudo apt-get install libglfw3-dev

sudo apt-get update
sudo apt-get upgrade

3. 执行许可证脚本

cd librealsense
./scripts/setup_udev_rules.sh
./scripts/patch-realsense-ubuntu-lts.sh

4. cmake编译并安装

mkdir build && cd build  # 创建build文件并进入
cmake ../ -DBUILD_PYTHON_BINDINGS:bool=true -DPYTHON_EXECUTABLE=/usr/bin/python3.8 # 注意绑定python的路径
sudo make uninstall
sudo make clean
make
sudo make install

5. 环境变量配置

编译完成之后,可以在/usr/local/lib下发现编译生成的librealsense2相关动态库文件,将此路径配置到.bashrc文件中。

export PYTHONPATH=$PYTHONPATH:/usr/local/lib:/usr/lib/python3/dist-packages/pyrealsense2

6 测试
realsense-viewer启动SDK工具
执行source ~/.bashrc,运行python3,import pyrealsense2导包看是否报错。
到这一步,很多文章都没有错,但是本人在编译安装后发现,realsense-viewer启动SDK工具能正常开启深度和红外,但是在
import pyrealsense2后,使用dir(pyrealsense2)查看接口发现没有可用接口。
在这里插入图片描述
这说明在用python程序启动不了相机,这种问题解决方案如下:

  • 查看编译安装pyrealsense2包的路径
python3
>> import pyrealsense2 as rs
>> rs.__path__
[/usr/lib/python3/dist-packages/pyrealsense2’]
  • 然后在之前编译后的build/Release文件夹下找到下列文件然后复制
    在这里插入图片描述
  • 将复制的文件粘贴到前面查询的路径中的/usr/lib/python3/dist-packages下,注意不是粘贴到/usr/lib/python3/dist-packages/pyrealsense2
  • 重新测试,发现接口都有了
python3
>> import pyrealsense2 as rs
>> dir(rs)
[/usr/lib/python3/dist-packages/pyrealsense2’]

在这里插入图片描述

  • 程序打开相机测试

import pyrealsense2 as rs
import cv2
import numpy as np

# 创建 pipeline 对象
pipeline = rs.pipeline()


# 配置 pipeline,启用彩色和深度流,设置分辨率和帧率
config = rs.config()

config.enable_stream(rs.stream.color, 1280, 720, rs.format.bgr8, 30)  
config.enable_stream(rs.stream.depth, 848, 480, rs.format.z16, 30)  
 
# 启动 pipeline
profile = pipeline.start(config)
# device = profile.get_device()
# device.hardware_reset()
# 将深度图对齐到彩色图
align_to = rs.stream.color  
align = rs.align(align_to)
 
try:
    while True:
        # 等待下一帧数据
        frames = pipeline.wait_for_frames()
 
        # 获取对齐后的彩色和深度帧
        aligned_frames = align.process(frames)
        color_frame = aligned_frames.get_color_frame()
        depth_frame = aligned_frames.get_depth_frame()
 
        if not color_frame or not depth_frame:
            continue
 
        # 将彩色和深度帧转换为 numpy 数组
        color_image = np.asanyarray(color_frame.get_data())
        depth_image = np.asanyarray(depth_frame.get_data())
 
        # 显示彩色图像
        cv2.imshow('Color Image', color_image)
 
        # 可根据需要对深度图像进行处理或显示
        depth_gray = cv2.convertScaleAbs(depth_image, alpha=255 / 4000) 
        cv2.imshow('Depth Image', depth_gray)
 
        # 按下 'q' 键退出循环
        if cv2.waitKey(1) & 0xFF == ord('q'):  
            break
finally:
    # 停止 pipeline 并关闭所有窗口
    pipeline.stop()
    cv2.destroyAllWindows()
  • 其实到这里,前面加入的环境变量也可有可无,我这里删除后,仍然可以正常使用。很多文章中提到的在cmake时绑定python,在按照后可以在/usr/local/lib/python3.6/pyrealsense2中找到生成的动态库文件,我这里没有发现,可能是这款nano系统是ubuntu20,并且环境是大象机器人修改后的,所以有一些不一样。采用源码编译安装后,realsense-view和pyrealsense2包都是已经安装的。关于使用-官网下载安装包,采用离线安装的方式,我在安装后发现接口正常,但是启动不了相机,所以直接采用源码编译安装是最可靠的。

五、安装realsense-ros

1. ROS1下安装
官方文档

2. ROS2下安装
官方文档
要注意查看下载的版本所支持的ros版本。否则编译不会成功。

3. 启动ROS节点

roslaunch realsense2_camera rs_camera.launch

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

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

相关文章

记录|SPC理解+SPC的监控看板

目录 前言一、Dashboard1.1 分布图1.2 控制图I-MR控制图:单值极差控制图Xbar-R图:均值极差控制图 1.3 趋势图 二、Xbar-R控制图判断异常的条件Xbar控制图R控制图 三、均值极差控制图【Xbar-R】3.1 基础理解XbarR最终绘制的Xbar-R图 3.2 如何看图看图顺序…

Linux下安装python与pip源配置(详细教程)

文章目录 Linux下安装python前置准备解压数据编译安装配置环境变量方式1:设置软连接方式2:添加PATH PIP源配置系统设置pip源临时设置pip源 问题解决缺少zlib包 Linux下安装python 前置准备 # 下载地址 https://www.python.org/ftp/python/3.6.8/# wget…

高精度夹治具的使用技巧和注意事项

在现代工业生产中,高精度夹治具扮演着至关重要的角色。它们能够确保工件在加工过程中的稳定性和精度,提高生产效率和产品质量。然而,要充分发挥高精度夹治具的优势,必须掌握正确的使用技巧和注意事项。以下是时利和整理的一些内容…

大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

关于lettuce的一次pipeline反向优化

起因是后台job对一批数据做大量的redis读写操作,为了提高job的执行速度,直接使用pipeline对一些不能批量读写的命令进行管道优化 简单介绍什么是lettuce Spring Boot自2.0版本开始默认使用Lettuce作为Redis的客户端(注1)。Lettu…

WEB渗透免杀篇-绕过

360白名单 需要足够的权限 360的扫描日志和设置白名单日志位置在:C:\Users[username]\AppData\Roaming\360Safe\360ScanLog 查看扫描日志内容可以查询到白名单文件 日志文件记录的是添加或移除白名单的时间、文件名、hash等信息,otc1为添加白名单&#…

SadTalker翻译与代码调试

文章目录 SadTalker原文翻译SadTalker:学习风格化音频驱动单幅图像说话人脸动画的真实 3D 运动系数Abstract1. Introduction2. Related Work3. Method3.1. Preliminary of 3D Face Model3.2. Motion Coefficients Generation through Audio3.3. 3D-aware Face Rende…

操作系统简介:设备管理

设备管理 1. 设备管理概述2. 设备管理技术通道技术DMA技术缓冲技术Spooling技术 3. 磁盘调度 设备管理是操作系统中最繁杂而且与硬件紧密相关的部分,不但要管理实际 I/O 操作的设备(如磁盘机、扫描仪、打印机、键盘和鼠标),还要管理诸如设备控制器、DMA…

Linux信号机制探析--信号的处理

🍑个人主页:Jupiter. 🚀 所属专栏:Linux从入门到进阶 欢迎大家点赞收藏评论😊 目录 🍑信号处理信号处理常见方式概览 🍒内核如何实现信号的捕捉 🍎内核态与用户态操作系统是如何正常…

下载cmake操作步骤

cmake官网链接 cmake-3.30.2.tar.gz源代码官网下载链接

中国的人形机器人都有哪些出色的产品?

8月21日,2024世界机器人大会在北京亦庄正式开幕。本次大会共有169家企业集中展出了600余件机器人创新产品,人形机器人占比最大,大会还开设人形机器人专区,共亮相27款整机。 展会中多数人形机器人产品都偏向服务型,主要…

乾坤大挪移!将脚趾移到手指上,江山邦尔骨科医院成功完成一例断指再植手术

2024年6月中旬,家住江山贺村的何阿姨经历一次不小的意外。 那天天气晴朗,何阿姨准备把院子修缮修缮。操作切割工具时,何阿姨没有握稳,让工具一下子飞了出去——飞出去的瞬间,工具切掉了她的左手拇指,血流不…

网络安全大考,攻防演练驱动企业常态化安全运营升级!

当前,网络安全形势日益严峻,恶意软件、勒索软件肆虐,钓鱼攻击手段层出不穷,不断威胁企业数据安全与业务连续性。随着云计算、大数据、物联网等新兴技术的广泛应用,网络边界模糊化,攻击面急剧扩大&#xff0…

Qt (10)【Qt窗口 —— 如何在窗口中创建浮动窗口和状态栏】

阅读导航 引言一、如何在窗口中创建浮动窗口1. 浮动窗口的创建2. 设置停靠的位置 二、如何在窗口中创建状态栏1. 状态栏的创建2. 在状态栏中显示实时消息3. 在状态栏中显示永久消息4. 调整显示消息的位置,并加上进度条 引言 在上一篇文章中,我们一同探索…

数据结构(6_3_1)——图的广度优先遍历

树和图的广度优先遍历区别 树的广度优先遍历&#xff1a; 图的广度优先遍历&#xff1a; 代码&#xff1a; 注:以下代码只适合连通图 #include <stdio.h> #include <stdbool.h>#define MAX_VERTEX_NUM 100typedef struct ArcNode {int adjvex; // 该边所指向的顶…

慧灵夹爪:工业智能的创新先锋

慧灵作为一个知名老品牌&#xff0c;其机器人产品在众多场景中广为人知。随着智能化、自动化技术的不断提升&#xff0c;智能工业飞速发展&#xff0c;慧灵夹爪在其中发挥的作用也越来越多。 在工业自动化生产中&#xff0c;精准与灵活是衡量设备性能的重要标尺。慧灵夹爪以其卓…

Criteria 是干什么用的?

我 | 在这里 ⭐ 全栈开发攻城狮、全网10W粉丝、2022博客之星后端领域Top1、专家博主。 &#x1f393;擅长 指导毕设 | 论文指导 | 系统开发 | 毕业答辩 | 系统讲解等。已指导60位同学顺利毕业 ✈️个人公众号&#xff1a;热爱技术的小郑。回复 Java全套视频教程 或 前端全套视频…

简易电压表设计验证

前言 电压表是测量电压的一种仪器。由永磁体、线圈等构成。电压表是个相当大的电阻器&#xff0c;理想的认为是断路。初中阶段实验室常用的电压表量程为0~3V和0~15V。 传统的指针式电压表包括一个灵敏电流计&#xff0c;在灵敏电流计里面有一个永磁体&#xff0c;在电流计的两个…

GenAI 的产品:快速行动,但失败

2022 年秋季&#xff0c;我正在做一个很酷的项目。是的&#xff0c;你猜对了——使用公司特定的数据对预先训练的 LLM&#xff08;Bert&#xff09;进行微调。 然而&#xff0c;很快 ChatGPT 就发布了&#xff0c;并席卷了全世界。既然已经有一门非常强大的 LLM 了&#xff0c…

支持AI智能搜索的知识库管理系统有哪些?分享4个软件

引言 在数字化时代&#xff0c;知识的获取、管理和利用已成为企业竞争力的重要组成部分。随着信息量的爆炸性增长&#xff0c;如何快速、准确地从海量数据中检索出有价值的知识&#xff0c;成为企业面临的一大挑战。支持AI智能搜索的知识库管理系统能够快速准确地检索信息&…