1. kobuki ros驱动安装
1)硬件连接示意图,硬件连接接口都有防误插,连接到kobuki上的如图所示,一个为kinect的12V 1.5A供电接口,一个为与计算机通信的USB接口。
2)ROS为kinetic版本,打开终端,运行如下命令: (也可以下载编码进行编译)
sudo apt-get update
sudo apt-get install ros-kinetic-turtlebot ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-interactions ros-kinetic-kobuki-ftdi ros-kinetic-ar-track-alvar-msgs ros-kinetic-turtlebot-simulator
还有ros-kinetic-rocon-remocon ros-kinetic-rocon-qt-library没有安装,如果尝试安装会提示无法定位软件源,因此需要手动安装。
3)ros-kinetic-rocon-remocon ros-kinetic-rocon-qt-library无法定位软件源,手动安装,使用git下载软件源码到ros工作目录catkin_ws/src/下(创建方法参考http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment),等待编译。git clone https://github.com/robotics-in-concert/rocon_qt_gui.git
4)下载完成,在编译之前需要添加编译依赖资源,pyrcc5,pyrcc4,因此手动安装这两个依赖项
sudo apt-get install pyqt4-dev-tools pyqt5-dev-tools
然后编译该工作目录cd ~/catkin_ws/catkin_make至此,Turtlebot就成功安装。
5)检查别名:启动ros:roscore输入检测命令:ls /dev/kobuki 会显示有对应的设备/dev/kobuki 如果没有,添加别名:rosrun kobuki_ftdi create_udev_rules 重插USB线,在进行上述的检测命令
6)通过遥控移动(仅TurtleBot,通过Turtlebot的上网本操作)打开Turtlebot开关,状态点亮。启动Turtlebot,在上网本,打开一个新终端,运行如下命令:
roslaunch turtlebot_bringup minimal.launch
启动键盘遥控,在上网本,打开另一个新终端,运行如下命令:
roslaunch turtlebot_teleop keyboard_teleop.launch
击键盘“i”前进。 问题: 启动Turtlebot后会出现Error,可是也可以正常使用 问题是由usb3.0导致
2. XBOX 360操纵杆驱动安装
硬件
xbox360无线游戏杆
xbox360无线游戏杆PC接收器,或叫USB适配器
Linux下的安装XBOX360手柄驱动
sudo apt-add-repository ppa:rael-gc/ubuntu-xboxdrv
sudo apt-get update && sudo apt-get install ubuntu-xboxdrv
手柄和接收器配对过程
- 1、PC接收器连好电脑,并且确保安装好驱动程序
- 2、手柄打开,按中间大圆按钮,俗称西瓜键,如果没有匹配上,灯会闪烁
- 3、按图2手柄前面靠左的小圆按钮,手柄西瓜键灯闪烁旋转,进入匹配状态
- 4、按图2接收器的小圆按钮,手柄灯闪烁也进入匹配状态
- 5、几秒之后自动匹配好,手柄西瓜键灯会亮1/4,接收器也停止闪烁。说明匹配成功。
注意:一个PC接收器最多可以对应4个XBOX360手柄。
Linux下游戏杆的使用一般步骤
1.游戏杆插入到ubuntu PC,检查是否发现设备
ls /dev/input/js*
2.查看是否有显示或jsX,X为数字:
/dev/input/js0
3.测试设备是否可用
sudo jstest /dev/input/js0
显示,移动游戏杆数据会变化:
4.查看权限, ROS的joy node需要访问设备的权限
ls -l /dev/input/js0
显示:
crw-rw-XX- 1 root dialout 188, 0 2009-08-14 12:04 /dev/input/jsX
如果XX是rw: js设备配置正确的
如果xx是--: js设备配置不正确需要更改权限:
sudo chmod a+rw /dev/input/js0
5.配置需要使用的设备,默认是js0:
rosparam set joy_node/dev "/dev/input/js0"
6.启动joy节点
rosrun joy joy_node
7.在新终端下查看joy主题
rostopic echo joy
显示如:
游戏杆控制turtlebot
1.关闭之前所有打开的终端,重新打开启动roscore
$ roscore
2.新终端启动turtlebot
roslaunch turtlebot_bringup minimal.launch
3.新终端设置设备并启动游戏杆遥控支持
rosparam set /joystick/dev "/dev/input/js0"
roslaunch turtlebot_teleop xbox360_teleop.launch
测试使用,按住左边的LB按钮激活游戏杆并同时移动左遥控杆,Turtlebot应该就有反应
3.kinect v1 ros驱动安装
以下2种方式,任选一种即可,当然全部安装也没有问题
1)使用openni_launch
sudo apt-get install ros-kinetic-openni-camera
sudo apt-get install ros-kinetic-openni-launch
注意:openni2_launch已经不再支持Kinect任何产品。
2)使用 freenect_launch
sudo apt-get install ros-kinetic-freenect-camera
sudo apt-get install ros-kinetic-freenect-stack
sudo apt-get install ros-kinetic-freenect-launch
测试安装是否成功:
参考 https://blog.csdn.net/x_r_su/article/details/52904113
1. 如果用openni_launch,命令如下:
roslaunch openni_launch openni.launch
2.如果用freenect_launch,命令如下:
roslaunch freenect_launch freenect.launch
3.测试rgb或者depth
rosrun rqt_image_view rqt_image_view
rosrun rviz rviz
4.如果只是查看特定的输出,可以命令行选择:
rosrun image_view image_view image:=/camera/rgb/image_raw
附件
linux下的MicrosoftXbox360无线游戏杆的按钮及轴和索引号对应关系
- Table of index number of /joy.buttons:
Index |
Button name on the actual controller |
0 |
A |
1 |
B |
2 |
X |
3 |
Y |
4 |
LB |
5 |
RB |
6 |
back |
7 |
start |
8 |
power |
9 |
Button stick left |
10 |
Button stick right |
- Table of index number of /joy.axis:
Index |
Axis name on the actual controller |
0 |
Left/Right Axis stick left |
1 |
Up/Down Axis stick left |
2 |
Left/Right Axis stick right |
3 |
Up/Down Axis stick right |
4 |
RT |
4 |
LT |
6 |
cross key left/right |
7 |
cross key up/down4 |