1. 硬件连接与安装
1.1 硬件连接示意图
1.2 安装
PIBOT调试完成后整体交付,只需要安装雷达或者摄像头支架至顶层板即可
- 雷达安装
-
思岚A1
使用M2.5螺丝拧好至固定孔位即可
-
思岚A2/A3
使用M3螺丝拧好至固定孔位即可,不同于A1,A2/A3的固定孔位使得雷达前后调转照样可以按照,遵循ROS的坐标系,规定A2/A3线头执行前方
-
1.3 接线
- 电池分别接到电源板和主板给其供电
- 上位机ROS主板/主机供电,主板分2种,一种为5V供电,另一种为12V的
- 5V供电,通过底板的USB母座提供输出,包括
树莓派3b/3b+
,nanopi(RK3399)
,可参考下面图hades 树莓派 rplidar-A2
- 12V供电,通过底板的USB母座提供输出,包括
Firefly(RK3399)
,X86工控机
,可参考下面图apollo rk3399 rplidar-A1
- 5V供电,通过底板的USB母座提供输出,包括
- 通讯端口
- 下位机的通讯口,主板通过
usb micro
口连接至主机(树莓派/RK3288/RK3399/TK1/TX1/TX2/X86主机
)(下图中黄色USB线) - 雷达通讯口,A1需要连接好串口板后再通过
usb micro
口连接至主机(树莓派/RK3288/RK3399/TK1/TX1/TX2/X86主机
)(下图中黄色USB线)
- 下位机的通讯口,主板通过
STM32F1/F4核心板上也有micro usb口,该口作为核心板供电用,不是通讯端口,无需接线
2. 环境搭建与配置
- PIBOT下位机
Arduino/STM32F1/F4主板 - PIBOT上位机
树莓派/RK3399/X86工控机/TK1/TX1/TX2
等车上的安装ROS的主机 - 用户主机
用户使用的Windows
或者Ubuntu
的PC
2.1 配置
这里用户主机以Windows
主机为例
- 安装
XShell
工具,用于远程登入ROS
上位机,请参考XShell怎么登陆linux树莓派3B/3B+
用户名密码均为pibot
firefly RK3288、RK3399
用户名密码均为firefly
nanopi RK3399
用户名密码均为pi
**
- 使用
Vmware
安装Ubuntu
虚拟机以及,请参考Windows下安装Ubuntu虚拟机及ROS - 安装
Androd App
至手机
2.2 联网配置
PIBOT上位机联网有两类方式,一类是释放释放无线网的,另外一种是需要连接至路由器的
- 释放无线网,(
树莓派3b/3b+
,nanopi(RK3399)
上电后会释放出无线网络,名称和密码为pibot_ap
,这种情况PIBOT上位机固定IP为192.168.12.1
)
ap默认配置打开,如果需要重新配置,只需要执行
cd ~/pibot_ros/third_party/create_ap && ./config_ap.sh && sudo make install && cd ~/pibot_ros && ./pibot_ap.sh start
用户主机通过无线连接该网络
- 不释放无线网,(
firefly(RK3399)
,X86工控机
,TK1
,TX1
,TX2
等需要通过HDMI接口连接显示器,在通过鼠标键盘操作连接至可用的路由器,同时记下PIBOT上位机的IP地址,假定这里获取的为192.168.2.35
)
用户主机通过无线网/有线网连接到该路由器
如需要关闭ap模式,改为连接wifi,只需要执行
cd ~/pibot_ros && ./pibot_ap.sh stop
后重启
如需要打开ap模式, 开启则执行cd ~/pibot_ros && ./pibot_ap.sh start
后重启
对于用户主机Windows需要配置虚拟机网卡连接为桥接模式,保障ubuntu中IP跟主机IP一个网段,且能互相ping通,请参考Windows下安装Ubuntu虚拟机及ROS,桥接网络的配置
2.3 PIBOT代码包编译与配置
拷贝升级或者从git仓库clone代码到主目录,这里PIBOT上位机和用户主机都需要配置和编译
- 复制pibot_ros.tar.bz2至主目录,打开终端输入
tar jxvf pibot_ros.tar.bz2
cd ~/pibot_ros/
git fetch # 拉取最新的代码 需连接外网
git pull
# ros2 需要切换到ros分支,如 git checkout -b galactic-devel origin/galactic-devel
./pibot_init_env.sh #这里根据提示输入小车类型,控制板类型,雷达类型,Machine类型
source ~/.bashrc
如果是车型为
hades
雷达类型rplidar
, PIBOT上位机端(树莓派/RK3399等)和用户主机(虚拟机)配置分别如下
PIBOT上位机
用户主机(虚拟机)
- 编译
分别在 PIBOT上位机(树莓派/RK3399等)和用户主机(虚拟机)编译
cd ~/pibot_ros/ros_ws/
catkin_make # ros2 为 pbmake
source ~/.bashrc
3. 建图与导航测试
3.1 测试硬件连接
- a.在用户主机通过
ssh
连接PIBOT上位机 输入命令ls /dev/pibot -l
检查主板是否连接
正常连接输出如下图
- b.继续输入
ls /dev/ydlidar -l
或者ls /dev/rplidar -l
(eai输入前者,思岚A1/A2/A3输入后者),检查激光雷达是否连接
3.2 建图
- a.在用户主机通过
ssh
连接PIBOT上位机, 输入运行pibot_gmapping
收到最后输出odom receiced
表示正常
pibot_gmapping
和pibot_view
在ROS1/2分别对应下面的命令
- ROS1
roslaunch pibot_navigation gmapping.launch
roslaunch pibot_navigation view_nav.launch
- ROS2
ros2 launch pibot_navigation mapping.launch.py
rviz2 -d ${PIBOT_HOME}/ros_ws/src/pibot_navigation/rviz/nav2_default_view.rviz
- b.在用户主机的
UBUNTU
虚拟机终端,输入pibtt_view
启动RViz
节点,查看地图
- c. 在用户主机通过
ssh
连接PIBOT上位机,输入pibot_control
启动控制节点,根据提示输入q/z
增减速度,输入i/,
控制前进后退,输入j/l
控制左转右转。控制小车在房间移动,同时观察虚拟机中地图构建情况
pibot_control
和pibot_joystick
在ROS1/2分别对应下面的命令
- ROS1
roslaunch pibot keyboard_teleop.launch
roslaunch pibot joystick.launch
- ROS2
ros2 launch pibot_bringup keyboard_teleop_launch.py
ros2 launch pibot_bringup joystick_launch.py joy_config:=joystick
3.3 保存地图
- 在用户主机通过
ssh
连接PIBOT上位机,输入pibot_save_map
pibot_save_map
在ROS1/2分别对应下面的命令
- ROS1
roslaunch pibot_navigation save_map.launch
roslaunch pibot_navigation save_map.launch map_name:=xxx
roscd pibot_navigation/maps/ && rosrun map_server map_saver -f xxx
- ROS2
ros2 launch pibot_navigation save_map.launch.py
ros2 launch pibot_navigation save_map.launch.py map:=xxx
3.4 导航
- a.接上面,继续输入运行
pibot_navigation
启动导航节点,收到最后输出odom receiced
表示正常(xxx
为之前新建好的地图名称)
这里需要先退出gmapping建图
pibot_naviagtion
在ROS1/2分别对应下面的命令
- ROS1
roslaunch pibot_navigation nav.launch
roslaunch pibot_navigation nav.launch map_name:=xxx.yaml
- ROS2
ros2 launch pibot_navigation navigation2.launch.py
ros2 launch pibot_navigation navigation2.launch.py map:=xxx
- b.在控制PC中,输入
pibot_view
启动RViz
节点,查看地图 - c.在
RViz
中,设置小车当前位置和方向
- d.在
RViz
中,设置小车目标位置和方向,即可开始导航
3.5 Android手机APP
连接与PIBOT上位机同一路由器(
树莓派
/nanopi rk3399
则为其释放热点pibot_ap
),开启建图或者导航程序
安装好apk
(网盘/源码/Android App
目录)至手机,打开程序,修改为PIBOT上位机的IP,点击CONNECT
可以显示地图、设置位置和设置目标点、显示视频和控制行走
*显示视频需要在PIBOT上位机连接摄像头以及开启相关程序
- usb 摄像头
roslaunch pibot usb_camera.launch
3.6 模拟器
PIBOT包内置了模拟器,可以直接运行模拟导航
模拟器需要配置为车载主机模式
- 运行
pibot_simulator
或者roslaunch pibot_simulator nav.launch
- 运行
pibot_simulator
或者roslaunch pibot_navigation view_nav.launch
这样无需小车也可以模拟导航了