一:环境准备--针对所有(pc\robot)
1:安装系统 ---Ubuntu
1.1 安装系统
机器人上面,可以用树莓派安装Ubuntu,PC端如果是Windows系统可以在虚拟机里面安装Ubuntu。
ROS Kinetic 只 支持Wily (Ubuntu 15.10), Xenial (Ubuntu 16.04) 和Jessie (Debian 8) 的debian包。
1.2 确认网络
在系统安装完成后,确认网络是否正常。
2:配置 Ubuntu 软件仓库
2.1 添加 sources.list
设置你的电脑可以从 packages.ros.org 接收软件.
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2.2 添加 keys
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
如果你遇到连接到keyserver的问题,你可以在以上命令尝试替换hkp://pgp.mit.edu:80或hkp://keyserver.ubuntu.com:80。
2.3 更新仓库
sudo apt-get update
3:安装软件包
-
桌面完整版: (推荐) : 包含ROS、rqt、rviz、机器人通用库、2D/3D 模拟器、导航以及2D/3D感知
-
sudo apt-get install ros-kinetic-desktop-full
桌面版安装: 包含ROS、rqt、rviz以及通用机器人函数库。
-
sudo apt-get install ros-kinetic-desktop
基础版安装: (简版) 包含ROS核心软件包、构建工具以及通信相关的程序库,无GUI工具。
-
sudo apt-get install ros-kinetic-ros-base
单个软件包安装: 你也可以安装某个指定的ROS软件包(使用软件包名称替换掉下面的PACKAGE):
-
sudo apt-get install ros-kinetic-PACKAGE
sudo apt-get install ros-kinetic-slam-gmapping
-
要查找可用软件包,请运行:
apt-cache search ros-kinetic
4:初始化 rosdep
在开始使用ROS之前你还需要初始化rosdep。rosdep可以方便在你需要编译某些源码的时候为其安装一些系统依赖,同时也是某些ROS核心功能组件所必需用到的工具。
sudo rosdep init
rosdep update
5:环境配置
如果每次打开一个新的终端时ROS环境变量都能够自动配置好(即添加到bash会话中),那将会方便很多:
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
export |grep ROS //查看是否有东西
6:安装构建ROS包的依赖项
到目前为止,你已经安装了运行核心ROS包所需的内容。为了创建和管理自己的ROS工作区,有各种各样的工具和需求分别分布。例如:rosinstall是一个经常使用的命令行工具,它使你能够轻松地从一个命令下载许多ROS包的源树。
要安装这个工具和其他构建ROS包的依赖项,请运行:
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
7:whbot开发软件包编译
把开发的软件包放到所有的PC和机器人里面进行编译
解压
tar -xvf whbot.tar.bz2
cd whbot/whbot_ros/ros_ws
ls
src
编译
catkin_make
ls
build devel src
配置环境变量
source {工作空间所在目录}/whbot/whbot_ros/ros_ws/devel/setup.bash
echo "source {工作空间所在目录}/whbot/whbot_ros/ros_ws/devel/setup.bash" >> ~/.bashrc
二:ROS多机通信
1:pc和car1的网络连接
2:怎么登陆机器人
pcs上使用putty工具远程登录到机器人上
3:域名解析 ---(pc/car1)
sudo vi /etc/hosts
192.168.11.128 ubuntu
192.168.11.1 whbot1
4:相关全局环境变量配置
在pc上
vi ~/.bashrc
//最后一行添加
//添加主机名
export ROS_HOSTNAME=ubuntu
//添加主机IP
export ROS_MASTER_URI='http://192.168.11.228:11311'
在car1上
vi ~/.bashrc
//最后一行添加
source ~/.whbotrc
//添加主机名
export ROS_HOSTNAME=whbot1
//添加主机IP
export ROS_MASTER_URI='http://192.168.11.228:11311'
$ vim ~/.whbotrc
source /opt/ros/kinetic/setup.bash
LOCAL_IP=`ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | awk -F/ '{print $1}'`
export ROS_IP=`echo $LOCAL_IP`
export ROS_HOSTNAME=`echo $LOCAL_IP`
export WHBOT_MODEL=WH4MBOT
export WHBOT_LIDAR=rplidar
export ROS_MASTER_URI=http://`echo $LOCAL_IP`:11311
source /home/whbot/wh4bot/ros_ws/devel/setup.bash
5:两端通信测试---是否通
ping ubuntu (在car1上操作)
ping whbot1 (在pc上测试)
6:ros节点测试-小乌龟---用于测试,可省略
6.1 pc:
roscore //启动ros
另起终端:
export ROS_MASTER_URI=http://ubuntu:11311 //非必需,下面出问题执行这个试一下
rosrun turtlesim turtle_teleop_key //控制键盘的节点
6.2 car1
export ROS_MASTER_URI=http://ubuntu:11311 //非必需,下面出问题执行这个试一下
rosrun turtlesim turtlesim_node //乌龟节点
三:启动运行机器人---运动控制
1:启动机器人电源
2:pc端
roscore //确保这条启动ros命令在运行着
3:car1端
pc上通过putty登陆car1
roslaunch whbot_bringup bringup.launch
pc上通过putty在开窗口登陆car1
roslaunch whbot keyboard_teleop.launch
在pc键盘按上面方向提示键,就可以看到小车机器人在运行
四:其他--模拟导航----如果没有机器人,软件模拟机器人导航
WHBOT内置模拟器,可以直接运行模拟导航
1:pc上通过putty登陆car1
roslaunch whbot_simulator nav.launch
2:pc虚拟机上
roslaunch whbot_navigation view_nav.launch
这样无需小车就可以模拟导航了
五:其他--实际小车建图
1:car1
pc上通过putty登陆car1
roslaunch whbot_navigation gmapping.launch
pc上通过putty再开一个窗口登陆car1
roslaunch whbot keyboard_teleop.launch
2:pc
roslaunch whbot_navigation view_nav.launch
六:其他--实际小车导航
来源:oschina
链接:https://my.oschina.net/u/4270792/blog/3454432