Pi-puck基本介绍
2019年,Pi-puck面市。
特征
- Raspberry PiZeroW(rPi)通过I2C连接到机器人
- 机器人基础摄像头和rPi之间通过USB接口
- 1个数字麦克风和1个扬声器
- USB集线器连接到rPi,带有2个空闲端口
- uUSB连接到rPi uart端口。也适合充电
- 2个充电器。1个用于机器人电池,1个用于辅助电池在扩展的顶部
- 在前面充电接触点以进行自动充电。外部扩展坞可用
- 几种扩展选项;6个i2C通道,2个ADC输入几个LED显示rPi和电源/充电器的状态
入门
本介绍性部分说明了使用安装在Pi-puck扩展板上的Raspberry Pi Zero W所需的最少程序,并概述了随Micro SD刷新的系统附带的可用基本演示和脚本。在以下单独的部分(例如ROS)中描述了更高级的演示,但是此处记录的步骤是基本的,因此请务必完全理解它们。
该扩展程序主要是e-puck机器人和Raspberry Pi之间的接口,因此您可以利用Linux机器的计算能力来扩展机器人功能。
在大多数情况下,Pi-puck扩展程序将被附加到机器人上,但是有趣的是,当不需要与机器人交互时,它也可以单独使用。
除非另有说明,否则以下各节采用完整配置(机器人+扩展名)。
要求
为了通过I2C总线与安装在Pi-puck扩展架上的Raspberry Pi进行通信,必须为机器人编程特殊的固件。所有设备(相机,IMU,距离传感器,其他扩展),主微控制器和Raspberry Pi共享相同的I2C总线。由于Raspberry Pi充当I2C主设备,因此无法直接从充当I2C从设备的机器人主微控制器直接访问这些设备。
必须使用以下固件e-puck2_main-processor_extension.elf(07.06.19)对e-puck2机械手进行编程,并且选择器必须位于位置10。
扩展板 开/关机
要打开扩展名,您需要按auxON如下图所示按钮。这也会同时打开机器人(如果尚未打开)。同样,如果打开机械手,则扩展名也会自动打开。
要关闭Pi-puck,您需要按住auxON按钮2秒钟;这将启动掉电程序。
请注意,如果通过其他方式(如微型USB电缆或二次电池)供电,则扩展名将不会自动关闭。您需要使用其电源关闭按钮将其关闭。相反,如果没有其他电源,则通过关闭Epuck2,也将关闭扩展(不是干净的)。
控制台模式
Pi-puck扩展板带有一个预配置的系统,无需任何其他配置即可运行。
为了以控制台方式从PC访问系统,必须执行以下步骤:
- 将Micro USB电缆从PC连接到扩展模块。如果需要,可以在以下链接USB至UART桥驱动程序中找到驱动程序 。
- 执行一个终端程序,并使用115200-8N1配置连接(无流量控制)。串行设备是将扩展名连接到计算机时创建的串行设备 。
- 打开机械手的电源(扩展名将自动打开)。现在,终端应显示Raspberry Pi启动信息。如果没有机器人,则可以使用相关按钮直接打开扩展板电源
- 登录使用user = pi,password = raspberry
电池充电
您只需插入Micro USB电缆,即可为机器人电池或连接至Pi-puck扩展的附加电池或两块电池充电。
下图显示了备用电池的连接器。
如果有充电墙,则机器人也可以自动给自己充电。Pi-puck扩展装置的正面包括两个弹簧触点,使机器人可以轻松地与充电壁接触并对其进行充电。充电壁和弹簧触点如下图所示:
操作系统
该系统基于Raspbian Stretch,可从以下链接下载:gctronic-stretch-ros-kinetic-opencv3.4.1.img.tar.gz。
user / pw:pi / raspberry
系统以控制台模式启动,切换到桌面(LXDE)模式发出命令startx。
第一次启动时,首先要做的是扩展文件系统,以便使用micro sd上的所有可用空间:
1 终端输入
sudo raspi-config
2.选择Advanced Options然后选择Expand Filesystem
3.重新启动reboot
机器人出厂已安装的软件
- ROS Kinetic
- OpenCV 3.4.1
- zram
- SSH
机器人配置
- 必须使用以下固件e-puck2_main-processor_gumstix.elf对e-puck2机器人进行编程
- 并且必须将选择器置于位置10. 这是为了通过I2C与机器人交换数据。
运行ROS节点
ROS工作区位于 ~/rosbots_catkin_ws/
在树莓派上启动e-puck2 ROS节点之前,请发出以下命令:
export ROS_IP=raspberry-ip export ROS_MASTER_URI=http://pc-ip:11311
raspberry-ip指的是树莓派(pi-puck)机器人的ip,pc-ip指的是您的笔记本的ip。
要启动e-puck2 ROS节点,请发出以下命令:
roslaunch epuck_driver_cpp epuck_minimal.launch debug_en:=true ros_rate:=20
此启动文件将启动e-puck2节点和摄像机节点。
在PC端,在一个终端中发出以下命令:
export ROS_IP=pc-ip export ROS_MASTER_URI=http://pc-ip:11311 roscore
然后在另一个终端启动rviz:
rviz rviz
打开single_epuck_driver_rviz.rviz您可以在epuck_driver_cpp/config/目录中找到的命名配置文件
可以从git下载最后一个版本的e-puck2 ROS节点:
git clone -b e-puck2 https://github.com/gctronic/epuck_driver_cpp.git
下图显示了e-puck2驱动程序节点发布的所有主题:
获取源代码
可以从git下载e-puck2 ROS节点的最新版本:
git clone -b pi-puck https://github.com/gctronic/epuck_driver_cpp.git
要更新到最新版本,请按照下列步骤操作:
cd ~/rosbots_catkin_ws/src/ rm -R -f epuck_driver_cpp git clone -b pi-puck https://github.com/gctronic/epuck_driver_cpp.git cd ~/rosbots_catkin_ws/ catkin_make --pkg epuck_driver_cpp
OpenCV
Blob跟踪
开发了一个简单的演示来跟踪橙色斑点。它被认为是与omnivision扩展运行。机器人在找到目标时朝向目标旋转。
代码可以从以下repo下载:
git clone https://github.com/e-puck2/e-puck2_pi_blob-tracking.git
作者:kay 出处:https://www.cnblogs.com/kay2018/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |