亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

使用 KINECT 和 RASPBERRY PI 的 SONBI 机器人人体检测

A.目标

在Sonbi内部构建树莓派的软件系统,并将微软Kinect集成到树莓派上,使其
与Sonbi机器人以人站在
Kinect前的方式进行交互, Sonbi机器人向人们挥手。


B.硬件系统


Sonbi 在他的
机箱内安装了以下基本硬件:
• Raspberry Pi w/8GB Flash
• Pololu Maestro 24
• Microsoft Kinect
• ATX 500 瓦 PS
• 杂项(原型板、电线、机械)


树莓派:

• 700 MHz ARM1176JZF-S 核心处理器
• 512 MB SDRAM
• 通过 microUSB (5V) 供电
• 以太网、HDMI 和 2 个用于外围设备的 USB 端口
• Raspbian OS
• 广泛使用,大量文档!

Pololu 大师 24


• 24 个通道
• 脉冲速率高达 333Hz
• 脚本大小高达 8KB
• 每通道高达 1.5 安培
• 2 个电源选项 USB/电源接头
• 脚本或原生 API 支持

Raspberry pi 和 Pololu 接口


• 接线简单
– 电源、Gnd、Tx-Rx 和 Rx-Tx
• TTL 串口
– 默认情况下,Pi 使用串口进行控制台输入/输出
– 编辑 /etc/inittab 和 /boot/cmdline.txt 以更改默认值
和免费使用的串口
• 很棒的教程:
http://shahmirj.com/blog /raspberry-pi-and-pololu-servocontroller-using-c
Microsoft Kinect:
• RGB 相机,以 1280×960
分辨率存储三通道数据。这使得捕获彩色图像成为可能。
• 一个红外 (IR) 发射器和一个红外深度传感器。发射器
发射红外线光束,深度传感器读取反射回传感器的红外线
光束。反射光束
转换成深度信息,测量物体和传感器之间的距离
。这使得捕获
深度图像成为可能。
• 多阵列麦克风,包含四个用于捕获声音的麦克风
。因为有四个麦克风,所以
可以记录音频,也可以找到
声源的位置和声波的方向。
• 配置了一个三轴加速度计,用于一个 2G 范围,其中 G 是重力加速度。可以使用
加速度计来确定
Kinect

的当前方向

垂直倾斜角度:27 度
• 帧速率:30 fps

C.将 Kinect 与 RASPBERRY PI 集成


以下是将 Kinect 与
Raspberry Pi 集成所采取的步骤。


在树莓派上连接 Microsoft Kinect 及其传感器驱动程序:


这个过程是项目中乏味的部分之一,因为必须知道 Kinect 可在 Windows 上运行,并且要使其在基于 unix 的操作系统上运行,我们需要手动安装与其关联的所有库和驱动程序,这是解决问题需要花费大量工时。所采取的步骤以及安装的库和软件包列表在构建软件系统部分中给出。

使用 Kinect 的全部功能:


要使用 Kinect 的所有功能(例如深度传感器、红外传感器、麦克风和电机)来倾斜相机,我们需要可以执行此操作的库。 RPI 默认安装了 OpenCV 和 Open GL/GLES,但这些还不支持(很快会)深度传感器和电机,所以我们需要安装 OpenNI 或 Libfreenect 包。任何一个都足够了,但我决定安装两个。为了测试和理解,您可以运行 OpenNI 和 Libfreenect 文件夹中提供的示例程序。我已经编译并构建了二进制文件。只需转到“bin”文件夹并通过
./“示例程序”运行示例即可运行它。


D.建筑软件系统

Libfreenect:
Libfreenect 是 Microsoft Kinect 的用户空间驱动程序。它在
Linux 上运行,支持
• RGB 和深度图像
• 电机
• 加速度计
• LED
音频正在开发中
要构建 libfreenect,您需要
• libusb>=1.0.13
• CMake>=2.6
• python ==2.*(仅适用于 BUILD_AUDIO 或 BUILD_PYTHON)
对于示例,您将需要
• OpenGL(包含在 OSX 中)
• glut(包含在 OSX 中)
• pthreads-win32 (Windows)
git clone https:/ /github.com/OpenKinect/libfreenect cd libfreenect mkdir build cd
build cmake -L .. make # 如果你没有 make 或者不想要颜色输出#
cmake –build

sudo apt-get install git-core cmake pkg-config build-essential libusb-1.0-0-dev
sudo adduser $USER video sudo adduser $USER plugdev # 有必要吗? # 仅当您
构建示例时: sudo apt-get install libglut3-dev libxmu-dev libxi-dev

包装:


wrappers/ 中提供了各种语言的接口。包装器
不保证 API 稳定或最新。
• C(使用同步 API)
• C++
• C#
• python
• ruby​​
• 动作
• Java (JNA)


OpenNI:


要求:
1) GCC 4.x
来自:http://gcc.gnu.org/releases.html
或通过apt:sudo apt-get install g++
2) Python 2.6+/3.x
来自:http://www.python.org/download/
或通过apt:sudo apt-get install python
3) LibUSB 1.0.x
来自:http://sourceforge.net/projects/libusb/files/libusb-1.0/
或通过apt:sudo apt-get install libusb-1.0-0-dev
4) FreeGLUT3
来自:http://freeglut.sourceforge.net/index.php#download
或通过 apt:sudo apt-get install freeglut3-dev
5) JDK 6.0
来自:http://www.oracle.com/technetwork/java/javase/downloads/jdk6u32-downloads-1594644.html
或通过apt:sudo add-apt-repository “调试

可选要求(构建文档):
1) Doxygen
来自:http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc
或通过 apt:sudo apt-get install doxygen
2) GraphViz
来自:http://www.graphviz.org/Download_linux_ubuntu.php
或通过 apt:sudo apt-get install graphviz


构建 OpenNI:


1) 进入目录:“Platform/Linux/CreateRedist”。
运行脚本:“./RedistMaker”。
这将编译所有内容并在
中创建一个redist包/>“平台/Linux/Redist”目录。它还将在
“Platform/Linux/CreateRedist/Final”目录中创建一个发行版。
2) 进入目录:“Platform/Linux/Redist”。
运行脚本: “sudo ./install.sh”(需要以root身份运行)
安装脚本将密钥文件复制到以下位置:
Libs into:/usr/lib
Bins into:/usr /bin
Includes into:/usr/include/ni
Config files into:/var/lib/ni
如果你想构建 Mono 包装器,也运行“make
mono_wrapper”和“制作 mono_samples”


E.人员检测和 SONBI 的行动:


Raspberry PI 运行程序 bootscript_sonbi.sh
“bootscript_sonbi.sh”运行命令“python facedetect.py
–cascade=face.xml 0”
你需要下载这个训练好的人脸文件:
http://stevenhickson-code.googlecode.com/svn/trunk/AUI/Imaging/face.xml
facedetect.py 运行人脸检测算法并触发
“Sonbi”可执行文件。Sonbi 二进制文件负责使
伺服电机运行。流程流程图如下。

来源:SONBI ROBOT使用KINECT和RASPBERRY PI的人体检测


制造工艺

  1. NodeMCU 和 Raspberry Pi 3 B+
  2. 使用 LabVIEW 的树莓派温度曲线
  3. 使用 raspberry 记录和绘制 24V 恒温器事件(光耦合器 + Raspberry Pi)
  4. Python 和 Raspberry Pi 温度传感器
  5. 使用树莓派远程监测天气
  6. SensorTag 到 Blynk 使用 Node-RED
  7. 使用 Raspberry Pi 的运动传感器
  8. Raspberry Pi 温度和光传感器
  9. 使用 Raspberry Pi 和 Twilio 的支持语音和 SMS 的光传感器
  10. Raspberry Pi 传感器和执行器控制
  11. 在没有 LIRC 的情况下将 IR Remote 与 Raspberry Pi 一起使用
  12. 使用 Raspberry Pi 和 Bridge Shield 的机器人