12376| 2
|
[HCRbot系列教程] HCRbot 系列 3──HCRbot 上位机 PC 端软件设置 |
这是HCRbot系列的第3篇。 下面是目前已经写好的所有篇章链接: 这一节主要讲 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` 软件里面修改,如下图: 其他网络用户,可以参考[Ubuntu镜像源](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,安装方法非常简单: [mw_shl_code=bash,true]sudo apt-get install ros-kinetic-realsense-camera[/mw_shl_code] 这一步安装成功的包,在驱动 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 运行在远程主机上。 [Remote PC] 编辑 .bashrc 文件: gedit ~/.bashrc 请将 ROS_MASTER_URI 和 ROS_HOSTNAME 中的IP地址设置为本机地址,如下图所示: [Remote PC] source .bashrc文件: source ~/.bashrc 至此,远程上位机设置就结束啦。 ## 参考
未完待续…… |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed