1. 准备开始

这部分我们将介绍如何使用机器人端工控机(或PC)对机器人进行控制。通过控制机器人的测试,我们可以验证工控机的ROS环境和HandsFree的环境是否配置正确、机器人嵌入式系统是否工作正常、机器人嵌入式系统层和PC端ROS层的通讯是否正常等问题。

  • 第一讲: HandsFree机器人系统安装和环境配置。视频地址

1.1. 工控机环境配置

如果购买了HandsFree带工控机的机器人套餐,则系统环境都已经由官方配置完成了,请略过"工控机环境配置"这一步。 如果购买的是不带工控机的机器人套餐,用户需要使用自己的工控机或者笔记本电脑替代我们提供的工控机,则按照环境配置教程配置HandsFree运行需要的环境

Tips: 下一步操作前请确认HandsFree的环境变量。

gedit .bashrc
找到环境变量**HANDSFREE_ROBOT_MODEL**
把HANDSFREE_ROBOT_MODEL设置成你的机器人模型,2018.8月以后买到的stone为stone_v3,8月之前的为stone_v2.

1.2. 启动机器人

将工控机的USB口和机器人的航空插座通过USB转航空插头的线将两者相连,连接屏幕与键鼠,然后连接工控机与电源,最后上电,开机。
此时可以听到主控的一声蜂鸣器鸣叫声。确保工控机与机器人连接正常、工控机开机正常。然后开始下一步操作。

1.3. 启动机器人抽象节点

在工控机上打开一个终端,并运行:

roslaunch handsfree_hw handsfree_hw.launch

正常情况下,会显示:

started core service [/rosout]
process[handsfree_hw_node-2]: started with pid [7400]
process[mobile_base/controller_spawner-3]: started with pid [7405]
process[robot_state_publisher-4]: started with pid [7408]
the configure file path is: /home/kedou/ros_workspace/mobile_robot_ws/src/handsfree/handsfree_hw/config.txt
transport initialize ready
config file opened succeed
[INFO] [WallTime: 1527575549.385475] Controller Spawner: Waiting for service controller_manager/load_controller
[INFO] [WallTime: 1527575549.388362] Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [WallTime: 1527575549.391300] Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [WallTime: 1527575549.395222] Loading controller: joint_state_controller
[INFO] [WallTime: 1527575549.413541] Loading controller: pitch_position_controller
[INFO] [WallTime: 1527575549.453398] Loading controller: yaw_position_controller
[INFO] [WallTime: 1527575549.483493] Loading controller: mobile_base_controller
[INFO] [WallTime: 1527575549.523318] Controller Spawner: Loaded controllers: joint_state_controller, pitch_position_controller, yaw_position_controller, mobile_base_controller
[INFO] [WallTime: 1527575549.536325] Started controllers: joint_state_controller, pitch_position_controller, yaw_position_controller, mobile_base_controller

该条命令打开了机器人抽象节点,该节点的作用是完成PC与机器人底层的通讯和相关指令与数据传输。运行结果如上图,若出现timeout的问题,则说明该节点运行不成功。失败请参考常见问题及解答

当这一步没有问题时,说明硬件方面正常,可以进行下一步了。

1.4. 打开控制节点

打开一个新的终端,并运行:

roslaunch handsfree_hw keyboard_teleop.launch

正常情况下,会显示:

ROS_MASTER_URI=http://Robot:11311

core service [/rosout] found
process[turtlebot_teleop_keyboard-1]: started with pid [9903]

Control Your Turtlebot!
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .

q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
space key, k : force stop
anything else : stop smoothly

CTRL-C to quit

currently:    speed 0.2    turn 1

该条命令打开键盘控制节点,按照终端中的提示,我们就可以利用键盘控制机器人运动。如果一切正常的话,你可以和移动ROS小乌龟一样,用键盘控制移动底盘运动了。到此,完成ROS控制机器人功能的实现,如果一切正常的话,说明移动底盘的软硬件没有问题,ROS端机器人抽象节点也没有问题。
但是由于工控机在机器人上,我们只能跟着机器人跑来跑去。不用担心,我们马上在下个教程就能实现远程遥控机器人这个功能。

Copyright © 深圳朝闻道智能信息科技有限公司 2018 all right reserved,powered by Gitbook该文件修订时间: 2019-01-30 19:27:27

results matching ""

    No results matching ""