ROS Ubuntu14.04下ROS indigo Eclipse开发环境搭建

2024-02-14 18:58

本文主要是介绍ROS Ubuntu14.04下ROS indigo Eclipse开发环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 目前最优解决方案
  • 配置已有Catkin包到Eclipse
    • 1 Global settings in Eclipse IDE
    • 2 ROS compile script for Eclipse IDE
    • 3 Importing the project into Eclipse
    • 4 Adding run configurations to run ROS nodes in Eclipse
  • ROSBUILD配置方式
    • 1 安装Eclipse
    • 2 创建工程文件
      • 21 创建ROS工程包并转成Eclipse工程文件
        • 211 创建多个Eclipse工程文件
    • 3 导入工程到Eclipse
    • 4 实验效果
      • 41 在Eclipse中运行ROS可执行文件

第三次更新
现在我一直采用的编辑方式,再次更新于此,希望能够和大家分享一下,毕竟合理使用IDE能够极大的提高编码的速度和身心愉悦程度。如果对其他不敢兴趣的话,请直接跳到 1. 目前最优解决方案


非常愧疚, 之前写的内容早就已经不能完成想要达到的效果, 就连ROS官网上面, 都推荐使用catkin的方式来管理ROS包, 而非rosbuild。 而之前的内容仅在rosbuild的环境下可以使用。并且, 越来越多的代码使用C++11标准, 而默认的Eclipse是不支持 C++11 的. 前两部分是最新更新的内容, 关于第三部分的内容, 其实对于大部分人而言, 是可以忽略的了。

今天师兄推荐了一本书, Mastering ROS for Robotics Programming, 大致翻了一下, 感觉内容很不错, 做ROS的同学推荐看一看. 另外, 这本书提到了怎么配置Eclipse作为ROS的IDE, 按照书上的步骤, 下述中第一部分的内容就出来了. 亲测好使, 所以记录下来和大家进行分享. 另外在ROS IDEs中的内容, 包含怎么导入catkin工作空间的方法, 之前也试过, 感觉不怎么好用. 配置到Eclipse中后, Eclipse会有很多错误提示, 但编译是没有问题的. 看到满篇的红线, 真的很让人抓狂!! 第二部分是在之前的工作中一直使用的办法, 解决了错误红线的问题, 可以编辑, 可以编译, 在命令行中也可以运行. 但是附加的工作量就是所有代码写好之后, 将要把代码拷贝到对应的catkin工作空间中. 所以有如下结论:

推荐使用第一种方式进行ROS开发环境配置, 可选使用第二种方式, 第三种方式是在rosbuild方式编译的选择. 而关于 ROS IDEs中catkin的环境配置, 建议直接不看了.

1. 目前最优解决方案

第三次更新内容
留个坑在这儿,切换系统之后配图加文字再进行说明。
仍然是在catkin工作目录下创建包


在之前的工作中, 使用另一种方式, 也成功编译过ROS的代码。 事情是这样的, 代码分了两层, 第一层只依赖于Ubuntu, 我是直接在Eclipse里面新建工程, 完成第一层的工作。 第一层完成之后, 在第一层的基础上, 写了跟ROS相关的代码, 通过配置ROS路径以及各种库, 也成功运行了ROS节点。示例如下。

首先, 新建一个C++ Project, 创建文件gen_msg.h, 内容如下:

class GenMsg {
public:int getValue() {return ++val_;}
private:int val_;
};

再新建一个main.cpp, 内容如下:

#include <ros/ros.h>
#include <std_msgs/Int64.h>
#include "gen_msg.h"int main(int arc, char* argv[]) {ros::init(arc, argv, "test_ros");ros::NodeHandle nh;GenMsg gen;ros::Rate rate(20);std_msgs::Int64 msg;ros::Publisher pub = nh.advertise<std_msgs::Int64>("/test_ros/Int64", 1);while (ros::ok()) {msg.data = gen.getValue();pub.publish(msg);rate.sleep();}ros::shutdown();
}

显然, #include <ros/ros.h>, 出现了黄线, 找不到这个头文件。 点击[Project] -> [Properties]

这篇关于ROS Ubuntu14.04下ROS indigo Eclipse开发环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/709329

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次