debian 10源码安装ros kinetic

2023-10-29

准备

安装依赖

安装python2:sudo apt install python2
安装pip2:看链接安装pip2
安装编译依赖:

$ sudo apt-get install python-rosinstall-generator python-wstool python-rosinstall build-essential libpoco-dev libboost1.67-dev libfltk1.3-dev cmake librosconsole-bridge-dev libeigen3-dev qtbase5-dev  libjpeg-dev libtiff-dev libpng-dev ccache libboost-filesystem1.67.0 libboost-program-options-dev
$ pip2 install empy
$ pip2 install rosdep

初始化rosdep

$ sudo rosdep init
$ rosdep update

创建工作区

$ mkdir -p ~/ros_kinetic_ws/src
$ cd ~/ros_kinetic_ws

选择以下安装方式
1 桌面版安装 ROS, rqt, rviz, and robot-generic libraries

$ rosinstall_generator desktop --rosdistro kinetic --deps --tar > kinetic-desktop.rosinstall
$ wstool init -j8 src kinetic-desktop.rosinsta

2 ros 基本通信包安装,没有gui调试工具

$ rosinstall_generator ros_comm --rosdistro kinetic --deps --tar > kinetic-ros_comm.rosinstall
$ wstool init -j8 src kinetic-ros_comm.rosinstall

修改有问题的代码

1:替换rospack

cd src
rm -r rospack
git clone -b kinetic-devel https://github.com/ros/rospack.git

2:修改 src/rqt_robot_monitor/package.xml

src/rqt_robot_monitor/package.xml
45:  <exec_depend condition="$ROS_PYTHON_VERSION == 2">python-rospkg-modules</exec_depend>

改为

45:  <exec_depend condition="$ROS_PYTHON_VERSION == 2">python-rospkg</exec_depend>

3:修改src/rospack/package.xml

31:  <exec_depend condition="$ROS_PYTHON_VERSION == 2">python-catkin-pkg-modules</exec_depend>
33:  <exec_depend condition="$ROS_PYTHON_VERSION == 2">python-rosdep-modules</exec_depend>

改为

31:  <exec_depend condition="$ROS_PYTHON_VERSION == 2">python-catkin-pkg</exec_depend>
33:  <exec_depend condition="$ROS_PYTHON_VERSION == 2">python-rosdep</exec_depend>

4: 修改src/opencv3/modules/python/src2/cv2.cpp

885行
char* str = PyString_AsString(obj);
改为
char* str = (char *)PyString_AsString(obj);

5:修改src/geometry2/tf2/src/buffer_core.cpp
41行添加

#ifndef logWarn
  #define logWarn CONSOLE_BRIDGE_logWarn
#endif
#ifndef logError
  #define logError CONSOLE_BRIDGE_logError
#endif

解决依赖项

一定要执行完这个,将依赖包安装完全,不然编译不能通过

 rosdep install --from-paths src --ignore-src --rosdistro kinetic -y

开始编译


./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release

参考文献

https://wiki.ros.org/Installation/Source

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

debian 10源码安装ros kinetic 的相关文章

随机推荐

  • 网络传输知识:HTTP协议

    计算机网络体系结构的通信协议 1 物理层 以太网 调制调节器 电力线通信 SONET SDH 光导纤维 同轴电缆 双绞线等 2 数据链路层 Wi Fi IEEE 802 11 WiMAX IEEE 802 16 ATM 令牌环 PPP L2
  • zookeeper面试专题及答案

    1 ZooKeeper 是什么 ZooKeeper 是一个分布式的 开放源码的分布式应用程序协调服务 是 Google 的 Chubby 一个开源的实现 它是集群的管理者 监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作 最终
  • db2解除死锁实例

    背景 在团队协作的开发环境下 难免会遇到多个成员同时访问一张表的情况 在断点调试时 又非常容易加事务的长连接 引发死锁 下面实例讲解解锁过程 解锁过程 查找节点 解锁之前 需要知道数据库所在节点 db2 gt LIST NODE DIREC
  • Pyqt5实战修炼之label图像动态自适应窗口大小

    Pyqt5之动态label窗口大小 问题描述 当我们需要在界面上显示结果图片或者是可视化表达一些数据的时候 通常使用label控件 进行显示 但是因为不确定图片的大小导致显示不全或者当窗口大小变化的时候不能自适应调节label的大小 问题分
  • 农业数据爬虫:Python爬虫获取农产品价格和农业技术信息

    目录 第一部分 选择目标网站 第二部分 分析网站结构和查询参数
  • long包中的八大基本包装类

    一 long包 包装类 八大基本包装类 整数 包装类 byte Short Int Integer Long 除了那两个写出来的 其他的包装类都是把原始类中的首字母大写 小数 float double 字符 char Character 布
  • 【从零开始学c++】——C++动态内存管理

    C 动态内存管理 1 C C 内存分布 2 c 中的动态内存管理 3 operator new和operator delete 4 什么是内存泄露 5 malloc free和new delete的区别 1 C C 内存分布 接下来我们来看
  • RecyclerView流式布局StaggeredGridLayoutManager,重排序问题

    RecyclerView天然支持流式布局 只需要设置layoutManager为StaggeredGridLayoutManager 不过如果item中有图片 由于图片异步加载 会导致item布局变化 这倒也没什么 关键是在holder复用
  • java导出PDF(freemarker模板导出word,再把word使用aspose-words-15.8.0-jdk16转成PDF)

    import com aspose words Document import com aspose words License import freemarker template Configuration import freemar
  • 2023213-popover弹窗框中的teleported属性--Element-plus踩坑日记

    popover弹窗框中的teleported属性 Element plus踩坑日记 今天在做项目时 有一个地方用到了弹窗框 但是有需求需要修改弹窗的阴影部分 比如下方的 我想对阴影进行修改 但是很是纳闷 各种标签选择器都不生效 很奇怪 按照
  • Markdown中如何实现内容折叠操作

    Markdown中如何实现内容折叠操作 实现 效果 感谢 markdown 写作不可避免的会使用到折叠效果的 让结构更清晰 这里使用HTML实现 实现 使用 html 代码可以实现内容折叠的效果
  • 评论机器人测试--“欢迎评论”

    Python评论机器人 最近一直在写Python 爬虫相关的代码 今天突然想做个评论机器人玩一玩 主要步骤有 登录网页 解析现有评论状态 截取最新回复 回复上传到机器问答库 返回机器人回答内容 上传回答结果 欢迎大家在评论区评论测试 顺面让
  • 微信小程序的组件间三种传值方式

    前言 小程序直接的传值 第一种 全局传值 注意要创建实例 步骤一 在全局app js文件中定义数据 App globalData map 步骤二 组件1给全局变量赋值 var app getApp app globalData map th
  • _5LeetCode代码随想录算法训练营第五天-C++哈希表

    5LeetCode代码随想录算法训练营第五天 C 哈希表 242 有效的字母异位词 349 两个数组的交集 202 快乐数 1 两数之和 LeetCode 242 有效的字母异位词 LeetCode 349 两个数组的交集 LeetCode
  • 李开复:算法的力量

    算法是计算机科学领域最重要的基石之一 但却受到了国内一些程序员的冷落 许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解 认为学计算机就是学各种编程语言 或者认为 学习最新的语言 技术 标准就是最好的铺路方法 其实大家都被这
  • Unity毛发系统TressFX Exporter

    Unity 数字人交流群 296041238 一 在Maya下的TressFX Exporter 插件安装步骤 1 下载Maya的TressFX Exporter插件 下载地址 TressFX Exporter 链接 https githu
  • Docker之快速入门篇(个人笔记)

    Docker简介 一款产品从开发到上线 从操作系统 到运行环境 再到应用配置 作为开发 运维之间的协作我们需要关心很多东西 这也是很多互联网公司都不得不面对的问题 特别是各种版本的迭代之后 不同版本环境的兼容 对运维人员都是考验 Docke
  • GDELT情感分析

    调用方法 BigQuery Tone Coding Books select DocumentIdentifier TotWordCount TotalMatchingWords SumToneScore TotalMatchingWord
  • 从有序数组中查找数字的4种方法/二分查找/二分查找的函数递归/一一对比/一一对比的递归

    目录 情境设置 第一种方案 一一对比 函数递归 函数递归有两个必要条件 第二种方案一一对比的进阶版 函数递归 图解 第三种方案 二分查找 二分查找主要的流程 图解 第四种方案二分查找进阶方案 函数递归 图解 总结 情境设置 从一组有序数组中
  • debian 10源码安装ros kinetic

    准备 安装依赖 安装python2 sudo apt install python2 安装pip2 看链接安装pip2 安装编译依赖 sudo apt get install python rosinstall generator pyth