无人驾驶——ros_canopen安装

 上篇文章提到过,对于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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值