ROS机器人仿真(五)- 手动控制

无论怎样,有时候我们还是需要手动控制机器人,在 turtlebot_teleop package 里面已经实现了这些功能。
第一步,启动控制器:

sudo apt-get install ros-indigo-joystick-drivers \ 
ros-indigo-turtlebot-teleop

第二步,启动仿真:

 roslaunch rbx1_bringup fake_turtlebot.launch 

第三步,启动rviz:

 rosrun rviz rviz -d `rospack find rbx1_nav`/sim.rviz

1 遥控机器人

1.1使用键盘

使用以下命令启动键盘操作。
roslaunch rbx1_nav keyboard_teleop.launch
然后你会看到这样的信息:


然后按对应的按键,就可以实现对机器人的运动控制。
我们来看这个启动文件,位于 rbx1_nav/launch :



  
    
    
    
  


这里对速度和转向两个参数设定了默认值,对实际机器人进行控制时,要把这个参数设置小一点。

1.2 使用游戏控制板

如果我们有一个游戏手柄,可以使用游戏手柄控制。启动文件为 turtlebot_teleop package内的joystick_teleop.launch 文件。在rbx1_nav/launch 有一份拷过来的备份,可以直接修改使用。
运行命令:
$ roslaunch rbx1_nav joystick_teleop.launch
如果有以下错误:

[ERROR] [1332893303.227744871]: Couldn't open joystick /dev/input/js0. Will retry every second.

说明设备未连接,没有错误就可以按下deadman使用了。
我们还可以编辑deadman按键,在 joystick_teleop.launch 中编辑。



  
  
    
    
    
    
  

  


想要知道数字和按键的对应关系,可以使用以下程序:

$ sudo apt-get install joystick 
$ jstest /dev/input/js0

然后按下那些按键,看哪个会把''off''变成"on"。

1.3 使用仿真GUI控制板

运行命令:
arbotix_gui
就会看到下面这个小的控制板:

ROS机器人仿真(五)- 手动控制_第1张图片
pad

使用有些类型的机器人,还可以在扩展板调节机械臂。

1.4 使用可交互marker控制

Turtlebot meta-package 包含了可以使用rviz来控制机器人的工具,可以直接拖动控制机器人。
安装这个package:
$ sudo apt-get install ros-indigo-turtlebot-interactive-markers
在机器人上尝试使用,运行:
$ roslaunch rbx1_bringup fake_turtlebot.launch
打开rviz:
$ rosrun rviz rviz -drospack find rbx1_nav/interactive_markers.rviz
最后,启动可交互marker:
$ roslaunch rbx1_nav interactive_markers.launch
这个启动文件是从turtlebot_interactive_markers拷贝过来的。

你可能感兴趣的:(ROS机器人仿真(五)- 手动控制)