HCRbot 系列 3──HCRbot 上位机 PC 端软件设置
这是HCRbot系列的第3篇。下面是目前已经写好的所有篇章链接:
[*]HCRbot系列1──HCRbot简介
[*]HCRbot系列2──HCRbot硬件介绍与设置
[*]HCRbot系列3──HCRbot PC端软件设置
这一节主要讲 HCRbot 的PC端软件设置。
HCRbot 远程端 PC 采用的是 Ubuntu 16.04 LTS 的系统,所以对应的 ROS 版本为 Kinetic,下文不做特殊说明,都是在 Ubuntu 16 和 ROS Kinetic 上进行开发。
## 安装 Ubuntu 及相关软件
### 安装 Ubuntu
从下面的连接下载 Ubuntu 16.04 LTS:
https://www.ubuntu.com/download/desktop
安装方法请参考下面的链接:
https://www.ubuntu.com/download/desktop/install-ubuntu-desktop
### 更改 Ubuntu 软件源
由于国内的网络环境会导致 Ubuntu 下载软件或者更新比较慢,所以我们要更改 Ubuntu 的默认的软件源,提高下载速度。软件源文件路径为: /etc/apt/sources.list 。
针对教育网用户,参考中科大Ubuntu软件源,已为您准备好USTC中科大的软件源: sources_ustc.list ,请将 sources_ustc.list 复制到 /etc/apt/sources.list 目录下。
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo rm /etc/apt/sources.list
sudo cp sources_ustc.list /etc/apt/sources.list
或者也可以直接在 Ubuntu 的 `Software & Updates` 软件里面修改,如下图:
其他网络用户,可以参考(https://wiki.ubuntu.org.cn/%E6%A8%A1%E6%9D%BF:16.04source-链接已失效)更改为其他的源。
最后执行更新:
sudo apt-get update
sudo apt-get upgrade
### 安装 SSH
安装 SSH 很简单,在终端执行下面的命令就行:
sudo apt-get install openssh-client
sudo service ssh start
然后就可以使用 SSH 了,是不是很简单!
更加详细的介绍以及安装方法,可以参考:
Ubuntu下开启ssh服务:https://hahaya.github.io/ubuntu-start-ssh-service
### 其他软件
其他常用的 Ubuntu 软件,之后会有专门一个章节来讲解我自己常用的软件安装方法,这一节只关注 ROS 相关内容。
## 安装 ROS 及相关包
### 安装 ROS
#### 方法一:一键脚本安装(推荐)
可以使用一件脚本安装: install_ros_kinetic.sh 。这个文件已经根据 turtlebot 3 上的 wiki 脚本做了一些修改,可以方便快速的安装 ROS 到你的电脑上。
wget https://raw.githubusercontent.co ... tall_ros_kinetic.sh
chmod +x ./install_ros_kinetic.sh
bash ./install_ros_kinetic.sh
等待安装完成,如果遇到错误,重新运行以上脚本就行。
注意:中间过程可能会让你输入密码,请根据提示输入密码。
这个脚本中设置了一些快捷键,方便后续 ROS 代码的编译,比如在终端中可以用缩写 cm 代替 catkin_make 命令来编译 ROS 包了。
#### 方法二:手动安装
可以参考 ROS 官方的安装方法,一步一步进行安装:
### 安装 HCRbot 的 ROS 依赖包
在后面的教程中,比如使用 Xbox 360 手柄去控制机器人运动,或者建图、导航等,会用到一些其他的 ROS 包,这里为了方便,就一次性安装了:
wget https://raw.githubusercontent.co ... pendent_packages.sh
chmod +x ./install_ros_dependent_packages.sh
bash ./install_ros_dependent_packages.sh
具体安装了哪些包,可以参见 install_ros_dependent_packages.sh 文件。
### 安装 rplidar_ros 包
rplidar_ros 是激光雷达 RPLIDAR A2 的 ROS 驱动包,通过这个包可以获得激光雷达的扫描数据。详细介绍请查看 ROS 官方 wiki:https://wiki.ros.org/rplidar
cd ~/catkin_ws/src
git clone https://github.com/robopeak/rplidar_ros.git
cd ~/catkin_ws
catkin_make
### 安装 RealSense ROS 包
这一步主要安装 RealSense R200 的 ROS 驱动包,参考官方 realsense_camera wiki,安装方法非常简单:
sudo apt-get install ros-kinetic-realsense-camera
这一步安装成功的包,在驱动 R200 摄像头的时候可能会出现问题,根据官方 wiki 说明,需要 对udcvideo驱动打补丁。
具体操作可以参考上述 wiki。
### 安装 hcr_ros 包
可以从我的 github 上下载 hcr_ros 包。这部份代码正在逐步完善和添加中,之后有时间我会添加更多案例代码进去。
cd ~/catkin_ws/src/
git clone https://github.com/chenzhongxian/hcr_ros.git
cd ~/catkin_ws && catkin_make
## USB 权限与别名设置
我们在使用 USB 串口相关的包的时候,有时候会发现串口号不对,比如有时候串口号是 ttyACM0 ,有时候又是 ttyACM1 。如果每次去手动更改的话,很麻烦的,那有没有方法可以让他自动识别呢?
方法是有的,我们可以给每个连接串口设备一个别名,那么在 ROS 程序中,我们只要去连接这个别名就好。比如 OpenCR 这块开发板的串口号为 ttyACM* ,我们给他起个别名叫 opencr ,那么以后每次只要连接 opencr 的串口号就行了。
具体方法可以参考:Prevent modem manager to capture usb serial devices
这里我给大家提供了一种简便的方法,找到 99-opencr-cdc.rules 和 rplidar.rules 文件,执行如下命令:
cp 99-opencr-cdc.rules /etc/udev/rule.d/
cp rplidar.rules /etc/udev/rule.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
上述命令分别给 OpenCR 板子和 RPLIDAR 设置了别名: opencr 和 rplidar 。
## ROS 通信设置
我们将 ROS Master 运行在远程主机上。
编辑 .bashrc 文件:
gedit ~/.bashrc
请将 ROS_MASTER_URI 和 ROS_HOSTNAME 中的IP地址设置为本机地址,如下图所示:
source .bashrc文件:
source ~/.bashrc
至此,远程上位机设置就结束啦。
## 参考
[*]Turtlebot 3 wiki:PC Software Setup:
[*]https://turtlebot3.readthedocs.io/en/latest/pc_software.html(false)
[*]Prevent modem manager to capture usb serial devices;https://linux-tips.com/t/prevent ... erial-devices/284/2(链接失效)
[*]Ubuntu下开启ssh服务:
[*]https://hahaya.github.io/ubuntu-start-ssh-service
[*]对udcvideo驱动打补丁:https://wiki.ros.org/librealsense#Installation_Prerequisites
未完待续……
继续前排围观大神 跪了, 专门为HCR写了一个ROS包...
页:
[1]