PIBOT使用手册-主机Ubuntu, 车载上位机树莓派/nanopi

1. 硬件连接与安装

1.1 硬件连接示意图

硬件连接示意图

1.2 安装

PIBOT调试完成后整体交付,只需要安装雷达或者摄像头支架至顶层板即可

  • 雷达安装
    • 思岚A1
      使用M2.5螺丝拧好至固定孔位即可


      rplidar_A1.png
    • 思岚A2/A3
      使用M3螺丝拧好至固定孔位即可,不同于A1,A2/A3的固定孔位使得雷达前后调转照样可以按照,遵循ROS的坐标系,规定A2/A3线头执行前方


      rplidar_A2.png

1.3 接线

  • 电池分别接到电源板和主板给其供电
  • 上位机ROS主板/主机供电,主板分2种,一种为5V供电,另一种为12V的
    • 5V供电,通过底板的USB母座提供输出,包括树莓派3b/3b+, nanopi(RK3399),可参考下面图hades 树莓派 rplidar-A2
    • 12V供电,通过底板的USB母座提供输出,包括Firefly(RK3399),X86工控机,可参考下面图apollo rk3399 rplidar-A1
  • 通讯端口
    • 下位机的通讯口,主板通过usb micro口连接至主机(树莓派/RK3288/RK3399/TK1/TX1/TX2/X86主机)(下图中黄色USB线)
    • 雷达通讯口,A1需要连接好串口板后再通过usb micro口连接至主机(树莓派/RK3288/RK3399/TK1/TX1/TX2/X86主机)(下图中黄色USB线)

STM32F1/F4核心板上也有micro usb口,该口作为核心板供电用,不是通讯端口,无需接线

hades 树莓派 rplidar-A2

2. 环境搭建与配置

硬件列表

  • PIBOT下位机
    Arduino/STM32F1/F4主板
  • PIBOT上位机
    树莓派/Nanopi
  • 用户主机
    Ubuntu的PC

2.1 联网配置

  • 树莓派上电后会释放名字为pibot_ap的无线网,该无线网密码也为pibot_ap, 树莓派IP固定为192.168.12.1
  • Ubuntu主机连接到pibot_ap无线网,打开终端输入ifconfig查看ip,可以得到192.168.12.xx即可

2.2 配置小车端环境

# 打开新终端, 远程登入小车  根据提示输入密码pibot
ssh pibot@192.168.12.1 # nanopi则为ssh pi@192.168.12.1 密码为pi
cd ~/pibot_ros

# 同步最新代码  需要使用用户名密码
git pull  

#这里根据提示输入小车类型,控制板类型,雷达类型,Machine类型(选0),如下图
./pibot_init_env.sh 
source ~/.bashrc
cd ~/pibot_ros/ros_ws/

# 编译PIBOT
catkin_make
source ~/.bashrc
pibot_init_env

2.3 配置ubuntu主机环境

复制pibot_ros.tar.bz2至主目录,打开终端输入

# 打开新终端
cd ~

# 解压
tar jxvf pibot_ros.tar.bz2

cd ~/pibot_ros
#这里根据提示输入小车类型,控制板类型,雷达类型,Machine类型(选1), 小车IP(192.168.12.1)如下图
./pibot_init_env.sh 

source ~/.bashrc
cd ~/pibot_ros/ros_ws/

# 编译PIBOT
catkin_make
source ~/.bashrc
pibot_init_env

2.4. 安装Andriod App至手机

3. 建图与导航测试

3.1 测试硬件连接

  • a. 在用户主机通过ssh连接PIBOT上位机 输入命令ls /dev/pibot -l检查主板是否连接
# 打开新终端, 远程登入小车
ssh pibot@192.168.12.1 # 根据提示输入密码`pibot`
ls /dev/pibot -l
not connected

正常连接输出如下图

controller ok

  • b.继续输入ls /dev/ydlidar -l或者ls /dev/rplidar -l(eai输入前者,思岚A1/A2/A3输入后者),检查激光雷达是否连接

3.2 建图

  • a.在用户主机通过ssh连接PIBOT上位机, 输入运行pibot_gmapping或者roslaunch pibot_navigation gmapping.launch启动建图节点,收到最后输出odom receiced表示正常
# 打开新终端, 远程登入小车  根据提示输入密码pibot
ssh pibot@192.168.12.1 # nanopi则为ssh pi@192.168.12.1 密码为pi
pibot_gmapping # 或者roslaunch pibot_navigation gmapping.launch
  • b.在用户主机UBUNTU虚拟机终端,输入pibot_view或者roslaunch pibot_navigation view_nav.launch启动RViz节点,查看地图
# 打开新终端
pibot_view # 或者roslaunch pibot_navigation view_nav.launch
  • c. 在用户主机通过ssh连接PIBOT上位机,输入pibot_control或者roslaunch pibot keyboard_teleop.launch启动控制节点,根据提示输入q/z增减速度,输入i/,控制前进后退,输入j/l控制左转右转。控制小车在房间移动,同时观察虚拟机中地图构建情况
# 打开新终端, 远程登入小车
pibot_control # 或者roslaunch pibot keyboard_teleop.launch

3.3 保存地图

  • 用户主机通过ssh连接PIBOT上位机,输入
# 打开新终端, 远程登入小车  根据提示输入密码pibot
ssh pibot@192.168.12.1 # nanopi则为ssh pi@192.168.12.1 密码为pi
roscd pibot_navigation/maps

#(xxx)为设置新建好的地图名称
rosrun map_server map_saver -f xxx #或者roslaunch pibot_navigation save_map.launch map_name:=xxx
save_map

3.4 导航

Ctrl+C退出所有的程序和终端

  • a.在用户主机通过ssh连接PIBOT上位机,输入运行pibot_navigation或者roslaunch pibot_navigation nav.launch map_name:=xxx.yaml启动导航节点,收到最后输出odom receiced表示正常(xxx为之前新建好的地图名称)
# 打开新终端, 远程登入小车  根据提示输入密码pibot
ssh pibot@192.168.12.1 # nanopi则为ssh pi@192.168.12.1 密码为pi

#`xxx`为之前新建好的地图名称
pibot_navigation # 或者roslaunch pibot_navigation nav.launch map_name:=xxx.yaml
  • b.在用户主机中,输入pibot_view或者roslaunch pibot_navigation view_nav.launch启动RViz节点,查看地图
# 打开新终端
pibot_view # 或者roslaunch pibot_navigation view_nav.launch
  • c.在RViz中,设置小车当前位置和方向
    2D Pose Estimate
  • d.在RViz中,设置小车目标位置和方向,即可开始导航
    2D Nav Goal

3.5 Android手机APP

手机连接无线网pibot_ap,密码也为pibot_ap,执行上面 3.2 建图或者3.4 导航

安装好apk(网盘/源码/Android App目录)至手机,打开程序,修改为PIBOT上位机的IP(192.168.12.1),点击CONNECT


可以显示地图、设置位置和设置目标点、显示视频和控制行走

显示视频需要在PIBOT上位机*连接摄像头以及开启相关程序

  • usb 摄像头(不包括kinect等深度摄像头)
    # 打开新终端, 远程登入小车  根据提示输入密码pibot
    ssh pibot@192.168.12.1 # nanopi则为ssh pi@192.168.12.1 密码为pi
    
    roslaunch pibot usb_camera.launch