# 华力SLAM AGV-疯狗 # 两轮差速测试版底盘,实现slam技术积累。 ## 组件 ## - 森创驱动器 - keli雷达\R2000雷达 - ACR控制器 - moxa WiFi - 稳信i7工控机 - 罗技摇控手柄F710 ## 安装Ubuntu ## 在远程PC(台式机或笔记本电脑)中安装 系统版本Ubuntu 16.04.1: [下载ubuntu 16.04](https://www.ubuntu.com/download/desktop) [ubuntu 16.04安装说明](https://www.ubuntu.com/download/desktop/install-ubuntu-desktop) 配置host $sudo vi /etc/hosts 添加github ip host 199.232.28.133 raw.githubusercontent.com 修改系统软件源 由于Ubuntu软件源默认下载服务器为外网,下载速度较慢,因此常常需要修改下载源,修改源有图形界面修改和文件修改两种方式,且二者相通,即采用一种方式修改后,另一方也随之发生改变,因此不必纠结采用哪种方法。 ## 脚本安装ROS-kinetic: ## $ wget https://raw.githubusercontent.com/oroca/oroca-ros-pkg/kinetic/ros_install.sh && chmod 755 ./ros_install.sh && bash ./ros_install.sh catkin_ws kinetic 如果不能顺利安装,可以参考源码安装方式 ## 源码安装ROS-kinetic: ## 安装源 $ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' 或来自中国的源: $ sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list' 增加key $ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 更新 $ sudo apt-get update 安装,这里介绍Desktop-Full安装: (Recommended) : ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception $ sudo apt-get install ros-kinetic-desktop-full 解决依赖 $ sudo rosdep init $ rosdep update 环境设置 $ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc $ source ~/.bashrc 安装rosinstall,便利的工具 $ sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential ## 安装AGV及依赖包: ## 安装AGV依赖包: $ sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy ros-kinetic-teleop-twist-keyboard ros-kinetic-laser-proc ros-kinetic-rgbd-launch ros-kinetic-depthimage-to-laserscan ros-kinetic-rosserial-arduino ros-kinetic-rosserial-python ros-kinetic-rosserial-server ros-kinetic-rosserial-client ros-kinetic-rosserial-msgs ros-kinetic-amcl ros-kinetic-map-server ros-kinetic-move-base ros-kinetic-urdf ros-kinetic-xacro ros-kinetic-compressed-image-transport ros-kinetic-rqt-image-view ros-kinetic-gmapping ros-kinetic-navigation ros-kinetic-interactive-markers ros-kinetic-joystick-drivers ros-kinetic-tf2-bullet ros-kinetic-teb-local-planner 安装AGV源码 $ cd ~/catkin_ws/src/ $ git clone http://118.190.119.18/HuaLi/agv_ros.git $ cd ~/catkin_ws && catkin_make 环境设置 $ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc 如果catkin_make完成没有任何错误,使用AGV的准备将完成。 ## 网络配置 ## ROS需要IP地址在AGV和远程PC之间进行通信 分别在AGV和PC,执行如下命令获得对应的IP地址: $ ifconfig 修改.bashrc $ vi ~/.bashrc AGV配置如下: ROS_MASTER_URI = http://ip_of_agv:11311 ROS_HOSTNAME = ip_of_agv PC配置如下: ROS_MASTER_URI = http://ip_of_agv:11311 ROS_HOSTNAME = ip_of_pc ROS_MASTER 运行在远程AGV上。 让环境生效: $ source ~/.bashrc ## Ubuntu/ROS获取串口权限 ## 创建ttyUSB权限规则文件etc/udev/rules.d/70-ttyS.rules $ sudo vi -p /etc/udev/rules.d/70-ttyS.rules 在70-ttyS.rules文件中写入下列代码: `KERNEL=="ttyS*", OWNER="root", GROUP="root", MODE="0666"` 保存即可,重启或注销用户在登录后生效 ## Ubuntu/ROS获取摇控权限 ## 创建ttyUSB权限规则文件etc/udev/rules.d/70-js0.rules $ sudo vi -p /etc/udev/rules.d/70-js0.rules 在70-js0.rules文件中写入下列代码: `KERNEL=="/dev/input/js0*", OWNER="root", GROUP="root", MODE="0666"` 保存即可,重启或注销用户在登录后生效 ## 源码安装 ## 创建catkin_ws文件夹,进入catkin_ws文件夹再创建src文件夹。 把`.\scripts\install_src.sh`放到`src`,添加执行权限,执行`install_src.sh`文件。 回到catkin_ws,执行`catkin_make`命令编译。 ## 配置激光雷达网络 ## 编辑激光雷达网口对应的网络,ip4为手动,ip6忽略 - address: 10.8.117.131 - netmask: 24 - gateway: 空 - dns: 空 ## 配置ACR网络 ## 编辑ACR网口对应的网络,ip4为手动,ip6忽略 - address: 7.7.7.77 - netmask: 24 - gateway: 空 - dns: 空 R2000雷达可在雷达设备上配置网络信息;keli雷达需连接USB口,使用PC软件配置网络信息 ## cartographer 安装 ## 请参考`.\docs\cartographer_install_guide.md`文档。