找不到 catkin_init_workspace 命令的解决方法

#找不到 catkin_init_workspace 命令的解决方法 本文提供了一个简单的解决方案,帮助你解决在ROS工作空间中使用catkin_init_workspace命令时出现的 command not found 的问题。 问题描述在建立 ROS 工作空间的时候发现找不到初始化工作空间命令: catkin_init_workspace 但是检查后发现明明已经安装了 ROS-melodic-catkin,应该可以用初始化命令才对: 最后在 ROS 官网找到答案,问题出在环境配置上。 解决方法我们只需要 source 一下环境配置脚本即可: source /opt/ros/melodic/setup.sh 注意:不同版本 ROS 的 setup.sh 脚本的文件路径不同。Noetic 版 ROS 的 setup.sh 脚本在 /opt/ros/noetic下。 执行以下命令可以在每次启动新的 Shell 窗口时自动的 source 这个脚本: echo "source /opt/ros/melodic/setup.sh" >> ~/.bashrc source ~/.bashrc 如果你用的是 Zsh,则执行以下命令: echo "source /opt/ros/melodic/setup.sh" >> ~/.zshrc source ~/.zshrc

2023年03月28日 · 1 分钟 · Cassius0924

Docker + Nginx 部署个人静态博客指南

tags: [“Linux”, “Docker”, “Nginx”, “Server”, “Blog”]本文是一个使用 Docker 和 Nginx 部署个人静态博客的指南。通过本指南,您可以快速了解如何使用 Docker 和 Nginx 部署自己的静态博客网站。 前提在开始使用本指南之前,请具备以下前提: 首先你得有个服务器 服务器已经安装好Git、Vim等工具 一份静态博客源码,本文以 Astro Air Blog 为例 步骤第一步:安装 Dockersudo apt install docker 第二步:拉取 Nginx 镜像docker pull nginx 镜像名后不加版本号表示拉取最新版,若希望拉取指定版本则需在镜像名后加上tag,例如docker pull nginx:1.16。 第三步:获取 Nginx 的配置文件 先运行一个不挂载的 Nginx 容器 docker run -d --name my-nginx -p 80:80 nginx -d:使容器在后台以守护进程模式运行。 --name:为容器指定一个名称。 -p 80:80:将Docker容器的80端口映射到主机的80端口,让你可以通过浏览器访问运行在容器内的 Nginx 服务器。80端口是HTTP服务,443端口是HTTPS服务。 进入这个 Nginx 容器内部 docker exec -it my-nginx bash -i:表示以交互式模式运行容器。 -t:表示为容器分配一个伪终端。 因此-it表示使用交互式终端,允许在容器内交互式地运行命令。 ...

2023年03月24日 · 2 分钟 · Cassius0924

Git 免密登录配置指南

是谁还不会Git SSH免密配置?哦,是你🤪 这是一个简单教程,旨在帮助大家实现免密SSH登录,省去每次输入用户名和密码的烦恼。(是真的烦呐!) 本教程旨在帮助初学者了解Git免密登录的配置方法,以及介绍HTTPS和SSH协议之间的区别。同时提供具体操作步骤。 HTTPS和SSH的区别Git支持两种协议:HTTPS和SSH。两种协议各有优缺点: HTTPS协议:使用简单,不需要配置SSH密钥,但相对较慢,且不支持Push操作。 SSH协议:速度快,支持Push操作,但需要配置SSH密钥。 2021年8月13日起,Github不再支持密码身份验证。“Support for password authentication was removed on August 13, 2021.“ 因此,如果只是从远程仓库拉取代码,建议使用HTTPS协议;如果需要Push代码到远程仓库,则需要配置SSH密钥,使用SSH协议。 SSH免密登录配置步骤 由于SSH协议更安全和优雅且支持Push操作,因此推荐大家使用SSH免密登录,以下是配置教程。 前提先确保你添加远程 Git 远程仓库时使用的是SSH链接,即git remote add时应该使用远程仓库的SSH链接。检查方法: git remote -v 若显示git@github.com:...即为SSH链接,若显示https://...则为HTTPS链接,使用一下命令进行修改: git remote set-url <repo_name> <ssh_url> 当然,也可以用git remote rm命令先删除远程仓库,再用git remote add重新添加。 步骤 打开终端,输入以下命令生成SSH密钥: ssh-keygen -t rsa -C "your_email@example.com" 别直接粘贴上去啊喂!改改后面的邮箱。 按照提示输入密钥保存路径和密码,建议直接回车使用默认值: Generating public/private rsa key pair. Enter file in which to save the key (~/.ssh/id_rsa): Enter passphrase (empty for no passphrase): 也别设置密码啊,不然Push时又要输入你设定的密码,那就不叫免密啦…… ...

2023年03月24日 · 1 分钟 · Cassius0924

Google 搜索引擎使用技巧

1. “ ”——准确搜索给关键词加上英文双引号"" 实现准确搜索。 例如:“人工智能算法” 2. 空格+减号——排除关键词在搜索内容后面加上空格和减号排除的指定的关键词。 例如:Apple -iPhone -iPad 3. OR——逻辑搜索用大写的OR和空格隔开关键词,使关键词互不干扰。 例如:百度 OR 谷歌 4. *——模糊搜索用*代替关键词。 例如:Study * home 5. filetype:——搜索指定文件类型在关键词后加上filetype:<文件类型>。 例如:高等数学 filetype:pdf 6. site——搜索指定网站内容在关键词后加上site:<指定的网站>。 例如:后浪 site:bilibili.com 7. inurl——搜索指定URL内容在关键词后加上inurl:<指定的网站>。 例如:民法典 inurl:gov.cn ##8. intitle——搜索指定Tilte内容 在关键词后加上intitle:<需要筛选的title关键字>。 例如:machine learning intitle:stanford 9. define——搜索定义通过define:关键词得到准确定义 eg: define:internet 例如:define:internet

2023年03月24日 · 1 分钟 · Cassius0924

Jetson nano 安装 Azure Kinect DK 指南

该项目提供了一个简单的指南,帮助用户在 NVIDIA Jetson Nano 上正确安装 Azure Kinect DK。 Jetson nano是ARM64架构,而非AMD64架构。所以环境配置起来会和AMD64架构的有所不同。 前提在开始安装 Azure Kinect DK 之前,请确保您的 Jetson Nano 满足以下要求: 版本为Ubuntu 18.04 LTS 已安装cURL 不再费文笔说明如何安装上述工具。 安装步骤第一步:配置微软软件包储存库 系统版本必须为Ubuntu 18.04,其他版本参考Microsoft 产品的 Linux 软件存储库。 依次运行下列命令: 添加微软GPG公钥: curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - 添加微软软件包源: sudo apt-add-repository https://packages.microsoft.com/ubuntu/18.04/prod 下载最新软件包列表: sudo apt-get update 第二步:安装依赖项 依赖项需要手动安装ARM64版本的。 安装libk4a curl -O https://packages.microsoft.com/ubuntu/18.04/multiarch/prod/pool/main/libk/libk4a1.4/libk4a1.4_1.4.1_arm64.deb && sudo dpkg -i libk4a1.4_1.4.1_arm64.deb 安装libk4a-dev curl -O https://packages.microsoft.com/ubuntu/18.04/multiarch/prod/pool/main/libk/libk4a1.4-dev/libk4a1.4-dev_1.4.1_arm64.deb && sudo dpkg -i libk4a1.4-dev_1.4.1_arm64.deb 第三步:安装 k4a-tools k4a-tools也需要手动安装ARM64版本的。 ...

2023年03月24日 · 1 分钟 · Cassius0924

Jetson nano 安装 Azure Kinect DK 指南

Mermaid 是一个可以让你通过代码来绘制流程图、序列图、甘特图等各种图表的工具。 Mermaid 的优势相比于传统的绘图软件,Mermaid 的优势在于: 代码可复用:你可以将代码保存下来,方便以后进行修改和维护。 易于协作:你可以将代码分享给其他人,让他们也可以轻松地修改和维护图表。 方便集成:你可以将 Mermaid 集成到自己的项目中,方便自己和其他人使用。 Typora 启用 Mermaid不同系统配置方法有些许不同。 MacOS如果你是MacOS系统,那么只需要简单几步操作就可以在文章中使用 Mermaid 了。具体步骤如下: 打开 Typora,点击菜单栏中的「偏好设置」按钮。 在「偏好设置」窗口中,点击「Markdown」标签页。 在「Markdown」标签页中,勾选「图标」复选框。 WindowsWindows系统, Mermaid 语法Mermaid 的语法非常简单,以下是一些常用的语法示例: 流程图flowchart TD start([开始]) --> input[/输入形参线性表 L/] input --> op1{判断L.list的大小是否为0}; op1 -- 是 --> op2[返回true]; op1 -- 否 --> op3[返回false]; op2 --> Stop([结束]); op3 --> Stop([结束]); flowchart TD start([开始]) --> input[/"输入形参线性表 L"/] input --> op1{"判断 L.list 的\n大小是否为0"}; op1 -- 是 --> op2["返回true"]; op1 -- 否 --> op3["返回false"]; op2 --> Stop([结束]); op3 --> Stop; 序列图sequenceDiagram participant 你 participant 朋友 你->>朋友: 拨打电话 朋友->>你: 接听电话 你->>朋友: 自我介绍 朋友->>你: 回答并自我介绍 你->>朋友: 确认收到信息 sequenceDiagram participant 你 participant 朋友 你->>朋友: 拨打电话 朋友->>你: 接听电话 你->>朋友: 自我介绍 朋友->>你: 回答并自我介绍 你->>朋友: 确认收到信息 甘特图gantt title 项目计划 dateFormat YYYY-MM-DD section 设计 项目设计 :done, des, 2023-01-14,2023-01-16 section 开发 编码 :active, dev, 2023-01-16, 10d 测试 : test, 2023-01-24, 5d 代码审查 : review, after test, 2d section 发布 部署 : deploy, after review, 2d 发布 : release, after deploy, 1d gantt title 项目计划 dateFormat YYYY-MM-DD section 设计 项目设计 :done, des, 2023-01-14,2023-01-16 section 开发 编码 :active, dev, 2023-01-16, 10d 测试 : test, 2023-01-24, 5d 代码审查 : review, after test, 2d section 发布 部署 : deploy, after review, 2d 发布 : release, after deploy, 1d 更多语法示例可以参考 Mermaid 的官方文档. ...

2023年03月24日 · 1 分钟 · Cassius0924

Jetson nano 安装 PCL 指南

本指南帮助 ARM64 架构的 Jetson Nano 安装 PCL(点云库)。 安装步骤第一步:安装依赖在终端中运行以下命令,安装 PCL 所需的依赖: sudo apt-get update sudo apt-get install git build-essential linux-libc-dev sudo apt-get install cmake cmake-gui sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev sudo apt-get install mpi-default-dev openmpi-bin openmpi-common sudo apt-get install libpcap-dev sudo apt-get install libflann1.9 libflann-dev sudo apt-get install libeigen3-dev sudo apt-get install libboost-all-dev sudo apt-get install vtk6 libvtk6.3 libvtk6-dev libvtk6.3-qt libvtk6-qt-dev sudo apt-get install libqhull-dev libgtest-dev sudo apt-get install freeglut3-dev pkg-config sudo apt-get install libxmu-dev libxi-dev sudo apt-get install mono-complete sudo apt-get install libopenni-dev libopenni2-dev sudo apt install build-essential libssl-dev 第二步:安装Eigen库先卸载Eigen库 ...

2023年03月24日 · 2 分钟 · Cassius0924

Ubuntu 安装 OpenCV 指南

本文是一个简单易用的Ubuntu安装OpenCV的指南,帮助用户轻松完成OpenCV的安装和配置。 安装步骤第一步:安装依赖项sudo apt-get install cmake git build-essential libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev 一口气全安装。 ###第二步:下载OpenCV源代码 GitHub下载: 切换到用户目录(也可以选择其他文件夹,本文以用户目录~/为例): cd ~ 下载源码: git clone https://github.com/opencv/opencv.git cd opencv 可以根据需要替换为其他版本号,建议使用最新版: git checkout 4.7.0 OpenCV官网下载: 若Git速度慢,也可以选择在OpenCV官网下载源码压缩包: 下载完成后将压缩包移到用户目录~/文件夹下,解压文件: unzip -q opencv-4.7.0.zip cd opencv-4.7.0 注意,不同版本的文件名不同。 第三步:编译和安装OpenCV 新建并进入build文件夹: mkdir build && cd build 编译OpenCV: cmake .. make -j8 安装OpenCV: sudo make install 第四步:配置OpenCV 获取lib文件夹路径: ...

2023年03月24日 · 1 分钟 · Cassius0924

Ubuntu 安装软件包时遇到 unmet dependencies 的解决方法

在 Ubuntu 中安装软件包时,有时会遇到 “The following packages have unmet dependencies” 的错误,这通常是由于缺少软件包的依赖项和软件包冲突引起的。 解决方法逐个安装缺少的依赖包,直到提示删除冲突的软件包并继续安装。 示例例如在安装libvtk7.1-qt时提示如下图所示: 执行命令: sudo apt-get install libvtk7.1:amd64 注意:包名要完整,libvtk7.1:amd64不能少了:amd64 再次报错: 继续安装: sudo apt-get install libhdf5-openmpi-100:amd64 再次报错: 继续安装: sudo apt-get install libopenmpi2:amd64 又双叒叕报错: 继续安装: sudo apt-get install libhwloc-plugins:amd64 直到提示The following packages will be REMOVED: 直接回车删除冲突软件包并继续安装即可。 最后重新安装libvtk7.1: sudo apt-get install libvtk7.1-qt

2023年03月24日 · 1 分钟 · Cassius0924

apt autoremove 误删依赖包后自救指南

在使用 Ubuntu 系统的过程中,我们常常需要使用 apt 命令来安装、升级和删除软件包。其中,apt autoremove 命令可以自动删除无用的依赖包,以释放硬盘空间。然而,有时候我们会不小心误删了一些必要的依赖包,导致某些程序无法正常运行。 方法一:手动查看历史记录(推荐) 查看APT历史日志 sudo vim /var/log/apt/history.log 直接输入大写G,跳转到最后一行,找到相应时间的Remove内容。 若删除的包较少可以逐个apt install。若包较多可以使用正则表达式,具体操作如下。 复制所有被删除的包名 如果你的VIM开启了行号显示,请先临时禁用行号,目的是避免复制到多余的空格。 禁用行号,在命令模式下输入以下命令: :set nonumber 先复制你所有的删除的包,即Remove后的内容。 开启行号: :set number 输入:q退出VIM。 利用正则表达式处理包名 执行以下命令,用正则表达式删去版本信息和逗号: echo "粘贴在这" | sed 's/([^()]*)[,]*//g' 复制输出的内容。 执行安装命令 一口气全安装即可: sudo apt install "粘贴在这" 方法二:使用 aptitude 进行恢复aptitude 是一款强大的包管理器,它可以自动解决依赖关系,并且可以清晰地显示出哪些包被删除、哪些包被保留。因此,我们可以使用 aptitude 来恢复误删的依赖包。 首先,我们需要安装 aptitude: sudo apt-get install aptitude 然后,使用以下命令来查看被删除的软件包: sudo aptitude search '~c' 接下来,使用以下命令来恢复被删除的软件包: sudo aptitude install <package-name>

2023年03月24日 · 1 分钟 · Cassius0924