当前位置: 首页 > news >正文

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在修改了包或者其他的时候最好再编译一下,不影响的


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


相关文章:

ROS环境搭建

ROS首次搭建环境 注:以下内容都是在已经安装好ros的情况下如何搭建workplace 一、创建工作空间二、创建ROS包三、注意 注:以下内容都是在已经安装好ros的情况下如何搭建workplace 如果没有安装好,建议鱼香ros一步到位:鱼香ROS 我也是装了好久…...

Cherry Studio + 火山引擎 构建个人AI智能知识库

🍉在信息化时代,个人知识库的构建对于提高工作效率、知识管理和信息提取尤为重要。尤其是当这些知识库能结合人工智能来智能化地整理、分类和管理数据时,效果更为显著。我最近尝试通过 Cherry Studio 和 火山引擎 来搭建个人智能知识库&#…...

Spring Boot 与 MyBatis 版本兼容性

初接触Spring Boot,本次使用Spring Boot版本为3.4.3,mybatis的起步依赖版本为3.0.0,在启动时报错,报错代码如下 org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name userMapper…...

《 C++ 点滴漫谈: 二十九 》风格 vs. C++ 风格:类型转换的对决与取舍

摘要 类型转换是 C 编程中的重要机制,用于在不同数据类型之间进行安全高效的转换。本博客系统介绍了 C 提供的四种类型转换运算符(static_cast、dynamic_cast、const_cast 和 reinterpret_cast)的用法及适用场景,分析了它们相较于…...

AI预测福彩3D新模型百十个定位预测+胆码预测+杀和尾+杀和值2025年3月3日第11弹

前面由于工作原因停更了很长时间,停更期间很多彩友一直私信我何时恢复发布每日预测,目前手头上的项目已经基本收尾,接下来恢复发布。当然,也有很多朋友一直咨询3D超级助手开发的进度,在这里统一回复下。 由于本人既精…...

ArcGIS Pro高级应用:高效生成TIN地形模型

一、引言 在地理信息科学与遥感技术的快速发展背景下,数字高程模型(DEM)已成为地形表达与分析的关键工具。 三角网(TIN)作为DEM的一种重要形式,因其能够精准描绘复杂地形特征而广受青睐。 ArcGIS Pro为用…...

【学术会议论文投稿】Spring Boot实战:零基础打造你的Web应用新纪元

第七届人文教育与社会科学国际学术会议(ICHESS 2024)_艾思科蓝_学术一站式服务平台 更多学术会议请看:https://ais.cn/u/nuyAF3 目录 一、Spring Boot简介 1.1 Spring Boot的诞生背景 1.2 Spring Boot的核心特性 二、搭建开发环境 2.1…...

OpenWebUI提示器:Prompt工程的“智能助手”还是“自动化革命”?

引言:当AI对话成为日常,如何让模型更懂你? 在AI技术爆炸式发展的今天,从写邮件到生成代码,大型语言模型(如ChatGPT、Claude等)已深入日常场景。但你是否遇到过这样的问题? “为什么…...

Spring Boot 异步编程深入剖析

Spring Boot 异步编程深入剖析 1. 异步方法的使用 原理深度解析 Spring Boot 的异步方法基于 Spring 的 AOP(面向切面编程)实现。当在方法上添加 Async 注解时,Spring 会为该方法所在的类创建一个代理对象。当调用该异步方法时&#xff0c…...

使用pyinstaller和tinyaes,对加密文件文件源码进行打包

使用pyinstaller和tinyaes,对加密文件文件源码进行打包 winr后,进入cmd命令行 1. 安装虚拟环境 pip install virtualenv pip install virtualenvwrapper-win2. 制作虚拟环境 mkvirtualenv -p"你的Python解释器地址" py版本号 例如&#xff…...

分布式和微服务的理解

分布式系统 概念:分布式系统是由多个通过网络连接的节点组成的系统,这些节点分布在不同的地理位置或计算机上,它们相互协作,共同完成一个或多个任务,对用户或外部系统而言,就好像是一个单一的、统一的系统…...

麒麟V10-SP2-x86_64架构系统下通过KVM创建虚拟机及配置虚机的NAT、Bridge两种网络模式全过程

文章目录 一、什么是虚拟化?虚拟化具有哪些优势 二、常见的虚拟化技术1、kvm介绍2、kvm工作原理3、kvm功能 三、安装kvm并启动第一个kvm机器1、环境准备2、安装kvm工具3、启动并设置开机自启 libvirtd 服务4、验证 KVM 模块是否加载5、上传系统镜像到指定目录6、网络…...

watchEffect的用法

watchEffect的用法 watchEffect的回调方法里,用到了哪个属性,就监视哪个属性 let temp 0; let height 0; watchEffect(()>{if(temp.value > 60 || height.value > 80){console.log(给服务器发请求)} })...

第15届 蓝桥杯 C++编程青少组中级省赛 202408 真题答案及解析

第 1 题 【 单选题 】 定义 char a[]="hello\nworld",执行 cout<<a,输出结果是( ) A:helloworld B: hello world C:hellonworld D:hello\nworld 解析: 转义字符的作用 \n 是换行符,会被编译器解析为换行操作,而非直接输出字符 \n。 输出…...

扫描纸质文件转pdf---少页数+手机+电脑协作

针对手机上扫描软件扫描文件转pdf要收费的问题&#xff0c;提供一种在页数较少时的免费替代方案 。 实现方法&#xff1a;手机软件的免费功能将文件扫描并保存为图片电脑端在word中将图片拼成文档word转pdf 1.借助于“扫描全能王”APP可以免费扫描文件为图片的功能&#xff0…...

大模型巅峰对决:DeepSeek vs GPT-4/Claude/PaLM-2 全面对比与核心差异揭秘

文章目录 一、架构设计深度解剖1.1 核心架构对比图谱1.2 动态MoE架构实现架构差异分析表 二、训练策略全面对比2.1 训练数据工程对比2.2 分布式训练代码对比DeepSeek混合并行实现GPT-4 Megatron实现对比 2.3 关键训练参数对比 三、性能表现多维评测3.1 基准测试全景对比3.2 推理…...

运维实战---多种方式在Linux中部署并初始化MySQL

运维实战—多种方式在Linux中部署并初始化MySQL 前言实验环境介绍一、源码包安装MySQL 1、配置MySQL&编译安装2、初始化数据库3、配置环境变量 二、yum安装MySQL三、rpm安装MySQL 前言 MySQL是常用的关系型数据库&#xff0c;具有以下特点&#xff1a; 1、开源&#xff…...

SQL注入攻击

SQL注入攻击的原理 原理&#xff1a;将SQL命令插入到web表单递交或输入域名或页面请求的查询字符串&#xff0c;最终达到欺骗服务器&#xff0c;执行恶意的SQL命令 SQL注入攻击的主要原因 SQL注入主要原因是程序员在开发用户和数据库的系统时没有对用户输入的字符串进行过滤…...

面试常问的压力测试问题

性能测试作为软件开发中的关键环节&#xff0c;确保系统在高负载下仍能高效运行。压力测试作为性能测试的重要类型&#xff0c;旨在通过施加超出正常负载的压力&#xff0c;观察系统在极端条件下的表现。面试中&#xff0c;相关问题常被问及&#xff0c;包括定义、重要性、与负…...

云原生事件驱动架构:构建实时响应的数字化神经系统

引言&#xff1a;重塑企业实时决策能力 Uber实现事件驱动架构升级后&#xff0c;实时供需匹配延迟降至8ms&#xff0c;动态定价策略响应速度提升1200倍。Netflix通过事件流处理实现个性化推荐&#xff0c;用户点击率提高34%&#xff0c;事件处理吞吐量达2000万/秒。Confluent基…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

结构化文件管理实战:实现目录自动创建与归类

手动操作容易因疲劳或疏忽导致命名错误、路径混乱等问题&#xff0c;进而引发后续程序异常。使用工具进行标准化操作&#xff0c;能有效降低出错概率。 需要快速整理大量文件的技术用户而言&#xff0c;这款工具提供了一种轻便高效的解决方案。程序体积仅有 156KB&#xff0c;…...

拟合问题处理

在机器学习中&#xff0c;核心任务通常围绕模型训练和性能提升展开&#xff0c;但你提到的 “优化训练数据解决过拟合” 和 “提升泛化性能解决欠拟合” 需要结合更准确的概念进行梳理。以下是对机器学习核心任务的系统复习和修正&#xff1a; 一、机器学习的核心任务框架 机…...

32位寻址与64位寻址

32位寻址与64位寻址 32位寻址是什么&#xff1f; 32位寻址是指计算机的CPU、内存或总线系统使用32位二进制数来标识和访问内存中的存储单元&#xff08;地址&#xff09;&#xff0c;其核心含义与能力如下&#xff1a; 1. 核心定义 地址位宽&#xff1a;CPU或内存控制器用32位…...

raid存储技术

1. 存储技术概念 数据存储架构是对数据存储方式、存储设备及相关组件的组织和规划&#xff0c;涵盖存储系统的布局、数据存储策略等&#xff0c;它明确数据如何存储、管理与访问&#xff0c;为数据的安全、高效使用提供支撑。 由计算机中一组存储设备、控制部件和管理信息调度的…...