赞
踩
一、安装CAN驱动
1.官网下载MiniPCIe接口CAN卡-广州致远电子有限公司
(百度网盘连接:链接: https://pan.baidu.com/s/1JKeDpe33g88Z6PAcSJMDoQ 提取码: l8p1)
apt-get install libusb-1.0-0 ##确保安装依赖
2.安装
2.1将文件夹里的libusbcan.so文件复制到/lib(其他位置-计算机-lib)目录下
2.2进入test目录
- make
- ./test
不带参数运行测试程序,会打印CAN测试参数说明
2.3 加入参数,调用test,可进行收发测试:
./test 4 0 3 0x1400 2 0 3 1000
报错libusb_open failed: ret=-3,是权限问题
2.3.1修改权限
- 第一步:执行以下命令
- sudo chmod -R 777 /dev/bus/usb/
- 重新运行测试程序,若还报错,执行第二步
- 第二步:永久赋予普通用户操作USBCAN设备的权限,修改udev配置
- su
- touch /etc/udev/rules.d/50-usbcan.rules
- gedit /etc/udev/rules.d/50-usbcan.rules
- 在50-usbcan.rules文件中输入:
- SUBSYSTEMS=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", GROUP="users", MODE="0666"
- 保存并退出
- 重新加载 udev 规则:
- sudo udevadm control --reload
重启电脑或插拔设备
2.3.2再次执行
./test 4 0 3 0x1400 2 0 3 1000
二、编译ros包(绝对干货)
1.创建工作空间
- 在根目录下新建文件夹can_demo
- cd can_demo
- mkdir src
- catkin_make
1.2.在src下创建功能包ros_can,添加依赖roscpp rospy std_msgs
在功能包ros_can下创建msg文件夹,将文件Frame.msg放入该文件夹下
1.3.package.xml中添加编译依赖与执行依赖
- <build_depend>message_generation</build_depend>
- <exec_depend>message_runtime</exec_depend>
1.4.CMakeLists.txt编辑 msg 相关配置
- find_package(catkin REQUIRED COMPONENTS
- roscpp
- rospy
- std_msgs
- message_generation
- )
- # 需要加入 message_generation,必须有 std_msgs
- Copy
- ## 配置 msg 源文件
- add_message_files(
- FILES
- Person.msg
- )
- Copy
- # 生成消息时依赖于 std_msgs
- generate_messages(DEPENDENCIES
- std_msgs
- )
-
- #执行时依赖
- catkin_package(
- #
- INCLUDE_DIRS include
- #
- LIBRARIES demo02_talker_listener
- CATKIN_DEPENDS roscpp rospy std_msgs message_runtime
- #
- DEPENDS system_lib
- )

1.5 编译
会在 .../工作空间/devel/include/包名/ 目录生成Frame.h文件
2.配置通讯
2.1将cmakelist.txt中第3行以下的部分替换你自己的内容
将controlcan.h放入1.5所述生成Frame.h的文件夹下
修改includePath
2.2编译
2.3运行
- rosrun ros_can rx
-
- rosrun ros_can roscan
完工!!!
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。