玩转树莓派ROS自主导航机器人ROS机器人操作系统

PIBOT用户手册

2017-12-18  本文已影响2435人  PIBOT导航机器人

目录

1. 概述

1.1PIBOT

apollozeushadeshera是PIBOT工作室专门针对ROS开发的移动差分两轮小车、全向三轮小车、全向四麦克纳姆轮小车和差分四轮驱动小车

主要应用

应用场景

室内平坦地面

外观图

apollo-点击我查看详情

zeus-点击我查看详情

hades-点击我查看详情

hera-点击我查看详情

淘宝链接

apollo
zeus
hades
hera

相关资料

链接:https://pan.baidu.com/s/1kENjOvblWX6ie29CgUPzUQ 密码:mltf

1.2软件支持

image

1.3硬件清单

apollo

主要机械部件:

2d-2.png 2d-3.png 2d-4.png

zeus

主要机械部件:

hades

主要机械部件:

1.4安装手册&操作手册

PIBOT操作手册
apollo安装手册
zeus安装手册
hades安装手册

2. 下位机开发

小车出厂已经刷好固件程序和设置好配置,无需关心下位机嵌入式程序的可以跳过本节

2.1概述

2.2环境搭建

Arduino

具体请参考Visual Studio Code插件PlatformIO IDE开发Arduino

STM32F1

具体请参考PIBOT的STM32F1的环境配置与编译

STM32F4

具体请参考PIBOT的ubuntu下stm32 C/C++模版及配置编译

环境配置

Arduino

使用Visual studio code打开附带下位代码文件夹,在platformio.ini修改相应模型以及使用的电机控制器
apollo

models =
    -D ROBOT_MODEL=ROBOT_MODEL_DIFF
    -D MOTOR_CONTROLLER=COMMON_CONTROLLER

zeus

models =
    -D ROBOT_MODEL=ROBOT_OMNI_3
    -D MOTOR_CONTROLLER=COMMON_CONTROLLER

STM32

STM32F1

123.png

Arduino

STM32F4

param.mk的修改相关配置,同Arduino

2.3代码分析

具体请参考ROS机器人底盘(7)-Firmware的代码分析(1)
ROS机器人底盘(8)-Firmware的代码分析(2)

2.4参数配置

运动参数出厂时都内置在板子的EEPROM/FLASH中,若需要修改,请在下面ROS驱动开发中查看

3. 上位机开发

上位机出厂已经刷好系统和安装好ROS,无需关心细节可以直接调过3.2 3.2

3.1概述

采用Raspberry Pi 3或者RK3288作为上位ROS主控

3.2Ubuntu的刷入、ROS的安装

具体请参考树莓派(raspberry pi 3b)安装ROS Kinetic Kame
RK3288中ROS的安装

sudo /etc/init.d/lightdm stop即可关闭图像界面

3.3ssh远程连接

windows中推荐安装xshell远程连接

安装xshell

网盘中下载xshell并安装

通过Xshell连接Raspberry Pi 3

输入IP和用户名密码,默认用户名密码均为pibot即可连接

输入IP
SHELL

Windows通过xshell传输文件


3.4Master主机

需要一个PC安装ROS环境(最好有但不必须),用来显示查看地图或者玩转模拟器等
主机环境Ubuntu 16.04或者Windows7/10+Vmvare+Ubuntu16.04虚拟机Ros kinetic环境, 安装ROS参见PIBOT操作手册相关章节

3.5多机通讯

Master主机与树莓派或者RK3288怎么建立ROS通讯的,如需了解细节
请参考ROS多机的通讯配置,不关心直接照着PIBOT操作手册相关章节配置即可

4.ROS驱动开发

4.1概述

下位机及通过串口与Raspberry Pi 3或者PC通讯,通讯协议具体请参见ROS机器人底盘(3)-通讯协议

4.2 驱动开发及PID参数动态调整

PID参数已在出厂时候配置,如需了解细节请参考ROS机器人底盘(10)-PIBOT的driver的实现及动态PID调节

4.3 目录结构简介

建议拷贝提供的压缩文件至目标设备(树莓派等)上解压,不然会遇到一些问题,具体问题见Q&A

PIBOT的ROS workspace目录如下图


4.4编译与测试

编译

cd ~/pibot/ros_ws
catkin_make

source devel/setup.bash
或者直接写入.bashrc中(这样每次启动bash会直接调用)
echo "source /xxxx/devel/setup.bash" >> ~/.bashrc

** xxx为完整路径**

测试

初始化配置

Raspberry Pi 3运行rosrun pibot setup.sh
重新拔插USB口或者重启Raspberry Pi 3

ls /dev/pibot -l

开始测试

修改波特率
pibot_bringup/params/base_param.yaml
Raspberry Pi 3运行roslaunch pibot_bringup bringup.launch
Master主机运行rosrun rqt_reconfigure rqt_reconfigure可以查看和修改内置的配置信息,运行roslaunch pibot keyboard_teleop.launch即可通过键盘控制小车运动

同时支持小米等手柄的接入,运行roslaunch pibot joystick.launch即可

默认参数出厂会固化到板子

apollo
zeus
hades
hera

4.4 校准

4.4.1无IMU校准

参见ROS机器人底盘(11)-pibot的控制及校准

4.4.2IMU校准

5.ROS建图与导航

5.1概述

ROS驱动中提供了cmd_vel的订阅及odom的发布,至此再需要一个激光雷达就可以完成建图了

5.2建图

Raspberry Pi 3运行roslaunch pibot_navigation gmapping.launch
Master主机运行roslaunch pibot_navigation view_nav.launch

2种建图方法

保存地图

roscd pibot_navigation/maps/
rosrun map_server map_saver -f my_map`

可以看到生成2个文件

5.3导航

Raspberry Pi 3运行roslaunch pibot_navigation nav.launch map_name:=my_lab.yaml
Master主机运行roslaunch pibot_navigation view_nav.launch

如果直接运行roslaunch pibot_navigation nav.launch而不指定map_name参数则使用默认参数,nav.launch文件中可以设置默认使用的地图文件

image.png

6.模拟器

PIBOT包内置了模拟器,可以直接运行模拟导航

7.Android App

保证手机跟跟PC或者Raspberry Pi 3连接同一个网络,保证手机能够访问到roscore(export ROS_IP=XXX.XXX.XXX.XXX)具体参见ROS多机的通讯配置


修改Master URI选择roscoreURI 点击CONNECT
切换Camera ViewMap View
android_app

显示视频

显示视频需要硬件摄像头支持同时在PC或者Raspberry Pi 3启动roslaunch pibot usb_camera.launch

附录

zeus建图视频

Mapping-点击我查看视频

zeus导航视频

Navigation-点击我查看视频

常见问题

同之前,如果不希望每次都需要设置,最好把该配置写到~/.bashrc文件中

上一篇 下一篇

猜你喜欢

热点阅读