初探Turtlebot2

1. kobuki ros驱动安装

1)硬件连接示意图,硬件连接接口都有防误插,连接到kobuki上的如图所示,一个为kinect12V 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

猜你喜欢

转载自blog.csdn.net/qq_43176116/article/details/88614360
今日推荐