导航

    蓝鲸ROS机器人论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 热门
    1. 主页
    2. xiaoqiang
    3. 帖子
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision
    • 资料
    • 关注 0
    • 粉丝 2
    • 主题 88
    • 帖子 312
    • 最佳 5
    • 群组 1

    xiaoqiang 发布的帖子

    • 用ps3手柄遥控机器人,会引发ubuntu系统鼠标异常的解决办法

      手柄连接ros驱动节点后,点击桌面右上角蓝牙标志,将系统默认的蓝牙手柄连接关闭即可解决问题。
      0_1523188757347_IMG_1067.JPG
      0_1523188776492_IMG_1066.JPG

      发布在 技术交流
      xiaoqiang
      xiaoqiang
    • 第四代扫地机器人来了,SanKoBot如何用Vslam抢占先机

      从2001年伊莱克斯开发了全世界第一款“三叶虫”,扫地机器人先后经历了全自动扫地、开环局部规划、激光雷达导航等三个阶段。扫地机器人的技术难度主要体现在定位导航部分,从这一点来看,扫地机器人的这三个阶段分别为盲扫、无记忆地建图扫和有记忆地建图扫。

      不过,激光雷达只能建立平面的深度图像,且成本一直居高不下,多年来迟迟未得到广泛应用。而随着视觉算法和视觉计算处理器的发展,扫地机器人迎来了基于视觉识别技术和AI算法的时代。

      视觉导航是指利用摄像头扫描周围的环境,然后结合红外传感器,利用数学运算和几何、三角法测绘出房间的地图,以此来进行导航,并根据前后影像中各个地标的位置变化来判断当前的移动路线,对其所构建的环境模型进行更新与调整。

      目前,市面上使用Vslam方案的只有Dyson和iRobot,前者于2014年9月推出360Eye,后者于2015年9月推出Roomba 980。国内这几年也开始涌现不少做Vslam方案的初创企业,其中创立于2016年2月的SanKoBot(珊口智能)便是其一。与其他竞争对手不同的是,SanKoBot的Vslam方案拥有包括Vslam视觉、物体识别、图像处理、人脸识别等多种创新技术,兼具自主创新和产业落地能力,提供人工智能算法和整体方案。

      基于Vslam开源算法,SanKoBot高度优化绝大部分性能。比如,实现了可以应用于弱光、弱纹理、强光、甚至快速光照变化等一系列高难度的室内场景,打破了原有Vslam技术高度依赖于光线条件的应用局限。同时,搭载的“SKB HOME AI大脑”将图像中的物体进行识别、分类记录,并规划最佳清扫路径,实现自动避障、提高清扫效率。

      0_1522376353536_bd12a323-8096-4a12-8fbc-dfef9c8deea2-image.png 第四代扫地机器人来了,SanKoBot如何用Vslam抢占先机

      基于vslam+识别技术机器人实现室内地图和物品检测

      去年10月,SanKoBot在香港发布了单目视觉模组,助力家庭扫地机器人产业升级迭代,国际首个在普通芯片(R16无加速芯片)实现Vslam算法产品化的公司,成为同行努力效仿的对象,也奠定行业领导者的地位。

      第四代扫地机器人来了,SanKoBot如何用Vslam抢占先机

      单目视觉定位模组和采用该视觉的扫地机

      11月,SanKoBot成为全球率先实现室内物体实时识别检测,应用在扫地机器人领域可与Vslam同时运行。该扫地机器人一边画出室内地图,一边做识别检测,并在地图记录好物体位置。该方案是基于端的实时检测和Vslam,无需云辅助或者加速芯片帮助,是基于同一个摄像头且为单目。

      12月,全覆盖带有路径规划算法+Vslam视觉定位的模组,以及整机进入量产,截止目前SanKoBot已经给TCL等国内外知名企业供货。

      0_1522376375601_b3d35171-63bb-4f4b-a605-5fdc9c53243b-image.png

      机器人基于端的实时识别技术(单目)

      在成立不到两年的时间里,SanKoBot能取得如此耀眼的成绩,离不开背后成熟的团队。创始人兼CEO李磊有多年的国内外TMT行业经验和芯片产业经验,曾为国际知名以色列图像视觉公司Cortica中国的总负责人,也是多家硅谷和以色列创业公司的早期投资人;联合创始人崔彧玮毕业于美国马里兰大学,获计算神经学博士学位,曾任硅谷AI公司Numenta高级研究员,拥有2项美国AI核心专利,曾获William Hodos奖项;算法总监王子敬曾任Panasonic新加坡研究院算法负责人,具有16年计算机视觉及AI研发、产业落地经验,其所设计的人脸检测、人体检测算法应用于松下监控相机及数码相机中。此外,技术、管理团队分别来自于United Technologies、优必选、三一重工、ZTE、万国商业网等企业。

      在李磊看来,SanKoBot的技术在设备上实现了类似于人类的眼睛和部分大脑的功能,扫地机器人只是落地的第一步。

      随着视觉Vslam的技术逐渐落地,SanKoBot于去年12月宣布已与国内一间知名公司达成合作,将其视觉识别技术应用于城市智慧大脑。例如,当城市中摄像头数量约为50万个时,仅两周产生的数据就已达到8000T,这是一个巨量的信息。在如此海量的数据中找到某时段、某辆车的信息,通过传统方法,也许需要400人花上一整天的时间才能找到。但通过SanKoBot提供的技术,将车的颜色、品牌、行人等数据在录制的时候就进行提炼和分类,存储在云端索引中。在其内搜索关键词、时段等信息,几分钟内就可以检索到结果,这将大大提升城市管理的效率。
      0_1522376447880_2d405ca2-426f-4947-8cab-9faf2d779d61-image.png
      去年6月,SanKoBot完成1100万天使轮融资,国金投资领投,王利杰pre-Angel,深圳朗科和鼎翠,IKEA等跟投。同月获得上海张江临港的政府支持以及数百万智能制造专项资金。目前珊口智能正在新一轮融资,用于研发投入和产品化商业化。

      发布在 行业动态
      xiaoqiang
      xiaoqiang
    • 三年磨一剑,大道智创终于要在安保机器人市场亮剑了

      0_1522374436007_6a2eacad-3ae5-400d-8354-90cf47b9a5b8-image.png
      2017年2月,随着全国首款“机器警长”—— E巡在郑州东站正式上岗,大道智创这家以哈尔滨工业大学和美国伊利诺伊理工大学的硕博团队为核心的“新星”企业,迅速被人们所熟知。正当外界期盼它带来更多惊喜的时候,它却渐渐沉静下来,继续埋头打磨产品。

      一年时间过去,大道智创又取得了哪些成果,积蓄了怎样的力量?我们和大道智创创始人赵信宇进行了一次深入对话。

      今年一月份,国家统计局发布最新人口数据,我国2017年比2016年出生人口减少了63万人,在网络上引发热议。随着人口红利耗尽,越来越多行业将遭受冲击,严重依赖人力的安保行业更是首当其冲。

      相关统计显示,目前我国安保市场存在高达112万的人力缺口,而且大部分安保从业人员文化水平和专业素养不高,初中文化水平的从业人员占比高达60%,40岁以上的从业者占比超过40%。企业遭受着人员招聘困难、培训成本高昂、工作质量难以保证等痛点的多重夹击。

      另一方面,传统安防以“人防+物防”的模式为主,业务数据化困难、建设运行成本高,已难以满足当下社会快速发展的智能化需求。安防企业亟需寻找新的业务增长点。

      在此背景下,随着机器人相关的各项技术趋于成熟,安保机器人成了安防企业和用人企业破局的共同选择。

      大道智创正是一家致力于智能安保机器人研发的高新技术企业。创始人赵信宇从大学毕业之后就一直梦想着做一款真正实用的机器人。2015年,赵信宇联合几个同学和校友,共同组建了大道智创的核心技术团队。

      据雷锋网了解,成立大道智创前,赵信宇曾创办过年营收过百万的易智达机电,也曾运营一家物业公司,负责社区、医院等不同企事业单位的物业服务,但他心心念念想着的始终是做实用的智能机器人。

      大道智创CTO邢志伟是哈尔滨工业大学博士, 曾任职于NVDIA深圳公司并负责领导多项消费级显卡、工作站级显卡、TEGRA智能手机平板项目的软硬件设计开发及多项图像处理算法的开发;联合创始人龙建睿,Illinois Institute of Technology博士,研究方向主要为信号与系统、自适应滤波、非线性系统辨识与控制、统计信号处理及其 在生物医学与机器人系统中的应用。联合创始人魏伟,哈尔滨工业大学博士,曾在Case WesternReserve University访问学习,研究方向主要为非线性系统控制、风力机系统变速控制、医疗手术机器人伺服控制系统。

      可以说,从成立之初,大道智创就拥有了一支技术实力非常深厚的团队。

      艰难的抉择
      对于一款自主移动机器人来说,导航系统是决定成败的关键。产品研发阶段,摆在赵信宇面前的有两个选择:一是理论比较成熟,产品落地也更加丰富的激光SLAM,二是适用于复杂动态场景,但对计算性能和算法要求都更高的视觉SLAM。

      激光SLAM的误差模型相对简单,在算法上门槛更低,部分开源算法甚至已经被纳入ROS系统成为了标配,是当时移动机器人企业的普遍选择。

      激光雷达的距离测量也比较准确,能够在强光直射以外的环境中稳定运行。不过,依据所使用的激光雷达的档次,激光SLAM的应用场景被分为泾渭分明的室内应用和室外应用。激光雷达分为许多档次,昂贵的室外远距离多线雷达动辄成本高达数十万元,室外常用的高端中远距离平面雷达成本也需数万元不等。

      早期的视觉SLAM基于滤波理论,其非线性的误差模型和巨大的计算量成为了它实用落地的障碍。但近年来,随着具有稀疏性的非线性优化理论(Bundle Adjustment)以及相机技术、计算性能的进步,视觉SLAM的优势慢慢凸显出来。

      视觉SLAM的好处在于它可以利用丰富纹理的信息,这带来了重定位、场景分类上无可比拟的巨大优势。而且,视觉信息可以较为容易的地用来跟踪和预测场景中的动态目标,如行人、车辆等,对于在复杂动态场景中的应用这是至关重要的。另外,和激光SLAM相比,视觉SLAM的成本要低得多,这对于产品的商业化落地无疑是一项巨大的优势。

      不过,视觉SLAM毕竟是一项前沿技术,门槛要高得多。基于非线性优化的地图构建是非常复杂和耗时的计算问题;在实际环境中优化和改进现有的视觉SLAM框架,比如加入光照模型、使用深度学习提取的特征点,以及使用单双目及多目融合视角等技术,也是非常困难同时又得不面对的问题。

      选择视觉SLAM就意味着更高的前期投入,很多初创团队都难以承受,但经过一番深思熟虑之后,赵信宇还是决定啃下这块硬骨头。一方面,“安保机器人不可能待在办公室里巡逻,它必须适用于室外的复杂大场景”, 视觉SLAM无论在技术还是成本上都有着巨大的优势。另一方面,他对自己团队的技术实力也非常有信心。

      长达八个月的产品打磨
      经过长达一年时间艰苦卓绝的技术研发,大道智创终于推出了自己的首款产品——“e巡 ”机器警长。“e巡 ”机器警长整机高1.6米、底盘直径80公分、体重80公斤,配备4路1080P高清夜视摄像头360度实时全景监控,同时融合热成像系统、超声波阵列、红外阵列、TOF深度相机和平面激光雷达多传感器采集环境信息。

      2017年2月,“e巡 ”机器警长正式在郑州高铁站落地应用。它不仅可以实现清站工作,还可以全天候自主巡逻,抓取并识别旅客的面部信息,与公安系统黑名单进行比对,协助民警抓捕逃犯。

      “大道智创是国内第一家采用视觉SLAM方案的安防机器人公司,而且我们的成本不到同行的一半”,赵信宇对雷锋网(公众号:雷锋网)自豪地说道。

      不过他并没有急着将“e巡 ”机器警长推向市场,而是找了二十多家有潜在应用意愿的客户,让他们免费试用。免费试用的目的一是测试机器人系统的稳定性;二是挖掘客户的潜在需求。

      赵信宇介绍,不同行业的安防需求差异巨大,比如核电站需要在安保机器人中加入核辐射检测功能,商场则希望他们的安保机器人能够在白天“兼职”迎宾导购员。“有些需求是原来客户自己都不知道的,我们希望在免费试用的过程中慢慢将它挖掘出来”。

      “e巡 ”机器警长本质上是一个具有自主移动能力的平台,上面可以搭载各种功能模块,实现功能的定制化。赵信宇并不打算将所有的客户需求一股脑塞进“e巡 ”机器警长,而是希望先做好几种常见功能服务好一部分客户。

      经过长达八个月的产品打磨,“e巡 ”机器警长已经渐趋成熟,不过在赵信宇心中它还不是一款完美的产品。“可能别家的产品所有项目都做到了70分,我们有些项目做到了90分,但有些项目只有60分”,赵信宇说道。

      这跟大道智创的团队基因密不可分,大道智创以哈尔滨工业大学和美国伊利诺伊理工大学的硕博团队为基础组建,大家的强项在于视觉SLAM算法,用户交互界面的开发方面则相对欠缺。

      赵信宇向雷锋网介绍,“与智能手机不同,安保机器人是一个非常复杂的系统。如果交互界面优化不够,用户用起来就会非常吃力。” 大道智创早期集中精力在打造机器人的自主移动能力,如今产品逐渐走向市场,交互界面这块短板自然也要补齐。目前,大道智创正在不断扩充技术团队,努力让“e巡 ”机器警长更加全面均衡。

      厚积薄发
      2015年成立至今,大道智创已经走过了近三个年头。如果将“e巡 ”机器警长比作一个孩子,从无到有一点点长大,如今已经到了进入市场打拼的时候。对于“e巡 ”机器警长的市场前景,赵信宇非常乐观。

      目前市面上绝大多数安保机器人采用的还是激光SLAM方案,和“e巡 ”机器警长相比在价格上毫无竞争力。未来随着“e巡 ”机器警长大规模量产,成本还有望进一步降低。少部分厂商虽然也在研究视觉SLAM,但目前还只能做到室内小场景的自主导航。

      在体验相近的前提下,更低的成本意味着“e巡 ”机器警长可以渗透到更多的场景。目前,大道智创已经布局了核电、住宅、交通、军用、警用等多个领域。今年,大道智创还将进一步继续深化场景,进入校园市场。

      赵信宇介绍,学校是一个非常庞大的市场,全国的大中小学包括幼儿园有55万所。最近几年,校园发生的不安全事件,让老师和家长对孩子的安全越来越重视。

      “我们产品价格已经降到了学校可以接受的程度,但其他产品还达不到,这对我们来说是一个巨大的机会。”

      赵信宇介绍,大道智创计划今年率先布局初中、高中等封闭式的校园场景。随着产品逐步落地,未来还将渗透到更多场景。

      潜心三年,掌握了机器人的核心技术之后,大道智创产品的商业化落地似乎只是水到渠成的事情。

      发布在 行业动态
      xiaoqiang
      xiaoqiang
    • 背靠国内最大物流体系,菜鸟透露年内将量产无人配送车

      0_1522370781482_a869f85b-0251-439b-bdb5-2be97ee5398e-image.png
      雷锋网新智驾按:最近,频有媒体曝出菜鸟物流无人车在公开道路上进行测试的视频。3月24日,菜鸟在深圳举行技术论坛,菜鸟资深算法专家,被称为“菜鸟小G”之父的陈俊波也公布了该视频,证实了该款无人车的确是菜鸟的产品。此外,在论坛上,陈俊波也透露出菜鸟或将在年内量产无人车的重磅消息。

      在公布的视频中,一辆带有“菜鸟ET物流实验室”字样的无人车在开放道路上行驶。视频显示,傍晚时分,在下班的晚高峰,车流和人流都比较大的情况下,这辆无人车能识别红绿灯,能避让拐弯车辆,周边穿梭的电动车对其没有造成任何影响,但是该车的行驶速度比较慢,与行人走路的速度相近。据新智驾了解,菜鸟首批量产的车型将是视频中的这款无人车。
      替代文字
      菜鸟ET实验室由菜鸟网络与2015年年底组建,目前,已经研发出了菜鸟小G,菜鸟小G 2代,菜鸟小G Plus三款末端配送机器人。但是,网上所流传的这辆外形方正的无人物流配送车,还未在菜鸟网络官网上展示出来。

      0_1522370920948_6e4fd74e-2abe-4dde-8f3b-6f418e8db35c-image.png

      从已有的菜鸟所公布的信息来看,从末端机器人到宣布量产无人车,其无人驾驶技术进展迅速,这是怎么做到的呢?

      菜鸟的无人驾驶技术
      从论坛中,雷锋网新智驾了解到,菜鸟的无人驾驶系统大部分是由3部分组成:

      第一部分就是传感器;

      第二部分就计算单元;

      第三部分就是执行机构;

      菜鸟所使用的传感器组合有激光、超声、单目摄像头、双目摄像头、GPS、IMU等。据雷锋网(公众号:雷锋网)新智驾了解,菜鸟的ET实验室所研发的无人车所使用的激光雷达是速腾聚创的RS-LiDAR-16。而在定位上,则使用了千寻位置。所有的这些传感器的数据都会输入到菜鸟的计算模块中。

      菜鸟计算的模块,整体而言,又可以分为几个部分:

      第一个部分是高精度地图,这个部分更多的是去识别和处理静态的场景;

      第二个部分是定位,除了确定位置,这个部分还会去处理一些结构化的场景识别,例如道线、交通标识等;

      第三个部分是识别,这个部分更关心的是一些动态的障碍物,对它们进行一些检测、跟踪、预测。有了识别之后,系统就有了对机器人正在运行的动态的周围环境的语义理解;

      地图、坐标和周围环境的语义理解会被输入到导航模块。导航的模块分为几个层次,最高的层次是路径的规划。接着就是运动的规划,即Motion Plan。Motion Plan决定了轮子的转向和加减速等。再接着是控制的算法,它会让电机配合上一个层次规划出来的路径。最后执行机构会通过驱动电机来完成所有动作。

      在论坛上,陈俊波通过一些Demo向大家具体展示了菜鸟的无人驾驶技术。

      下图就是完成SLAM(即时定位与地图构建)之后,整个阿里巴巴西溪园区在小G眼中的样子。

      0_1522370971162_2a40cd03-54e5-4901-8324-14851ccdc93f-image.png 背靠国内最大物流体系,菜鸟透露年内将量产无人配送车

      陈俊波介绍,在阿里巴巴西溪园区和菜鸟西溪首座之间来回10公里的路段,是他们的实验路段,现在,最新的小G Plus已经能够在园区和首座之间做配送,完成内部的文件、快递等的收发。

      0_1522370994534_6a9c000b-c649-4c14-bd27-5b31aadd806f-image.png 背靠国内最大物流体系,菜鸟透露年内将量产无人配送车

      在行人识别方面,菜鸟的相关系统在识别行人后,还会将其映射三维世界的坐标中,并预测行人接下来的轨迹。再输入到决策、规划、控制算法中、使机器人提前判断出最合理路径。

      值得注意的是,阿里在全球无人驾驶里最知名的数据集之一的KITTI数据集的道路场景分割排行中,已经已经取得了六项算法第一名的位置,显示了其在无人驾驶领域的技术实力。

      0_1522371011771_3b7c9cb4-705d-4636-9834-a67b807f08e8-image.png 背靠国内最大物流体系,菜鸟透露年内将量产无人配送车

      陈俊波还介绍了菜鸟防止小G被“抱”走的一些防御机制。首先,菜鸟后台有非常完备的监控测试,对机器人的CPU、内存、传感器都会有完备的监控,任何异常都会反映到后台上。另外,小G的定位也是实时的,因此随时可以知道小G的确切位置。最后,小G还有视频监控,一旦发现小G有什么异常,就可以把视频传到后端然后做一些相应的处理,包括报警。

      在加州近期宣布的没有安全驾驶员的无人车测试规定中,有严格的远程监控要求。目前应用在菜鸟小G上的这种远程监控机制,相信也会深入应用到菜鸟的无人车中。

      无人驾驶卡车
      论坛最后,陈俊波表示,菜鸟无人车已经经历了三年的研发过程,今年或将进行小批量生产并探索商业化模式,具体模式相信大家很快就会看到。他也提到,菜鸟除了在末端的配送机器人,在卡车,在高速公里上的配送领域也会展开非常多的有意思的进展。

      0_1522371029386_e6b433d1-8c68-4a17-b1a5-f828093ffbed-image.png 背靠国内最大物流体系,菜鸟透露年内将量产无人配送车

      雷锋网新智驾了解到,菜鸟网络ET物流实验室从去年12月21日开始,就在招聘无人驾驶方向的专家和工程师,具体职位包括:无人驾驶系统平台研发工程师/专家、无人驾驶智能云服务架构师/专家、无人驾驶SLAM与导航算法专家等。招聘人数超过30人,工作地点都在阿里的大本营杭州市。

      发布在 行业动态
      xiaoqiang
      xiaoqiang
    • RE: 跟随代码

      http://wiki.ros.org/turtlebot_follower

      发布在 技术交流
      xiaoqiang
      xiaoqiang
    • RE: 关于本地打开小强配置文件的问题

      ubuntu系统的问题,可以sftp方式将文件下载拷贝到本地,然后打开

      发布在 技术交流
      xiaoqiang
      xiaoqiang
    • 罕见bug解决办法: kienct 1代运行错误Failed to claim camera interface: LIBUSB_ERROR_NOT_FOUND

      安装完kienct 1代驱动后(驱动安装教程),运行freenect-glview测试设备时,如果出现Failed to claim camera interface: LIBUSB_ERROR_NOT_FOUND的错误,但是lsusb却能找到kienct,错误输出类似下图
      0_1489414194656_2.png
      此时先判断是不是驱动安装失败,运行freenect-micview,如果出现类似下图的正确结果
      0_1489414494533_3.png

      这种情况下,很有可能是因为其它usb设备(我遇到的是鼠标和键盘)和kienct冲突了。

      在ubuntu系统下鼠标和键盘等hid设备使用的是内核驱动,而libfreenect使用的是libusb,当这两种设备都插在同一个usb控制器上时,驱动可能会引发冲突导致其中一种设备失效。例如先插入鼠标,后插入kinect,则鼠标工作正常但是kinect无法正常工作;如果先插入kienct,后插入鼠标,则会发现鼠标失灵。

      解决办法:电脑主机的usb口都是分组配置的,即多条总线分别对应多个usb口,例如主机前面板的几个usb口对应1条总线,后面板上的几个usb口对应另一条总线。将kienct和其他usb设备,分别插在不同总线的usb口上就能解决上面的问题。

      对于小强pro:主机4个黑色usb2.0口对应1条总线,4个蓝色usb3.0口分别对应4条总线,因此推荐将kienct插在任意的一个usb3.0口,这样其他usb设备可以在剩余usb口中任意选择
      对于小强mini:主机从sw开关数起,分布有1个usb3.0,两组usb2.0,其中usb2.0每组上下两个,因此推荐将keinct单独插在中间那组usb2.0口上,右侧那组usb2.0分别插入usb摄像头和u转串,usb3.0口用来外接一个usb hub,鼠标键盘之类全部插在这个hub上即可,usb3.0带宽较高适合用hub扩展。

      发布在 技术交流
      xiaoqiang
      xiaoqiang
    • 小强底盘固件的自动更新升级方法

      2017年3月11日之前购买的用户,请根据这篇帖子小强底层固件下载和升级办法进行手动升级

      0. 固件不要擅自升级,会严重影响售后

      1.更新、升级固件包

      ssh xiaoqiang@192.168.xxx.xxx
      cd ~/Documents/ros/src/stm32loader
      git stash
      git pull
      #对于xq4 pro和xq4 mini用户,请切换到master分支
      git checkout master
      #对于xq5 用户,请切换到lungu分支
      git checkout lungu
      

      2.开始升级底盘固件

      对于2017年3月11日之前购买的用户:由于硬件版本限制,升级固件过程中可能会导致底盘乱动,因此请先拔下绿色电机驱动板上中间的“VMOT GND”接线,升级之后再插回去。
      对于2017年3月11日之后购买的用户: 不用插拔任何硬件

      cd ~/Documents/ros/src/stm32loader
      sudo ./updateCarROM.sh
      

      正常的话会出现下图
      0_1489261381227_1.png
      输入y,按回车开始更新
      0_1489261425105_2.png
      0_1489261462682_3.png
      更新成功会出现下图
      0_1489262283578_4.png

      3.升级成功后的标定操作

      请根据升级底盘ROS驱动包XQSERIAL_SERVER完成上位机更新操作。最后根据这篇教程重新校准底盘IMU。

      4.升级失败处理办法

      如果已经破坏底盘固件,请咨询客服后参考这篇帖子小强底层固件下载和升级办法进行手动升级。
      如果没有破坏底盘固件,请检查串口接线是否牢固,然后给底盘重新上电后再次尝试

      发布在 产品服务
      xiaoqiang
      xiaoqiang
    • 原装和国产ps3手柄ros驱动程序

      小强主页

      ps3手柄的ros驱动程序为joystick_drivers包中的ps3joy,这份驱动对索尼原装手柄支持较好,但是对国产ps3手柄的支持存在问题。我们在ps3joy的基础上进行了修改,增加了一个ps3joyfake_node.py脚本作为国产手柄的驱动,包源代码地址在这里:。下文以小强为例,演示这个包的安装步骤和简略的使用方法

      安装步骤

      ssh进入小强ros工作空间,下载源码后编译,完成安装
      小强镜像中默认已经安装此软件包,可以跳过这一步骤。

      ssh xiaoqiang@192.168.xxx.xxx
      cd Documents/ros/src/
      git clone https://gitee.com/BlueWhaleRobot/joystick_drivers.git
      cd ..
      catkin_make
      # 如果提示下列错误
      error spnav.h no such file
      # 先安装下面这个包,然后重新执行catkin_make
      sudo apt-get install libspnav-dev
      

      快速使用方法

      ps3joyfake_node.py启动后,它会将蓝牙接收的手柄按键数据转换成标准的joy msg,同时以/joy为话题在ros中发布,即ps3joyfake_node.py一个文件相当于ps3joy.py + joy_node两个文件,在实际使用中不必再开启joy_node节点。

      1.将手柄与usb蓝牙适配器进行绑定,只需绑定一次,下次直接跳过这个步骤

      如果是手柄是和小强同时购买,那么我们已经提前为您配对,可以跳过此步骤。
      将手柄通过usb数据线接入主机,usb蓝牙适配器也插上主机

      sudo bash
      rosrun ps3joy sixpair
      

      此时会得到类似下图的输出,current和setting的mac地址一样说明绑定成功

      Current Bluetooth master: 00:22:b0:d0:5a:09
      Setting master bd_addr to 00:22:b0:d0:5a:09
      
      # 如果出现下述错误
      Current Bluetooth master: 00:1b:dc:00:07:3c
      Unable to retrieve local bd_addr from `hcitool dev`.
      Please enable Bluetooth or specify an address manually.
      # 先运行
      hciconfig hci0 reset
      # 如果运行
      hciconfig hci0 reset
      # 出现错误
      # Can't init device hci0: Operation not possible due to  
      
      # 运行 
      rfkill unblock all
      # 然后运行
      hciconfig hci0 reset
      # 重新运行
      rosrun ps3joy sixpair
      

      绑定设置完成,断开手柄与主机的usb连接

      ctrl+D 退出root模式

      2.将手柄与usb蓝牙适配器配对

      #确保蓝牙接收器已经插入主机usb口
      sudo bash
      rosrun ps3joy ps3joyfake_node.py
      

      正常会出现下面的提示

      root@xiaoqiang-desktop:~# rosrun ps3joy ps3joyfake_node.py 
      No inactivity timeout was set. (Run with --help for details.)
      Waiting for connection. Disconnect your PS3 joystick from USB and press the pairing button.
      #如果提示下列错误
      ImportError: No module named bluethooth
      #请先安装下列包,然后重新运行
      sudo apt-get install libbluetooth-dev
      sudo pip install PyBluez 
      

      按一下下图中的手柄配对键


      alt text


      配对成功的话,上面的窗口会输出类似下面的结果

      root@xiaoqiang-desktop:~# rosrun ps3joy ps3joyfake_node.py
      No inactivity timeout was set. (Run with --help for details.)
      Waiting for connection. Disconnect your PS3 joystick from USB and press the pairing button.
      Connection activated
      

      配对完成

      3.查看手柄输出

      新开一个窗口,打印按键输出
      rostopic echo /joy
      

      正常会出现下面的类似结果

      header:
        seq: 297
        stamp:
          secs: 1488877867
          nsecs: 535818099
        frame_id: ''
      axes: [0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.21316899359226227, 0.0]
      buttons: [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
      

      从上面可以看到第4个button被按下了

      4.启动相关的joy msg处理节点

      注意不要再启动joy_node

      #以小强为例,启动下列launch文件后就可以遥控小强移动了
      roslaunch turtlebot_teleop ps3fakexiaoqiang_teleop.launch
      

      购买带手柄的小强用户,还可以根据这篇教程使用手柄

      进行步骤1绑定时,如果提示找不到手柄设备,无法绑定,可以执行下面两个步骤以解决问题:
      1.点击系统桌面右上角的蓝牙图标,将连接着的蓝牙手柄服务关闭
      0_1523188908187_IMG_1067.JPG
      0_1523188923058_IMG_1066.JPG
      2.重新插拔手柄,然后重新运行绑定指令

      小强主页
      返回目录

      发布在 产品服务
      xiaoqiang
      xiaoqiang
    • 升级底盘ros驱动包xqserial_server

      1.ssh登录小强主机,进入小强ros工作目录

      ssh xiaoqiang@192.168.xxx.xxx   #请将xxx.xxx换成实际ip
      cd Documents/ros/src/
      

      2.进入ros驱动包xqserial_server,更新软件

      cd xqserial_server/
      git stash
      git pull
      cd ..
      cd ..
      catkin_make -DCMAKE_BUILD_TYPE=Release -DCATKIN_WHITELIST_PACKAGES="xqserial_server"
      

      3.重启ros节点,更新完成

      sudo service startup stop
      sudo service startup start
      
      发布在 产品服务
      xiaoqiang
      xiaoqiang
    • 升级软件包以支持小强图传遥控app

      小强主页

      注:本教程适用于2017年3月份之前收到小强的用户,2017年3月份之后的用户请跳过本教程,直接参考这两篇帖子的使用方法——小强手机遥控app安卓版、小强图传遥控windows客户端

      小强手机遥控app需要小强开机自动启动一些配套服务后才能使用,下文将演示升级小强主机上的软件包地具体步骤,完成这些步骤后重启小强主机即可开始使用手机端app。

      1.ssh登陆小强主机

      ssh xiaoqiang@192.168.xxx.xxx -X
      

      2.进入小强主机ros工作空间,升级替换两个软件包

      cd Documents/ros/src/
      rm -rf system_monitor
      rm -rf startup
      git clone https://github.com/BlueWhaleRobot/system_monitor.git
      cd system_monitor
      git checkout kinetic_service_bot
      cd ..
      git clone https://github.com/BlueWhaleRobot/startup.git
      cd startup
      git checkout service_bot
      cd ../..
      catkin_make
      

      3.更新小强开机启动项

      rosrun robot_upstart uninstall startup
      rosrun robot_upstart install startup/launch/startup.launch
      sudo systemctl daemon-reload && sudo systemctl start startup
      

      小强主页
      返回目录

      发布在 产品服务
      xiaoqiang
      xiaoqiang
    • rosbag play超大bag文件时,打开速度太慢问题

      两种解决办法: 1.上固态ssd硬盘。2.使用图形化回放工具rqt_bag,不用命令行方式,打开速度飞快而且操作方便。

      发布在 技术交流
      xiaoqiang
      xiaoqiang
    • 小强ROS机器人教程(21)___获取usb摄像头30fps的1080p图像流及120fps的VGA分辨率图像流

      小强主页

      小车默认开机启动的usb摄像头节点,发布的是30fps的VGA(640*480)分辨率的图像流,可以满足大部分的视觉任务要求。usb摄像头硬件实际可以输出120fps的VGA图像流和高达30fps的1080p图像流,本文将介绍获取这两种规格图像的办法。

      1.升级usb_cam节点源代码

      由于usb2.0带宽问题,输出120fps的VGA视频和30fps的1080p视频,需要采用mjpeg格式。小车自带的usb摄像头ROS驱动包usb_cam,它不能以mjpeg方式读取小车usb摄像头,因此我们需要先升级usb_cam。升级办法请参考这篇帖子:http://community.bwbot.org/topic/144/解决ROS的usb_cam节点无法正常读取mjpeg格式摄像头的方法

      2.测试120fps的VGA视频输出

      首先关闭小车的开机启动任务

      sudo service startup stop
      

      修改usb_cam包中的ov2610mjpg.launch文件内容为下文所示

      <launch>
        <node name="camera_node" pkg="usb_cam" type="usb_cam_node">
          <param name="video_device" value="/dev/video0" />
          <param name="image_width" value="640" />
          <param name="image_height" value="480" />
          <param name="framerate" value="120" />  
          <param name="pixel_format" value="mjpeg" />
          <param name="camera_frame_id" value="ov2610" />
          <param name="io_method" value="mmap"/>
        </node>
      </launch>
      

      启动上述launch文件

      roslaunch usb_cam ov2610mjpg.launch
      

      新开一个窗口打印发布的图像topic帧率

      rostopic hz /camera_node/image_raw
      

      正常会出现类似下图的输出

      subscribed to [/camera_node/image_raw]
      average rate: 99.497
      	min: 0.004s max: 0.016s std dev: 0.00246s window: 98
      average rate: 99.324
      	min: 0.004s max: 0.016s std dev: 0.00240s window: 198
      average rate: 99.385
      	min: 0.004s max: 0.016s std dev: 0.00236s window: 297
      average rate: 99.247
      	min: 0.004s max: 0.016s std dev: 0.00236s window: 396
      average rate: 99.302
      	min: 0.004s max: 0.016s std dev: 0.00232s window: 495
      average rate: 99.296
      	min: 0.004s max: 0.016s std dev: 0.00231s window: 595
      average rate: 99.249
      	min: 0.004s max: 0.016s std dev: 0.00230s window: 694
      

      上文输出显示摄像头帧率大概是99fps,并没有达到120fps,这是因为环境光照的影响,如果环境光照亮度充足时是可以达到120帧的。

      2.测试30fps的1080p视频输出

      首先关闭小车的开机启动任务

      sudo service startup stop
      修改usb_cam包中的ov2610mjpg.launch文件内容为下文所示

      <launch>
        <node name="camera_node" pkg="usb_cam" type="usb_cam_node">
          <param name="video_device" value="/dev/video0" />
          <param name="image_width" value="1920" />
          <param name="image_height" value="1080" />
          <param name="framerate" value="30" />  
          <param name="pixel_format" value="mjpeg" />
          <param name="camera_frame_id" value="ov2610" />
          <param name="io_method" value="mmap"/>
        </node>
      </launch>
      

      启动上述launch文件

      roslaunch usb_cam ov2610mjpg.launch
      

      新开一个窗口打印发布的图像topic帧率

      rostopic hz /camera_node/image_raw
      

      正常会出现类似下图的输出

      xiaoqiang@xiaoqiang-desktop:~$ rostopic hz /camera_node/image_raw
      subscribed to [/camera_node/image_raw]
      average rate: 29.986
      	min: 0.028s max: 0.039s std dev: 0.00318s window: 30
      average rate: 29.917
      	min: 0.028s max: 0.039s std dev: 0.00296s window: 59
      average rate: 29.912
      	min: 0.028s max: 0.039s std dev: 0.00292s window: 89
      average rate: 29.853
      	min: 0.027s max: 0.042s std dev: 0.00308s window: 119
      average rate: 29.874
      	min: 0.027s max: 0.042s std dev: 0.00283s window: 149
      average rate: 29.839
      	min: 0.027s max: 0.042s std dev: 0.00282s window: 179
      ^Caverage rate: 29.849
      	min: 0.027s max: 0.042s std dev: 0.00282s window: 202
      

      小强主页
      返回目录

      发布在 产品服务
      xiaoqiang
      xiaoqiang
    • 解决ROS的usb_cam节点无法正常读取mjpeg格式摄像头的方法
      本文解决办法来源:http://answers.ros.org/question/217382/garbled-image-problem-on-usb_cam/

      使用usb_cam读取mjpeg格式的usb摄像头时,如果提示类似下述的错误,是因为链接的ffmpeg解码库存在问题。

      [mjpeg @ 0x223e460] overread 8
      [mjpeg @ 0x223e460] overread 8
      [mjpeg @ 0x223e460] error count: 68
      [mjpeg @ 0x223e460] error y=38 x=1
      [mjpeg @ 0x223e460] error count: 64
      [mjpeg @ 0x223e460] error y=34 x=1
      [mjpeg @ 0x223e460] error count: 68
      [mjpeg @ 0x223e460] error y=40 x=4
      [mjpeg @ 0x223e460] error count: 64
      [mjpeg @ 0x223e460] error y=42 x=1
      [mjpeg @ 0x223e460] error count: 64
      [mjpeg @ 0x223e460] error y=31 x=0
      [mjpeg @ 0x223e460] error count: 64
      [mjpeg @ 0x223e460] error y=30 x=37
      [mjpeg @ 0x223e460] overread 8
      

      解决办法是安装新版本的ffmpeg,然后修改usb_cam的cmake依赖库链接设置

      1.ffmpeg的安装
      mkdir ~/ffmpeg_sources
      cd ~/ffmpeg_sources
      wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
      tar xjvf ffmpeg-snapshot.tar.bz2
      cd ffmpeg
      PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
      ./configure   --prefix="$HOME/ffmpeg_build"   --pkg-config-flags="--static"   --extra-cflags="-I$HOME/ffmpeg_build/include"   --extra-ldflags="-L$HOME/ffmpeg_build/lib"   --bindir="$HOME/bin"     --enable-shared --enable-pic --extra-cflags="-fPIC"
      make -j
      make install
      
      2. 现在ffmpeg开发库已经安装在home目录下的ffmpeg_build文件夹内,修改usb_cam的cmake文件

      为了方便自己,这里有一份已经修改好的usb_cam代码,git clone下来后,将CMakeLists.txt文件中对应下文部分的xiaoqiang替换成自己的用户名即可。ffmpeg库API一直在变化更新,上述修改好的usb_cam版本解决了这些匹配问题,因此推荐使用。

      ## pkg-config libraries
      ## find_package(PkgConfig REQUIRED)
      ## pkg_check_modules(avcodec libavcodec REQUIRED)
      ## pkg_check_modules(swscale libswscale REQUIRED)
      set(avutil_LIBRARIES /home/xiaoqiang/ffmpeg_build/lib/libavutil.so.55)
      set(avcodec_LIBRARIES /home/xiaoqiang/ffmpeg_build/lib/libavcodec.so.57)
      set(swscale_LIBRARIES /home/xiaoqiang/ffmpeg_build/lib/libswscale.so.4)
      set(ffmpeg_INCLUDE_DIRS  /home/xiaoqiang/ffmpeg_build/include/)
      
      3.执行catkin_make,重新编译usb_cam,问题解决

      例如

      cd ~/Documents/ros
      catkin_make
      
      4.对于蓝鲸智能的小强用户,现在使用下述命令可以正常以mjpeg方式获取小车的usb摄像头数据,修改launch文件中的分辨率为1920*1080还能获取30fps的1080p图像。
      roslaunch usb_cam ov2610mjpg.launch
      
      发布在 技术交流
      xiaoqiang
      xiaoqiang
    • RE: ubuntu循环登录,无法login的解决办法之一

      @frank
      也有可能是硬盘没有空闲空间了

      发布在 技术交流
      xiaoqiang
      xiaoqiang
    • RE: 小强ROS机器人教程(3)___在rviz中显示小强机器人模型

      注: 本篇教程所有命令需要在小车主机本地运行,所谓本地运行是指小车主机接入显示器和键盘鼠标后当台式电脑使用。开始教程前,请先执行下列指令,因为小车开机会自动运行相关urdf包,和本文冲突

       sudo service startup stop
      
      发布在 产品服务
      xiaoqiang
      xiaoqiang
    • 小强ROS机器人教程(16)___大范围激光雷达slam与实时回路闭合测试

      小强主页

      借助谷歌的Cartographer配合slamtec的激光雷达,我们可以尝试对大型建筑建立平面图。先看我们自己的demo演示效果。

      在本demo中,小强实际运行在一个5000平米的写字楼走廊里,走廊两侧存在大量的玻璃幕墙,大楼中央存在一个大面积空旷地,加上rplidar的测距范围只有6米,因此下图的最终效果还算理想(只使用激光雷达,没有开启IMU和底盘odometer,大回路路径仍然成功闭合)

      0_1481523082999_Screenshot from 2016-12-12 11:57:03.png

      本文操作思路:因为是大范围建图,wifi网络覆盖是一个问题,所以我们借助蓝牙手柄来遥控小车运动。期间通过rosbag录制激光雷达数据,手柄遥控小车在建图范围内跑一圈,最后重放bag建图。

      注:以下所有操作在小车主机ubuntu上完成

      准备工作:

      1.安装rplidar驱动

      对于2016年11月15日之后购买小强开发平台的用户,rplidar驱动已经配置好。
      rplidar的驱动安装请参考这篇教程

      2.安装ps3手柄驱动

      对于2016年11月15日之后购买小强开发平台的用户,请跳过本步骤。
      请参考这篇安装教程

      3.安装cartographer_ros

      请参考这篇安装教程:http://community.bwbot.org/topic/136/google激光雷达slam算法cartographer的安装及bag包demo测试

      操作步骤:

      1.新开一个窗口启动rplidar

      roslaunch rplidar_ros rplidar.launch
      

      2.新开两个窗口启动ps3手柄遥控程序,按手柄连接键连上小车
      第一个窗口

      sudo bash
      rosrun ps3joy ps3joyfake_node.py
      

      第二个窗口

      roslaunch turtlebot_teleop ps3fakexiaoqiang_teleop.launch
      

      3.新开一个窗口启动rosbag录制进程,开始录制激光雷达数据/scan

      rosbag record /scan
      

      4.用手柄遥控小车运动,绕建图区域一圈,也可以多圈

      5.bag录制完成,关闭上文的1、2、3窗口
      新录制的点bag文件在小强home目录下,将其重命名为1.bag

      6.启动cartographer_ros开始bag回放建图

      roslaunch cartographer_ros demo_xiaoqiang_rplidar_2d.launch bag_filename:=/home/xiaoqiang/1.bag
      

      0_1481525823733_Screenshot from 2016-12-12 14:54:32.png

      7.一切正常的话,现在可以看到下图的类似效果,等待bag包play完

      0_1481525892583_Screenshot from 2016-12-12 14:55:01.png

      8.用map_server保存地图,本文结束

      rosrun map_server map_saver --occ 51 --free 49 -f work0
      

      小强主页
      返回目录

      发布在 产品服务
      xiaoqiang
      xiaoqiang
    • google激光雷达slam算法Cartographer的安装及bag包demo测试

      Cartographer 是google于2016年9月开源的一套激光雷达slam算法,精度和效果在业界处于领先水准。点击查看最终效果。

      操作步骤:

      1.安装依赖包

      # Install the required libraries that are available as debs.
      sudo apt-get update
      sudo apt-get install -y \
          cmake \
          g++ \
          git \
          google-mock \
          libboost-all-dev \
          libcairo2-dev \
          libeigen3-dev \
          libgflags-dev \
          libgoogle-glog-dev \
          liblua5.2-dev \
          libprotobuf-dev \
          libsuitesparse-dev \
          libwebp-dev \
          ninja-build \
          protobuf-compiler \
          sphinx-common  
      
      python-sphinx   可以换成 sphinx-common
      

      2.安装ceres solver

      cd  ~/Documents
      git clone  https://ghproxy.com/https://github.com/ceres-solver/ceres-solver.git
      cd ceres-solver
      git checkout 1.14.x
      mkdir build
      cd build
      cmake ..  #git hook时间比较长,耐心等待
      make -j
      sudo make install
      

      3.安装prtobuf 3.0

      cd  ~/Documents
      git clone  https://ghproxy.com/https://github.com/google/protobuf.git
      cd protobuf
      git checkout v3.6.1
      mkdir build
      cd build
      cmake  \
        -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
        -DCMAKE_BUILD_TYPE=Release \
        -Dprotobuf_BUILD_TESTS=OFF \
        ../cmake
      make -j 2
      sudo make install
      

      4.安装cartographer

      cd  ~/Documents
      git clone https://gitee.com/BlueWhaleRobot/cartographer.git 
      cd cartographer
      mkdir build
      cd build
      cmake ..
      make -j
      sudo make install
      

      5.安装cartographer_ros

      cd ~/Documents/ros/src   #请修改路径到自己的ROS catkin工作空间
      git clone https://git.bwbot.org/publish/cartographer_ros
      cd ..
      catkin_make
      

      6.安装已完成,开始下载测试用的bag文件

      点击下述链接下载文件,保存到桌面
      下载链接

      7.启动demo演示,正常可以看到rviz启动并开始建图

      根据个人平台计算能力不同,本demo完整运行时间一般为半个小时到1个小时之间

      roslaunch cartographer_ros offline_backpack_2d.launch  bag_filenames:=${HOME}/Desktop/cartographer_paper_deutsches_museum.bag
      

      8.提取建立的地图,结束测试

      上面步骤7会生成一个pbstream文件,用cartographer_ assets_writer可以转换成栅格地图

      roslaunch cartographer_ros assets_writer_ros_map.launch bag_filenames:=${HOME}/Desktop/cartographer_paper_deutsches_museum.bag pose_graph_filename:=${HOME}/Desktop/cartographer_paper_deutsches_museum.bag.pbstream
      

      0_1531754676780_map_yaml.png
      现在在home目录下的Desktop文件夹内会生成建立的地图文件,这两个文件(pgm 和 yaml)在ros中的map_server中可以加载使用

      发布在 产品服务
      xiaoqiang
      xiaoqiang
    • 安装goolge cartographer提示无法找到Eigen3的解决办法之一

      cartographer安装步骤一般为

      cd cartographer
      mkdir build
      cd build
      cmake ..
      make  -j
      sudo make install
      

      执行cmake …时如果提示如下错误

      CMake Error at CMakeLists.txt:32 (find_package):By not providing "FindEigen3.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Eigen3", but CMake did not find one.
      Could not find a package configuration file provided by "Eigen3" with any of the following names:
          Eigen3Config.cmake
          eigen3-config.cmake
      

      如果系统确实已经安装过Eigen3 (sudo apt-get install libeigen3-dev),请点击下载本文件 ,然后放入cartographer源码目录下的cmake文件夹内的modules内,例如/home/xiaoqiang/Documents/cartographer/cmake/modules
      现在再次执行cmake … 问题应该已解决

      发布在 技术交流
      xiaoqiang
      xiaoqiang
    • 小强ROS机器人教程(13)___rplidar二代激光雷达的使用和利用udev给小车增加串口设备

      小强主页

      本节教程的1、2、3、4步骤仅用于演示给小强增加串口设备的方法,小强用户请接上硬件后直接跳到步骤5测试雷达。
      小车主机和底盘的通信是通过串口实现的,在实际开发过程中我们可能会给小车增加串口外设,这会导致串口号(ttyUSB***)的混乱,引发小车底盘ros驱动和串口设备的异常。下文将以rplidar二代激光雷达为例,演示通过修改udev文件指定设备串口号的方式解决串口冲突问题。本文方法出处

      1.查看各个串口设备的ID

      sudo apt-get install expect-dev
      unbuffer udevadm monitor --environment | grep 'ID_SERIAL='
      

      将底盘通信u转串重新插拔一下,终端会打印出此设备的ID信息,例如下图中的"Prolific_Technology_Inc._USB-Serial_Controller"
      再将激光雷达的usb适配器重新插入主机,终端也会打印出激光雷达的ID信息,例如下图中的"Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001"
      0_1481030229497_udev0.png
      2.根据获取的串口设备的ID,建立udev规则文件,将底盘通信u转串指定为ttyUSB001,将激光雷达指定为ttyUSB002

      sudo gedit  /etc/udev/rules.d/60-persistent-serial.rules
      

      输入下面内容后保存,请将文中ID_SERIAL后面的字符串换成步骤1中获取的ID

      ACTION!="add", GOTO="persistent_serial_end"
      SUBSYSTEM!="tty", GOTO="persistent_serial_end"
      KERNEL!="ttyUSB[0-9]*", GOTO="persistent_serial_end"
      
      # This is old 11.10 style: IMPORT="usb_id --export %p"
      IMPORT{builtin}="path_id"
      ENV{ID_SERIAL}=="Prolific_Technology_Inc._USB-Serial_Controller"         , SYMLINK="stm32Car"        , SYMLINK+="ttyUSB001" , OWNER="xiaoqiang"
      ENV{ID_SERIAL}=="Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001" , SYMLINK="rplidarA2"       , SYMLINK+="ttyUSB002" , OWNER="xiaoqiang"
      
      LABEL="persistent_serial_end"
      

      更新系统udev规则

      sudo udevadm control --reload
      

      重新插拔所有usb串口设备,现在底盘通信u转串成功被识别为ttyUSB001、激光雷达被识别为ttyUSB002,与设备插入顺序和端口无关。

      ls /dev
      

      0_1481031023725_udev.png

      3.修改小车底盘ROS驱动节点launch文件,将通信设备指定为上文设置的ttyUSB001

      0_1481031213813_udev2.png

      4.修改rplidar二代激光的ROS驱动节点launch文件,将通信设备指定为上文设置的ttyUSB002

      
      驱动的安装
      
      cd ~/Documents/ros/src
      git clone https://git.bwbot.org/publish/rplidar_ros
      cd  ..
      catkin_make
      

      0_1481031433261_udev3.png

      5.重启小车,现在已经可以同时正常使用激光雷达和小车底盘,例如运行下述命令测试激光雷达

      roslaunch rplidar_ros view_rplidar.launch
      

      0_1481031554709_udev4.png

      小强主页
      返回目录

      发布在 产品服务
      xiaoqiang
      xiaoqiang
    • 1
    • 2
    • 12
    • 13
    • 14
    • 15
    • 16
    • 15 / 16