角蜂鸟开箱和开发环境搭建

1.开箱展示

图1

材料清单:

  • 1.套件包含亚克力外壳、定制1080P摄像头及角蜂鸟AI视觉板卡(已拼装)

  • 2.Type-C USB3.0导线1根

  • 3.产品说明书卡片1张

电气参数:

  • 供电电压和电流:

  • 功耗:

  • 工作温度:

  • 板载核心芯片:Movidius MA2450

  • 连接示意:

  • 图片2

    优势:其一集成了Intel Movidius MA245X卷积神经网络(CNN)加速芯片,运算和比对处理均在模块中完成,并将结果数据反馈给host,对host系统要求较低;其二离线实现,角蜂鸟目前内嵌了7种基础的神经网络模型,可以完成人脸检测、人脸识别、物体识别等功能。模型体积小、速度快,其中物体识别模型大小为9.6MB,可支持同时识别20种物体,而人脸检测模型大小只有1.2MB。这些运算均是在边缘端离线实现,完全不需要连接到云端;

2.开发环境搭建

目前支持Ubuntu、CentOS、Fedora、TK1、MacOS、Raspbian等多种操作系统,官方提供了Android、C++、Python、ROS四种开发环境并提供了example示例程序,模型文件共用!

本次开发选用的硬件平台和开发环境:Raspberry 3B+Ubuntu16.04+ROS-Kinetic;

Kinetic虽然不是ROS最新的版本,但是确实目前资料较多(坑较少,目前资料最多的是Indigo),且能够支持维护到2021年的一个版本,因此选择该版本,至于更早的版本由于维护时间问题不建议使用!

而每个版本的ROS官方都会推荐一个对应版本的linux系统,Kinetic 对应的是Ubuntu 16.04,因此才有了以上的环境选择;

由于树莓派的处理能力有限,虽然有人建议不要在树莓派3B上安装Ubuntu,但是本次开发中较复杂的处理如人脸识别和物体识别等算法是在角蜂鸟模块上处理的,这样大大减少了树莓派的负担,应该以上方案是可行的!

1)操作系统安装 Ubuntu MATE 16.04.2

下载地址: https://ubuntu-mate.org/download/

制作Linux启动盘(SD卡),准备制作工具Win32DiskImager

安装:

a. 解压上述下载的操作系统镜像压缩文件,得到 img 镜像文件。

b. .将 SD 使用卡托或者读卡器后,连上电脑。

b. 解压并运行 win32diskimager 工具。

d. 在软件中选择系统镜像( img 文件),“ Device”下选择 SD 的盘符,然后选择“ Write”,期间出现对话框选择是。

e.等待写入进程, 安装过程可能有些慢,根据你 SD 卡的速度而定的。等到出现对话框 write successful 就说明成功了,将 SD 卡插入树莓派 3 的 SD 卡槽内,树莓派主板上电,即可进入系统安装;

2)ROS安装Kinetic Kame

a.软件中心配置

打 开后 按照下 图进 行配 置(确 保你 的 "restricted" , "universe, " 和"multiverse."前是打上勾的

配置完成后选择“close”就可以关闭该窗口了。

b)添加源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu$(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

c)设置秘钥

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116

d)安装和初始化ROS

#安装ros kinetic全功能版
sudo apt-get update
Sudo apt-get install ros-kinetic-desktop-full
#初始化rosdep
sudo rosdep init
rosdep update
#初始换环境变量
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
#测试ROS
roscore

打印输出“started core service [/rosout]”即安装成功;

3)配置SungemSDK环境及资源

下载SungemSDK基础SDK,保证你的环境安装了git,如果没有安装,请参照百度经验ubuntu 安装git,git下来角蜂鸟的SDK

git clone https://github.com/HornedSungem/SungemSDK.git

拷贝hs.h接口头文件到/usr/local/include,SungemSDK-ROS需要引用该头文件,所以需拷贝到系统目录下

sudo cp -i <workspace>/SungemSDK/api/includes/hs.h  /usr/local/include

根据您当前系统的架构选择对应文件夹下的libhs.so,拷贝该文件到/usr/local/lib

关于系统架构的查询

uname -a

sudo cp -i <workspace>/SungemSDK/api/lib/linux/arm7l/libhs.so /usr/local/lib

准备需要的资源文件,model及data文件,git最新SungemSDK-GraphModels,或从百度云盘中下载,并把该目录link到系统下,如果不想放在系统下,你可以修改horned_sungem_launch目录下config下每次模型类型的graph_file_path和category_file_path参数,确保路径下能找到该文件即可

git clone https://github.com/HornedSungem/SungemSDK-GraphModels.git
sudo ln -s <workspace>/SungemSDK-GraphModels /opt/SungemSDK-GraphModels

4)创建ROS工作空间

创建一个工作空间,名字自定义

mkdir -p ~/catkin_<name>/src

将SungemSDK-ROS包下载到工作空间中的src路径下

cd ~/catkin_<name>/src
git clone https://github.com/HornedSungem/SungemSDK-ROS.git

使用catkin编译生成build和devel文件

catkin_make

如果编译过程中报错,可根据错误内容对源码进行修改,并查找目录下CmakeList.txt和package.xml是否有误!

对于树莓派+Ubuntu16.04配置文件确实有错。

需要将Cmakelist里把上述报错的“msse4.1”、"mf16c"配置的属性删掉重新编译,找到~/catkin_<name>/src/SungemSDK-ROS-master/src/ros_horned_sungem/horned_sungem_lib包下,修改其Cmakelist

cd ~/catkin_<name>/src/SungemSDK-ROS-master/src/ros_horned_sungem/horned_sungem_lib
vim Cmakelist.txt

具体代码段如下:

# Add x86 intrinsic compiler support
#  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1")
#  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mf16c")
#  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")

以上代码是对X86系统架构的配置,树莓派采用的arm7l架构,因此需要注释掉;

重新编译,以上报错消失但是会出现新的错误,不用担心这是由于树莓派内存不足造成的!

树莓牌默认只有100m内存,可以通过增加swap空间的 方法解决,推荐以下方法重启且不会恢复!《如何在Ubuntu 16.04上增加Swap分区》;

注意由于本示例中的树莓派RAM的大小为1GB,因此我们将在本教程中创建一个2 GB大小的文件(一般swap至少为RAM的2倍),并适当加以调整,以满足您自己的服务器的需求;

再次编译

这就说明SungemSDK-ROS-master编译通过;

执行source命令,依次执行文件中的语句,使刚修改的初始化文件生效

source devel/setup.bash

设置ros包路径

echo $ROS_PACKAGE_PATH /home/<user_name>/catkin_<name>/src:/opt/ros/kinetic/share

5)使用Sungem-ROS

官网比较良心,提供了UVC摄像头和角蜂鸟自带摄像头方法,本例使用的角蜂鸟自带摄像头;

a)打开终端,加载nodelet,接受角蜂鸟360P的图像

roslaunch horned_sungem_launch hs_camera.launch cnn_type:=googlenet camera:=hs pixels:=360

如果出现错误,需cd到你的catkin工作空间的devel重新source下setup.bash

这是打开设备权限问题,root模式下运行;两种方法:一种将设备权限设置为其他用户也可用,另一种在root模式下运行以上指令;

我选用了第二种方法,切换至root用户,结果如下

su
roslaunch horned_sungem_launch hs_camera.launch cnn_type:=googlenet camera:=hs pixels:=360

这是ROS环境变量未设置root可用,仅设置了当前用户可用!需要进行以下操作

source /opt/ros/kinetic/setup.bash
source /home/amos/catkin_ws/devel/setup.bash
roslaunch horned_sungem_launch hs_camera.launch cnn_type:=googlenet camera:=hs pixels:=360

角蜂鸟设备启用成功!!!红色提示为模块过热导致,增加一个小风扇提示消失,也可以在程序中设置取消提示!

从上图中可知,模块本身是添加一个很大的散热片,虽然装机时模块上电(但是未进行运算处理),但是真正用到模块的时候是最后launch启用仅仅才几分钟,模块就已提示过热!说明模块在低功耗处理上仍存在很大的优化空间!

b)打开新的终端,加载图像

roslaunch horned_sungem_launch hs_classification_example.launch camera_topic:="/hs/camera/image_raw"

该指令执行是会返回结果和图片,因此必须在本地终端执行!ssh执行会报错!

6)角蜂鸟在线资源汇总

官网:

http://www.hornedsungem.org/

公众号:

微信搜索角蜂鸟,添加关注。

文档:

https://hornedsungem.github.io/Docs/cn/

https://hornedsungem.senscape.cn/Docs/cn/

专栏:

https://zhuanlan.zhihu.com/hornedsungem

Github:

https://github.com/HornedSungem

固件:

https://github.com/HornedSungem/SungemSDK/releases

Github提问:

https://github.com/HornedSungem/SungemSDK/issues

购买:

微信搜索角蜂鸟公众号,在公众号中购买。

技术交流:

欢迎加入角蜂鸟交流群,群聊号码:782248879

角蜂鸟树莓派镜像下载地址:

树莓派上配置角蜂鸟环境,由于网络等原因,容易出现失败的情况,这里提供配置好的树莓派镜像,一个是树莓派Zero,一个是树莓派3B/3B+:

百度云地址链接: https://pan.baidu.com/s/1rj1xBfA55xwVsOV9zN6Ifw密码: k1x6

Dropbox地址链接: https://www.dropbox.com/sh/gnnjq7x5s24qlsq/AAD-Vcr3z8XlYRts8ndf9E9Ma?dl=0

镜像烧写完成后,不需要运行install.sh脚本安装环境,直接可以运行示例程序了。

参考文献:

https://hornedsungem.github.io/Docs/cn/installation/

https://blog.csdn.net/yaked/article/details/81262339

http://baijiahao.baidu.com/s?id=1601968606595405058&wfr=spider&for=pc

http://www.roswiki.com/read.php?tid=633

https://www.cnblogs.com/qqfly/p/5851382.html

http://wiki.ros.org/kinetic/Installation/Ubuntu

https://hornedsungem.github.io/Docs/cn/workflow/ros/quickstart/

角蜂鸟AI视觉套件1:开箱和开发环境搭建相关推荐

  1. 角蜂鸟AI视觉套件:(一)开箱及软件开发环境配置

    硬件平台:角蜂鸟 + 虚拟机Ubuntu 16.04 + ROS Kinetic 1. 角蜂鸟AI视觉套件开箱及简要介绍 定位于嵌入式人工智能感知平台的触景无限科技(北京)有限公司,最近推出了一款名为 ...

  2. 角蜂鸟AI视觉套件:(二)人工智能深度体验

    本篇的硬件环境一样,跟着官方的教程来深度体验下角蜂鸟的人工智能的实力.根据官方介绍,角蜂鸟内置的几种深度神经网络模型如下,包括数字识别.人脸识别和物体识别等. MNIST 数字识别模型 Mobilen ...

  3. 角蜂鸟AI视觉套件:(四)ROS下订阅并处理图像

    对于熟悉ROS的朋友们来说,图像的topic有了,我们就可以开始自己想干的事情了.这里我创建一个名为hs_image_sub的package来处理角蜂鸟的图像,图像的topic 名字为上一篇提到的:/ ...

  4. 角蜂鸟AI视觉套件:(三)ROS案例

    在翻看教程的时候,无意中发现居然可以和ROS接入,还是挺兴奋的.因为自己C++用的比Python多. https://hornedsungem.github.io/Docs/cn/workflow/r ...

  5. zc706开发板的linux开发,第一篇:zc706 开箱及开发环境搭建

    第一篇:zc706开箱及开发环境搭建 1.拿到zc706时的封装箱子,从该工具箱中打开后,将看到内含的器件: 2.其中zc706评估板具体各部分说明如下: 在拿到开发板后,默认开发板上的拨码开关以及跳 ...

  6. mac php开发套件_mac php集成开发环境搭建软件推荐(附教程)

    用惯了在Windows上配置php开发环境,要在MAC上捣腾一个PHP开发环境还不大习惯,那mac上php开发环境怎么搭建配置呢?有哪些集成软件呢? 本文为你推荐几款常用的mac php环境软件,并介 ...

  7. 视觉SLAM十四讲学习笔记-第二讲-开发环境搭建

    专栏系列文章如下: 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习笔记-第二讲-初识SLAM_goldqiu的博客-CSDN博客 ​​​​​​​ lin ...

  8. AI算法工程师 | 02人工智能基础-Python基础(一)开发环境搭建

    文章目录 Python开发环境搭建 1. Python开发环境选择及下载 2. Miniconda安装和测试 3. Pycharm安装和代码运行 4. Jupyter安装和代码运行 5. Python ...

  9. Plug And AI角蜂鸟AI开发板开箱,拆解

    插播广告:我的个人博客:了起的博 引用一下官网的话" 角蜂鸟Horned Sungem是基于 Plug和AI  理念打造的一款人工智能视觉套件,致力于为大众提供学习,使用及创造AI应用,定义 ...

最新文章

  1. case study
  2. 1xx、101、100 状态详解
  3. EasyUI(前端框架)
  4. Day31 python基础--网络编程基础-socketserver
  5. selinum-操作表单元素-0223
  6. 老板:kill -9 的原理都不知道就敢在线上执行?
  7. 【PAT乙】1069 微博转发抽奖 (20分) set
  8. 列表、超链接、相对路径-HTML
  9. idea中pom中有些配置为什么不提示_Delegate IDE build/run actions to maven 配置的影响
  10. 设计模式--创建型模式之抽象工厂模式
  11. 流行的灯谜集锦(包括天鹅类)
  12. 【解决方案 六】---在VS2015里使用ILDasm
  13. html网页制作把文字放在右边,网页滚动文字的制作HTML代码
  14. Micheal Nielsen's神经网络学习之二
  15. 护眼灯色温多少k最合适?2023儿童护眼灯色温范围是多少
  16. ACS 中PEAP的认证
  17. Every Document Owns Its Structure: Inductive Text Classification via GNN (TextING)
  18. Matlab中regress函数各参数解释
  19. PDF格式转换、合并、分割、加水印、加页码各种操作,收藏这几个网站就够啦
  20. 小米max2装鸿蒙,小米max2全新玩法,连接电视大屏玩游戏看电影!

热门文章

  1. 抖音自媒体怎么将视频一键发布到快手、视频号?
  2. 37秒落后5分,你放弃了吗
  3. 【CTF WriteUp】201909广东强网杯部分题解
  4. 用伪元素画横线,并使用一个盒子覆盖一部分
  5. 基于深度学习的影像深度重建综述
  6. 连封面都是递归——《你好哇,程序员——漫话程序员面试求职、升职加薪、创业与生活》...
  7. arm汇编指令-DCD
  8. IGBT静态参数测试系统
  9. RK3399平台开发系列讲解(USB设备驱动)5.37、Gadget Device驱动详解
  10. 前端下载静态文件及动态文件