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

如题所述

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

第二步,启动仿真:

第三步,启动rviz:

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

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

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

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

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

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

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

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

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

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