在Beaglebone Black(Ubuntu 14.04,内存为3.8.x)上运行ROS Indigo时,我在使用Adafruit_BBIO.GPIO和Adafruit_BBIO.PWM库时遇到了一个奇怪的问题。
Adafruit_BBIO.PWM在根权限下与python一起使用时控制我的PWM引脚。如果我没有以root权限运行它,我会收到:
IOError: [Errno 13] Permission denied: 'sys/devices/bone_capemgr.9/slots'
但是,如果我尝试使用root权限运行ros脚本(显然不推荐),我会收到:
File "teleop.py", line 1, in <module>
import rospy
ImportError: No module named rospy
我猜,这是因为采购和许可权问题。
使用Adafruit_BBIO.GPIO库我遇到类似的问题,当它与非特权权利一起使用时它什么都不做,但似乎是known bug。
现在以root权限运行ros
可以解决我的问题。另一方面,不建议这样做。如果我为GPIO引脚应用补丁,有人建议我修复插槽的权限问题,我可以在非root权限下运行Ros。有什么建议吗?
答案 0 :(得分:0)
根据BeagleBone Black Setup,您必须使用以下命令授予对设备插槽的访问权限:
sudo sh -c " echo BB-W1:00A0 > /sys/devices/bone_capemgr.9/slots"
否则你会得到'许可被拒绝'。