无人驾驶——ros_canopen安装

2023-11-03

 上篇文章提到过,对于CAN测试,不能完全依靠CAN卡对应的软件,指导老师推荐了ros_canopen、socketcan_interface方法。记录一下使用该方法的过程。  

安装ros_canopen,对应ros版本git clone下载资源并安装。

 https://github.com/ros-industrial/ros_canopen.git

ros的常规过程

看网上教程安装libmuparser-dev

sudo apt-get install libmuparser-dev

然后catkin_make 编译。

bug:缺少相关的包,对照提示sudo apt-get install ***,错误不全部贴出来了。

CMake Error at ros_canopen/socketcan_bridge/CMakeLists.txt:109 (find_package):
  By not providing "Findroslint.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "roslint", but
  CMake did not find one.

sudo apt-get install ros-melodic-roslint

sudo apt-get install ros-melodic-controller-manager

sudo apt-get install ros-melodic-filters

 sudo apt-get install ros-melodic-joint-limits-interface
最后编译成功

查阅资料得知,周立功USBCAN-2E-U仅支持win环境,所以改换使用CANalyst-2(Linux版),网上有资料使用虚拟CAN进行测试,先测试一下虚拟CAN,参考下方教程

ros_canopen使用心得_NIgori_MrW的博客-CSDN博客

启动节点时报错缺少包

pilot@pilot:~$ rosrun socketcan_bridge socketcan_to_topic_node
[rospack] Error: package 'socketcan_bridge' not found

安装socketcan_bridge包:

sudo apt-get install  ros-melodic-socketcan-bridge

重新启动节点

pilot@pilot:~$ rosrun socketcan_bridge socketcan_to_topic_node
[ INFO] [1678264578.378877740]: Successfully connected to can0.

新开一个终端用于打印通道内容:rostopic echo /received_messages

新开一个终端用于接受CAN数据:candump can0  

新开一个终端发送CAN数据测试,发送完之后,前面两个终端就可以显示接收到的数据

cansend can0 7ff#123456

参考上述教程了解到后续就可以自己写程序和launch文件进行集成运行。


官方教程:ros_canopen - ROS Wiki

socketcan_interface - ROS Wiki

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

无人驾驶——ros_canopen安装 的相关文章

  • related work 怎么写

    Related work精神 related work不需要写得特别细节 特别精确 但是要写出 意思 恕我驽钝 还是木有领会到 意思 是啥意思 感觉好像中国山水画一样 Related work整体写作思路 一般是将当前工作分成几大类 每个大
  • B - Marbles Gym - 101908B SG函数

    有一堆棋子在棋盘上 A和B轮流走 每次可以取一个棋子向上或向左走任意步 或者向上以及向右走x步 最先把一个棋子移动到0 0的人赢 问A能不能赢 SG 保证当前状态的子状态的sg都已经求出 把子状态的sg放入集合 第一个不在集合中的数就是当前
  • UNIX 环境编程 之 fork 函数详解

    一 概述 一个进程 包括代码 数据和分配给进程的资源 fork 函数通过系统调用创建一个与原来进程几乎完全相同的进程 也就是两个进程可以做完全相同的事 但如果初始参数或者传入的变量不同 两个进程也可以做不同的事 二 fork 函数 fork
  • JavaEE--------SpringMVC框架

    目录 1 SpringMVC简介 1 1 什么是MVC 1 2 什么是SpringMVC 1 3 SpringMVC的特点 2 入门案例 2 1 开发环境 2 2 创建maven工程 2 3 配置web xml 2 4 创建请求控制器 Co
  • 在linux系统下做软raid教程

    raid制作方法分为两种 一种为使用raid卡或者sas卡做的raid 我们称之为硬raid 一种则是在linux系统下做raid 我们称之为软raid 下面简单写下怎么在系统下做软raid 以raid0为例 如图所示 lsblk 查看现有
  • postman汉化设置

    1 下载 postman 汉化包 https github com hlmd Postman cn releases 挑选最新版本 一般汉化包更新比 postman 慢 所以我们选最新的就好 记住汉化包的版本 2 根据 汉化包 下载 相应的
  • shell/sh脚本里的$1、$2是什么意思

    在 shell 脚本中 1 2 等表示传递给脚本的命令行参数 0 表示脚本本身的名字 1 表示第一个参数 2 表示第二个参数 依此类推 例如 考虑以下的 shell 脚本 example sh bin sh echo 脚本名称 0 echo
  • js将变量值作为对象的key

    var a aaa var obj a valueA bbb valueB console log obj aaa valueA console log obj a valueA console log obj bbb valueB con
  • PKU2676 Sudoku 数独

    Sudoku Time Limit 2000MS Memory Limit 65536K Total Submissions 4283 Accepted 1934 Special Judge Description Sudoku is a
  • 已解决Python pandas.read_excel读取Excel文件报错

    已解决 Python pandas read excel读取Excel文件报错 io ExcelFile io storage options storage options engine engine 文章目录 报错代码 报错原因 解决方
  • [算法] - c++笔试中algorithm常用函数(STL)

    你有没有被面试官说过 你这个STL了解的不够啊 有没有看到同样是C 为什么别人的代码还能那么少 好吧玄机都在 include
  • swagger文档请求参数和后端入参请求对象不一致问题

    后端对象属性设置 前端传递的参数 不一致 问题原因 ApiModel里面的值 不能一样 后端实体类设置时 ApiModel值设置重复
  • IOException parsing XML document from class path resource [applicationContext.xml];

    关于Idea项目到Eclipse运行报错 IOException parsing XML document from class path resource applicationContext xml 网上提供有其他原因 本人只提供自己的
  • win7电脑桌面背景黑屏_崩溃!电脑突然黑屏无法启动

    Hello 我是爽哥 欢迎你的到来 我会不定期推送关于电脑方面的实用教程及资讯 点击上方蓝色字体公众号名称 爽哥来搞机 关注我 实用干货全部拿走 什么 为什么我的电脑一直黑屏无法开机了 昨天还好好的 重启无数次也没有用 是不是哪里坏了 拍一
  • python bottle 上传文件_python – Bottle文件上传和处理

    好吧 让我们打破这个 完整的代码是 HTML PYTHON代码 from bottle import route request route upload method POST def do upload name request for
  • egret白鹭引擎RES资源管理模块,资源动态加载失效BUG,加载卡死BUG,完整解决方案与超详细调试漏洞过程

    我是千里马 是一位软件工程师 最近几天完成了用户中心全套内容设计和游戏中大大小小的各种bug处理解决 准备开始游戏的正式填充 突然想起来还有两件抛之脑后的事情没有做 因为之前一直都是忙碌大方向内容设计研发 有一些小的bug就直接暂时性质的忽
  • CICD工具记录

    1 GitLab CI 项目页面 https about gitlab com product continuous integration 源代码 https gitlab com gitlab org gitlab ce 2 GoCD
  • HashMap的数据操作演示

    import java util public class mytest public static void main String args mytest mytest new mytest Map map new HashMap fo
  • 执行docker info出现警告解决

    执行docker info出现如下警告 WARNING bridge nf call iptables is disabled WARNING bridge nf call ip6tables is disabled 解决办法 vim et

随机推荐

  • OpenHarmony 3.1 Beta版本关键特性解析——HAP包安装实现剖析

    以下内容来自开发者分享 不代表 OpenHarmony 项目群工作委员会观点 石磊 随着社会的不断发展 人们逐渐注重更加高效 舒适 便捷 有趣的生活和工作体验 OpenAtom OpenHarmony 以下简称 OpenHarmony 作为
  • LeetCode-410.分隔数组的最大值、动态规划、前缀和

    给定一个非负整数数组和一个整数 m 你需要将这个数组分成 m 个非空的连续子数组 设计一个算法使得这 m 个子数组各自和的最大值最小 示例 输入 nums 7 2 5 10 8 m 2 输出 18 力扣 LeetCode 第410题 前言
  • ChatGPT怎么用?几个技巧让你快速掌握使用!

    近日全球最热的话题非ChatGPT莫属了 据资料显示 ChatGPT目前月活用户已经突破1亿 相信不少人都在尝试玩ChatGPT了 但是如何利用ChatGP来快速完成各种工作 今天给大家分享几个使用技巧 想要通过ChatGPT来帮您完成工作
  • 学好数据库,看这9本书就够了

    软件开发者编写代码 最终都是要处理数据 因此数据库是必备技能 悲剧的是 学校里与此最相关的数据库原理课 对初学者的体验却非常不好 相信很多同学都有这样的痛苦经历 一上来就一通数据库历史 罗列一大堆从来没见过以后也不会见到的各种古老数据库 然
  • vector的实现及总结

    vector vector的数据安排以及操作方式与array非常类似 两者唯一的差别就是在于空间的运用灵活性 array是静态空间 一旦分配了就是固定的 无法改变其大小 需要用户重新申请更大的空间 移动数据 释放原来的空间 而vector是
  • 读取jar中Properties文件

    package com wang util import java io IOException import java io InputStream import java security AccessControlException
  • typeid 与 dynamic_cast(C++学习)

    RTTI Run Time Type Information 运行时类型信息 Run Time Type Identification 运行时类型识别 C 通过下面两个 操作符 提供RTTI功能 typeid dynamic cast 其中
  • scrapy知识点

    1 持久化存储 编码流程 1 数据解析 2 封装item类 3 将解析的数据存储到实例化好的item对象 4 提交item 5 管道接收item然后对item进行io操作 6 开启管道 注意事项 将同一份数据存储到不同的平台中 管道文件中一
  • Windows 驱动开发 之 WinDbg调试(一)

    课程链接 https www bilibili com video BV1r7411A7hq vd source 4f5979757af4551dfc8d2f504918a338 Windows 驱动开发 之 WinDbg调试 一 文章目录
  • Qt实现Rasdial宽带拨号

    最近 由于项目需求 需要通过不断拨号来实现切换ip 当然 最简单的方法就是使用Rasdial来进行拨号 一开始是采用双管道方法来做 但是会出现黑框框 然后我就想用 ShellExecuteA 函数来实现 通过采用 SW HIDE显示方式来隐
  • HttpClient工具类(包含请求头设置及请求示例)

    import java io BufferedReader import java io DataOutputStream import java io EOFException import java io IOException imp
  • iOS-75-分享Xcode使用技巧(兼容iOS10、iPhone刷机固件、Xcode各版本、内存泄漏检测)

    一 兼容iOS10 http mp weixin qq com s biz MjM5OTM0MzIwMQ mid 2652547529 idx 1 sn bdbca712415cc6cc68e4f04c855e8441 scene 2 sr
  • mybatis if test 不为空字符串或null

    转自 mybatis if test 不为空字符串或null MyBatis 是一款优秀的持久层框架 它支持定制化 SQL 存储过程以及高级映射 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集 MyBatis
  • 用户模块丨前端uniapp微信小程序项目

    小兔鲜儿 用户模块 在用户登录 注册成功后 展示会员信息 更新会员信息 会员中心页 我的 主要实现两部分业务 渲染当前登录会员的昵称和头像 从 Store 中获取 猜你喜欢分页加载 可封装成组合式函数实现复用逻辑 静态结构 会员中心页 替换
  • 语音信号处理:语音增强DNN频谱映射

    本文为自学总结整理知识点使用 参考课程 基于深度神经网络频谱映射的语音增强方法 引言 原理 数据集 语音数据集 TIMIT 噪声数据集 Noise 92 数据准备 无噪语音数据准备 生成含噪数据 噪声对 模型结构 参数配置文件 数据集管理
  • 单片机常用外设驱动电路

    单片机常用外设驱动电路 DS18B20 DHT11 AT24C02 L293D 带光耦隔离 I2C接口和EEPROM电路 LCD1602电路 数码管 RS485 红外开关 蜂鸣器驱动 译码器 移位寄存器 74HC595 步进电机控制 复位电
  • [Python从零到壹] 六十一.图像识别及经典案例篇之基于纹理背景和聚类算法的图像分割

    祝大家新年快乐 阖家幸福 健康快乐 欢迎大家来到 Python从零到壹 在这里我将分享约200篇Python系列文章 带大家一起去学习和玩耍 看看Python这个有趣的世界 所有文章都将结合案例 代码和作者的经验讲解 真心想把自己近十年的编
  • 从0搭建WSL下的Ubuntu(18.04)前端环境

    1 Windows下安装Ubuntu 直接去微软商店搜索下载Ubuntu18 04就行 你也可以使用镜像 2 安装完毕后 进入ubuntu 更换apt源为阿里云源 备份 sources list sudo cp etc apt source
  • 百度搜索与推荐引擎的云原生改造

    导读 从去年开始 百度MEG 移动生态事业群 架构平台上的用户产品逐步进行云原生改造 如今已基本完成 现阶段更多关注动态弹性能力 动态管理机制的建设 我们邀请到来自百度推荐技术架构部的传玉老师 跟大家聊聊百度搜索与推荐引擎云原生改造的阶段性
  • 无人驾驶——ros_canopen安装

    上篇文章提到过 对于CAN测试 不能完全依靠CAN卡对应的软件 指导老师推荐了ros canopen socketcan interface方法 记录一下使用该方法的过程 安装ros canopen 对应ros版本git clone下载资源