1. 如何配置环境

本节介绍如何在Ubuntu 16.04上安装ros并配置HandsFree程序,HandsFree支持ROS的indigo版本和Kinetic,ubuntu14.04上只支持indigo,ubuntu16.04上只支持kinetic,可以参考ROS 官方安装教程

1.1. 一键安装脚本

如果你是HandsFree平台的用户,你安装完ubuntu系统后,可以通过运行我们提供的一键安装脚本来配置系统开发环境、安装ROS、和安装HandsFree的ROS程序。你可以根据使用系统的版本来选择下列的一键安装脚本。Tips:正常情况下,我们是安装配置好环境发货的,此一键安装脚本,是为了方便HandsFree用户自己开发研究。

Tips查看系统版本命令 : cat /etc/os-release

如果你的系统版本是ubuntu16.04,安装HandsFree kinetic: (推荐安装ubuntu16.04)

cd ~
wget https://raw.githubusercontent.com/HANDS-FREE/handsfree/master/Documentation/auto_install_all_ubuntu16.04.sh
bash auto_install_all_ubuntu16.04.sh

如果你的系统版本是ubuntu14.04,那么安装HandsFree indigo:

cd ~
wget https://raw.githubusercontent.com/HANDS-FREE/handsfree/master/Documentation/auto_install_all_ubuntu14.04.sh
bash auto_install_all_ubuntu14.04.sh

一键安装脚本执行成功后,可以直接跳过下一步的"一步步安装",直接进入测试部分,如果安装过程中失败或者测试失败,则按照"一步步安装"教程重新安装。

1.2. 一步步安装

为了方便用户开发理解和防止以上一键安装脚本失败的情况,我们这里也提供一步步安装的方法。

1.2.1. 安装操作系统(此处略 ubuntu16.04)

1.2.2. 下载HandsFree的代码

sudo apt-get update
sudo apt-get install -y git
mkdir -p ~/handsfree/handsfree_ros_ws/
cd ~/handsfree/handsfree_ros_ws/
echo 设置 HandsFree 安装路径为: ~/handsfree
git clone https://github.com/HANDS-FREE/handsfree.git src
cd ~/handsfree/handsfree_ros_ws/src/Documentation
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo cp ./sources_ubuntu_16_04.list /etc/apt/sources.list
sudo apt-get update

1.2.3. 安装ROS

此步骤也可以按照官方教程来,ROS 官方安装教程

如果你的系统版本是ubuntu16.04:(其中可能需要管理员密码)

cd cd ~/handsfree/handsfree_ros_ws/src/Documentation/script
bash ros_kinetic_base.sh

如果你的系统版本是ubuntu14.04:(其中可能需要管理员密码)

cd cd ~/handsfree/handsfree_ros_ws/src/Documentation/script
bash ros_indigo_base.sh

安装结束后,关闭终端,测试一下,在终端中分别运行:

roscore

rosrun turtlesim turtlesim_node

如果出现了小乌龟,说明安装成功啦。

1.2.4. 安装ROS常用第三方包

安装完最基本的ROS,还是不够,很多常用的ROS的第三方包还需要自己手动安装。

如果你的系统版本是ubuntu16.04:

cd cd ~/handsfree/handsfree_ros_ws/src/Documentation/script
bash ros_kinetic_ext.sh

如果你的系统版本是ubuntu14.04:

cd cd ~/handsfree/handsfree_ros_ws/src/Documentation/script
bash ros_indigo_ext.sh

1.2.5. 安装HandsFree ROS包

source ~/.bashrc 
cd ~/handsfree/handsfree_ros_ws/src/
catkin_init_workspace
catkin_make
echo "source ~/handsfree/handsfree_ros_ws/devel/setup.sh" >> ~/.bashrc
source ~/.bashrc

HandsFree 相关程序已经安装完毕 安装路径为:~/handsfree

1.2.6. 设置HandsFree环境变量

打开用户bashrc

gedit .bashrc

找到环境变量**HANDSFREE_ROBOT_MODEL**,把HANDSFREE_ROBOT_MODEL设置成你的机器人模型
### MODEL type [mini, stone_v2, stone_v3, giraffe]
export HANDSFREE_ROBOT_MODEL=stone_v3

1.3. 测试

安装成功后可以使用USB连接到机器人,然后执行:

roslaunch handsfree_hw handsfree_hw.launch

如果一切正常,会显示:

auto-starting new master
process[master]: started with pid [9562]
ROS_MASTER_URI=http://Robot:11311

setting /run_id to ffa41cce-05bd-11e8-8df0-001e64f02337
process[rosout-1]: started with pid [9575]
started core service [/rosout]
process[handsfree_hw_node-2]: started with pid [9585]
process[mobile_base/controller_spawner-3]: started with pid [9589]
process[robot_state_publisher-4]: started with pid [9591]
[ERROR] [1517317423.863958024]: hf link initialized failed, please check the hardware
[INFO] [WallTime: 1517317424.295263] Controller Spawner: Waiting for service controller_manager/load_controller
[INFO] [WallTime: 1517317424.298319] Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [WallTime: 1517317424.301498] Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [WallTime: 1517317424.304670] Loading controller: joint_state_controller
[INFO] [WallTime: 1517317424.351596] Loading controller: servo1_position_controller
[INFO] [WallTime: 1517317424.399306] Loading controller: servo2_position_controller
[INFO] [WallTime: 1517317424.419282] Loading controller: mobile_base_controller
[INFO] [WallTime: 1517317424.469234] Controller Spawner: Loaded controllers: joint_state_controller, servo1_position_controller, servo2_position_controller, mobile_base_controller
[INFO] [WallTime: 1517317424.479183] Started controllers: joint_state_controller, servo1_position_controller, servo2_position_controller, mobile_base_controller

打开新的终端,继续执行:

roslaunch handsfree_hw keyboard_teleop.launch

来遥控机器人行走。

如果如上图显示,则说明连接成功,如果出现err或timeout,请参考常见问题

Copyright © 深圳朝闻道智能信息科技有限公司 2018 all right reserved,powered by Gitbook该文件修订时间: 2018-12-28 17:28:53

results matching ""

    No results matching ""