分类目录归档:人工智能ai

小猪学arduino—使用QGPMotorShiled驱动板制作排爆机器人

五一疫情防控不能外出,呆在家里实在无聊,决定跟儿子一起做个排爆机器人,需要同时控制4个舵机、2个底盘电机、1个无线手柄的控制和接收,但L298P只有1个伺候,再外挂个16路舵机板的话有点太乱了。偶然间看到一块功能比较全面的驱动板,可以同时驱动电机、舵机、蓝牙、超声波等,我们就使用这块板子尝试做个排爆机器人。 阅读全文

机器人操作系统ROS—使用麦克风阵列实现声源定位及语音控制

上一次带大家实践视觉建图与导航后,有朋友留言想给机器人增加语音控制功能,本文就带大家一起实现。为了使效果更佳,例如当叫机器人“过来”、“到我这来”等时,需要机器人能找到说话所在的方向,所以我们将采用麦克风阵列。 阅读全文

机器人操作系统ROS—自研底盘的精准控制

我们完成SLAM建图后,如何在导航时让自己的底盘正常工作,是很多新手面临的问题。上位机大家通常采用pi或nvidia jetson nano甚至更强算力的板子,系统一般采用ubuntu,这使得上位机的库几乎是通用的;而底盘不同,单片机有stm32、arduino、51等,电机的种类就更多了,电机的精准度和质量参差不齐,容易在底盘动起来后难以实现精准控制。如何利用电机编码器进行精准的底盘移动并上报odom,不少人会在这里花费大量时间,本文将针对此类问题进行具体讲解。 阅读全文

机器人操作系统ROS—树莓派Pi4B+激光雷达SLAM建图环境搭建(Ubuntu20.04.3 + ROS Noetic)

之前学习ros,nvidia jetson nano板子装的ubuntu18.04系统比较正常,但是pi4b的板子装的raspberry系统会出现各种依赖问题。最近想充分利用下几块Pi4B的板子,反复试了pi4安装官方/非官方的ubuntu18.04.5+ROS Melodic版本,最终都会卡在map-server或rviz等依赖上。最终用Pi4B + Ubuntu20.04.3 + ROS Noetic + RpLidar安装测试成功,记录一下安装过程。 阅读全文

机器人操作系统ROS—分布式跨机通讯配置

ROS 机器人的实验和开发中,通常需要一台移动机器人和一台 PC 配合使用,不少初学者都会有个困惑,即PC和机器人上的ROS命令都只针对本机,而机器人上的ubuntu通常都不是桌面版,那么PC上那些可视化的工具怎么应用在机器人上呢?即怎么才能利用PC上的ROS指令和工具直接访问和展示机器人上的数据呢?其实非常简单,通过ROS_MASTER_URI就可以方便的实现,本文我们就来简单介绍一下吧。 阅读全文

机器人操作系统ROS—使用激光雷达RpLidar A1进行SLAM定位建图

移动机器人在环境中获取障碍物的具体位置、房间的内部轮廓等信息都是非常必要的,这些信息是机器人创建地图、进行导航的基础数据。考虑成本,买了一个SLAMTEC公司的低成本二维激光雷达RpLidar A1进行初步的学习,它可以最快10hz的频率检测360度范围内的障碍物信息,最远检测距离12米,适合室内移动机器人使用。本文讲解如何使用它感知周围环境。 阅读全文

机器人操作系统ROS—树莓派Pi4环境(Raspberry Pi OS + ROS Melodic)

新入手一个Pi4,4核1.5GHz 64位A72处理器、8G内存(想起我的第一台电脑,赛扬处理器+512M内存…),用来做机器人的控制中心。由于树莓派4暂时还无法使用Ubuntu MATE,本文讲解给它安装Raspberry Pi OS系统 + ROS Melodic的过程。 阅读全文

机器人操作系统ROS—入门

上次我们通过机器人操作系统ROS—初探了解了ROS的基本概念和运行机制,并用内置的小龟模拟器进行了测试。本文我们开始学习如何编写自定义的Service/Client节点进行指定msg格式通信、尝试bag的录制和回放、并简单了解下三维可视化。

一、创建ROS msg消息和srv服务格式

参考:Creating a ROS msg and srv

温习一下,上一次我们了解到topic里的Message、ROS Services概念:

消息(msg):

 msg文件就是一个描述ROS中所使用消息类型的简单文本。它们会被用来生成不同语言的源代码。 阅读全文

机器人操作系统ROS—初探

一直听到ROS这个名字,很好奇它为什么在机器人领域这么出名,所以从今天起我将从零开始学习一下,看看它到底有哪些神奇之处。本文作为初探篇会先带大家了解ROS的基本概念,通过安装和创建/运行程序包了解Nodes节点、Topics/Msg、Service服务/参数服务器、几个常见的工具。

ROS (Robot Operating System, 机器人操作系统) 提供一系列程序库和工具以帮助软件开发者创建机器人应用软件。它提供了硬件抽象、设备驱动、库函数、可视化、消息传递和软件包管理等诸多功能。ROS遵守BSD开源许可协议。

ROS的官网:https://ros.org/

ROS 图(graph)概念:

  • Nodes:节点,一个节点即为一个可执行文件,它可以通过ROS与其它节点进行通信。 阅读全文

高可用/高安全的物联网实时消息传输服务方案选型

目前全球进入人工智能、物联网、自动驾驶、5G的新一轮技术革命浪潮中,深度学习、强化学习技术使计算机在某些特定领域(例如人脸识别、AlphaZero)下实现了比人类更好的效果,物联网促进所有电子设备的互联互通,自动驾驶使汽车更加智能和安全,5G使万物互联成为可能。

很多新技术在现实中的落地应用都避免不了大量的消息实时通信,例如物联网或自动驾驶,要想实时的获取海量设备或车辆的信息并进行远程控制指令下发,频繁的断开连接是无法确保通信效率和可靠性的,尤其是自动驾驶v2x等场景,云端结合路灯、红绿灯、其他车辆的数据判定某辆车必须进行减速以避免事故时,指令下发的时效性和送达率将是致命的问题,另外还有网络信号不稳定、地库等特殊环境信号差等情况,本文将针对这些问题来研究和探讨如何构建一个支持弱网的高送达率、高时效性、高安全性、高传输效率的实时双向/多向消息传输服务。

多源融合SLAM的现状与挑战

全国SLAM技术论坛由中国图象图形学学会CSIG主办,每年举办一届,邀请学术界和企业届的专家围绕SLAM技术的研究、发展以及产业化应用作技术分享。本文整理自浙江大学刘勇教授在第二届全国SLAM技术论坛中的报告。

刘勇,浙江大学智能系统与控制研究所教授,浙江大学求是青年学者,浙江省“新世纪151人才工程”第二层次培养人员,担任浙江省机器换人专家组专家。承担NSFC-浙江两化融合联合基金、国家自然科学基金青年和面上项目、科技部863重点项目子课题、浙江省杰出青年基金、工信部重大专项等国家级省部级项目多项。获得浙江省自然科学奖2017(一等奖),科学进步奖2013(一等奖)。主要研究方向包括:智能机器人系统、机器人感知与视觉、深度学习、大数据分析,多传感器融合等。

多源融合SLAM-现状与挑战

SLAM的定义比较经典,它的核心就是一个状态估计问题,根据传感器观测到的数据以及一些实际的模型,如何对这两者进行结合来准确估计实际情况。这个问题虽然在数学模型上比较简单,但是在实际过程中会面临很多的挑战以及不如意的实际现象。

首先的一个挑战就是landmark在实际应用中的复杂性(由于环境的复杂性引起);其次,由于sensor的不同,也会存在一些其他的问题。具体来讲,在纹理少、四季天气变化、光照剧烈变化、车载条件IMU退化、长走廊、机器人剧烈运动等情况下,原来很好用的SLAM方法在这些情况下往往会无用。这都是很棘手的场景,这些场景会给我们带来实际应用中的困惑,采用单一的传感器会面临这个问题,所以多源融合这个领域很热门,被产业界所认可。