ROS环境搭建

ROS首次搭建环境

      • 注:以下内容都是在已经安装好ros的情况下如何搭建workplace
  • 一、创建工作空间
  • 二、创建ROS包
  • 三、注意


注:以下内容都是在已经安装好ros的情况下如何搭建workplace

如果没有安装好,建议鱼香ros一步到位:鱼香ROS
我也是装了好久失败,偶然发现这么好的东西,在这里感谢大佬!!!

一、创建工作空间

注:catkin_ws是自己取的名
在这里插入图片描述

  1. 创建目录结构

    mkdir -p ~/catkin_ws/src
    
  2. 初始化工作空间

    cd ~/catkin_ws/src
    catkin_init_workspace
    
  3. 构建工作空间

    cd ~/catkin_ws
    catkin_make
    
  4. 设置环境变量
    每次打开终端时都需要设置环境变量,可以通过以下命令完成:

    source ~/catkin_ws/devel/setup.bash
    

    为了避免每次都手动设置,可以将其添加到~/.bashrc文件中:

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

二、创建ROS包

  1. 进入src目录

    cd ~/catkin_ws/src
    
  2. 创建包
    使用catkin_create_pkg命令创建一个新的ROS包。例如,创建一个名为my_robot的包,依赖roscppstd_msgs,rospy

    catkin_create_pkg my_robot roscpp std_msgs rospy
    
  3. 构建工作空间
    返回到工作空间的根目录并运行catkin_make

    cd ~/catkin_ws
    catkin_make
    
  4. 更新环境变量
    确保新创建的包被正确加载:

    source ~/catkin_ws/devel/setup.bash
    

三、注意

1.在py文件开头可能要指明解释器(根据自己的而定)

#! /bin/python3

2.依赖包没有写全或者写错:
可以在创建的功能包同级下的cmakelists里面修改

3.可执行权限:
记得给py文件或者其他给予权限,可手动,可以下:

chmod +x xxxxx.py

4.没有把source ./devel/setup.bash添加到bashrc的话,可能改动了文件就需要加载一次

5.catkin_make在修改了包或者其他的时候最好再编译一下,不影响的


声明:
本文为本人的学习笔记,旨在记录和分享个人在学习过程中的心得体会和原创代码。由于本人刚入门,对相关知识的理解可能还存在不足之处,文章中难免会有错误或不准确的地方。在此,我诚挚地欢迎各位读者在阅读过程中,如果发现任何问题或有其他建议,随时在评论区或通过其他方式与我交流。我将虚心听取大家的意见,及时修正和改进文章内容,以便更好地学习和成长。感谢大家的关注和支持!


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

centos7操作系统下安装docker,及查看docker进程是否启动

centos7下安装docker,需要用到的yun命令 (yum命令用于添加卸载程序) 1.设置仓库: yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 2.安装 Docker Engine-Community yum in…

IO基础知识和练习

一、思维导图 二、练习 1.使用标准IO函数&#xff0c;实现文件的拷贝 #include <head.h> int main(int argc, const char *argv[]) {FILE *pfopen("./one.txt","r");FILE *fpfopen("./two.txt","r");if(pNULL)PRINT_ERROR(&qu…

Linux驱动开发之串口驱动移植

原理图 从上图可以看到RS232的串口接的是UART3&#xff0c;接下来我们需要使能UART3的收发功能。一般串口的驱动程序在内核中都有包含&#xff0c;我们配置使能适配即可。 设备树 复用功能配置 查看6ull如何进行uart3的串口复用配置&#xff1a; 设备树下添加uart3的串口复用…

2.css简介

什么是css&#xff1a; CSS (Cascading Style Sheets&#xff0c;层叠样式表&#xff09;&#xff0c;是一种用来为结构化文档&#xff08;如 HTML 文档或 XML 应用&#xff09;添加样式&#xff08;字体、间距和颜色等&#xff09;的计算机语言&#xff0c;CSS 文件扩展名为 .…

数据可视化02-PCA降维

一、PCA PCA做什么&#xff1f;找坐标系。 目标&#xff1f;二维降到一维&#xff0c;信息保留最多。 怎么样最好&#xff1f;数据分布最分散的方向&#xff08;方差最大&#xff09;&#xff0c;作为主成分&#xff08;坐标轴&#xff09;。 二、怎么找主成分&#xff1f; …

TVbox蜂蜜影视:智能电视观影新选择,简洁界面与强大功能兼具

蜂蜜影视是一款基于猫影视开源项目 CatVodTVJarLoader 开发的智能电视软件&#xff0c;专为追求简洁与高效观影体验的用户设计。该软件从零开始编写&#xff0c;界面清爽&#xff0c;操作流畅&#xff0c;特别适合在智能电视上使用。其最大的亮点在于能够自动跳过失效的播放地址…

【word】电子签名设置、保存和调用

设置电子签名&#xff1a;将扫描版或照片 转化为 word的电子签名 保存电子签名&#xff1a;将上述电子签名 存储到 word资料库中 调用电子签名&#xff1a;在正文中使用 快捷键 快速调用word电子签名 1. 设置电子签名 1.1 手写版签名 1.2 插入到word 插入 - 图片 1.3 着色效…

KVM虚拟机磁盘创建探究-1

在使用 virt-install 命令时&#xff0c;像 --disk path/var/lib/libvirt/images/vm1.qcow2,size20 这样的参数配置会自动创建指定路径和大小的磁盘镜像文件&#xff0c;不需要再单独使用 qemu-img 去创建。 详细解释 当你使用 virt-install 并指定 --disk 参数时&#xff0c…

第三十三:6.3. 【mitt】 任意组件通讯

概述&#xff1a;与消息订阅与发布&#xff08;pubsub&#xff09;功能类似&#xff0c;可以实现任意组件间通信。 // 引入mitt import mitt from "mitt";// 创建emitter const emitter mitt()/*// 绑定事件emitter.on(abc,(value)>{console.log(abc事件被触发,…

Android Stuido 调整左侧文件导航栏文字大小

Android Studio左侧文件导航栏文字大小默认比较小&#xff0c;这里记录下调整的路径&#xff1a; File-->Settings-->Appearance & Behavior-->Appearance-->勾上“Use custom font:” 就可以调整文字大小了&#xff0c;然后确定就好了。

大模型学习笔记------LLM模型开发流程

大模型学习笔记------LLM模型开发流程 1、总体开发流程2、各部分说明3、总结 LLM(Large Language Model)模型&#xff0c;即大型语言模型是大模型中极其重要的分支。它包含了GPT、BERT、Gemini、Qwen、Llama等&#xff0c;这些大模型衍生了相当多的各种改进版本。这些大模型的开…

剑指 Offer II 040. 矩阵中最大的矩形

comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20040.%20%E7%9F%A9%E9%98%B5%E4%B8%AD%E6%9C%80%E5%A4%A7%E7%9A%84%E7%9F%A9%E5%BD%A2/README.md 剑指 Offer II 040. 矩阵中最大的矩形 题目描述 给定一个由 …

【含文档+PPT+源码】基于SpringBoot+Vue医药知识学习与分享平台的设计与实现

项目介绍 本课程演示的是一款 基于SpringBootVue医药知识学习与分享平台的设计与实现&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含&#xff1a;项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运…

基于提示驱动的潜在领域泛化的医学图像分类方法(Python实现代码和数据分析)

摘要 医学图像分析中的深度学习模型易受数据集伪影偏差、相机差异、成像设备差异等导致的分布偏移影响&#xff0c;导致在真实临床环境中诊断不可靠。领域泛化&#xff08;Domain Generalization, DG&#xff09;方法旨在通过多领域训练提升模型在未知领域的性能&#xff0c;但…

【监督学习】支持向量机步骤及matlab实现

支持向量机 &#xff08;四&#xff09;支持向量机1.算法步骤2. MATLAB 实现参考资料 &#xff08;四&#xff09;支持向量机 支持向量机&#xff08;Support Vector Machine, SVM&#xff09;是一种用于分类、回归分析以及异常检测的监督学习模型。SVM特别擅长处理高维空间的…

数据集/API 笔记:湿球黑球温度(WBGT)观测数据

data.gov.sg WBGT是一个综合指标&#xff0c;考虑了气温、湿度、风速和太阳辐射&#xff0c;与气温不同。 报告的WBGT是过去15分钟内的平均值&#xff0c;每15分钟更新一次。 API 调用 curl --request GET \--url https://api-open.data.gov.sg/v2/real-time/api/weather …

基于 DataEase 的企业数据分析实践

1. 前言 在上一篇《基于 Selenium 实现的必应企业信息抓取工具》中&#xff0c;成功实现了对企业信息的批量抓取与导出。接下来&#xff0c;将对这些数据进行深入分析&#xff0c;包括地区分布、所属行业、规模大小等维度。其中&#xff0c;最直接的需求是统计每个省份的企业数…

教资信息技术之数据库技术

一、概述 1.1 基本概念 数据&#xff1a;描述事物的符号记录称为数据 数据库&#xff1a;长期存储在计算机内、有组织的、可共享的大量数据的集合。 数据库管理系统&#xff1a;位于用户和操作系统之间的一层数据管理软件 数据库系统&#xff1a;数据库系统是由数据库、数据…

JavaAPI(反射)

反射机制简介 获取一个类的实例对象&#xff0c;一般用new关键字来调用构造器获取实例&#xff0c;但是使用new有优点也有缺点。 优点&#xff1a; 性能高&#xff0c;JVM已经对这种调用进行了优化。不需要额外的权限检查、直接调用构造器获取实例、简单方便 缺点&#xff…

零信任沙箱:为网络安全筑牢“隔离墙”

在数字化浪潮汹涌澎湃的今天&#xff0c;网络安全如同一艘船在波涛汹涌的大海中航行&#xff0c;面临着重重挑战。数据泄露、恶意软件攻击、网络钓鱼等安全威胁层出不穷&#xff0c;让企业和个人用户防不胜防。而零信任沙箱&#xff0c;就像是一座坚固的“隔离墙”&#xff0c;…