ROS中使用CAN通信的调查记录

驱动的安装参照下面文档进行下载:

https://www.ftdichip.com/Support/Documents/AppNotes/AN_220_FTDI_Drivers_Installation_Guide_for_Linux.pdf

libftd2xx0.4.16_x86_64.tar.gz     测试程序 ,没有设置成功。

里面的README说添加这句

none /proc/bus/usb usbdevfs defaults,devmode=0666 0 0

添加完成后,运行会报错,提示/proc/bus/usb找不到。而且重启电脑的话,会卡在命令行,不能进入系统。

所以这句要谨慎设置。我是没有运行成功,就不运行了。

 libftd2xx-x86_64-1.4.22.tgz    canussb线的驱动,看里面的readme了解详细设置步骤。

这里最好是用window系统的上位机查看线是否好用。

我这里可能硬件有点问题。所以下面就用虚拟CAN来运行,查看环境。

=====================================================

ROS的CAN用这个包

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

安装方法参考https://blog.csdn.net/YiYeZhiNian/article/details/100296371

到编译OK这个一步就行了。原文有点问题。

我的路径是下面这样:

asdfasdfasdf:~/catkin_ws/src$ ls
can_msgs            canopen_master      CMakeLists.txt    socketcan_interface
canopen_402         canopen_motor_node  ros_canopen
canopen_chain_node           socketcan_bridge

下面创建虚拟CAN。只做粗体部分即可。

1.sudo modprobe vcan

加载虚拟can模块

2.sudo ip link add dev can0 type vcan

添加can0网卡

3.ifconfig -a

查看can0

4.sudo ip link set dev can0 up

开启can0

5.sudo ip link set dev can0 down

关闭can0

6. sudo ip link del dev can0

删除can0

 

启动roscore

roscore

启动节点

rosrun socketcan_bridge socketcan_to_topic_node

打印通道内容

rostopic echo /received_messages   (这里的数据是ROS MSG格式)

接受CAN数据

candump can0            (原样的数据显示)

发送CAN数据测试

cansend can0 7ff#123456

其他相关资料:

https://github.com/spiralray/canusb

上面这个是ROS的canusb包。测试也是可以实现ros之间can通信。只是没有创建虚拟can.

其他相关资料:

https://ftdichip.com/drivers/d2xx-drivers/
gnss simulator related:
https://zhuanlan.zhihu.com/p/343421679
can cmd
https://www.cnblogs.com/real-bert/p/11692047.html
https://blog.csdn.net/faihung/article/details/83176639
cansend usage:
https://www.cnblogs.com/chenfulin5/p/7816220.html
http://wiki.ros.org/socketcan_bridge
ros can:
https://blog.csdn.net/YiYeZhiNian/article/details/100296371

 

 

 

 

 

你可能感兴趣的:(学习笔记,ROS)