标签:ROS

【04运算平台选型】–ROS机器人制作指南

常见玩法 1.X86系:上网本、笔记本、便携电脑、迷你主机(Intel NUC)等 2.ARM系:TK1、RK3399、树莓派等 3.分布式:移动前端+网络+固定后端处理 选型 X86系不用多讲,平时用Win很顺畅的就可以了,除非你还做其他的大型运算 ARM系的差异就比较大,不容易评估不同的ARM主机的性能表现CPU、GPU、内存、网络能力 补一张rk3399的gmapping图片 树莓派跑Gmapping的情况:https://www.ncnynl.com/archives/201701/1225.html 树莓派的cpu使用率已经已经相当高,基本上保持在高位运行,这也导致电源消耗非常快,内存占用率在50%左右。 但也证明树莓派通过深度相机转换成激光数据跑SLAM是非常吃力的,CPU一直在高位运行,而且转换发布scan topic非常慢

【02底层硬件选型】–ROS机器人制作指南

底层硬件的主要任务 在本系统中,底层硬件主要特点是检测和执行,不负责策略的指定,在后续的制作过程中请谨记这一点 最最最核心的任务:控制电机、检测电机 光靠电机会在轮子滑动时或者地面不平坦时导致累计误差 所以引入IMU来减少轮子滑动或场地不同带来的误差 但是IMU只能减少累计误差,不能消除 超声波的目的是防止在ROS层的策略出现问题时系统出现意外,这个是专门为下位机设计的策略指定 底层硬件框图 推荐接线图 (包括开关变压器) 主控制器选型 ROS官方支持的最好的当属Arduino,但是Arduino的极客属性太强,容易出现一些BUG,当然上手快、资源多和成本是他最好的杀手锏 STM32是ROS支持的第二完善的,可以让你更自由的定义嵌入式底层硬件的逻辑,可定制性和稳定性高、适合量产,上手周期较长 本系列文章将着重介绍基于STM32作为底层硬件主控的移动平台 驱动器选型 常见的两种驱动架构: 这种驱动器仅仅是一种功率放大的作用,需要在单片机内部实现多路PWM输出、脉冲检测(正交解码)、PID闭环控制,甚至是过流保护等 开发周期长、成本低 这种驱动器不仅仅是一个功率放大的执行器,还内置了控制器…

ROS学习推荐书单

0x00 入门 《Learning ROS for Robotics Programming (Second Edition)》西班牙 (其对应的中文译本:《ROS机器人程序设计 (第2版)》机械工业出版社) 语言:C++ 版本:Hydro 时间:2015         尽管书中出现一些错误代码也有一点Bug,但从新手快速熟悉ROS这个角度来看,还是非常优秀的一本书。

【01移动平台选择】–ROS机器人制作指南

运动模型 选择 如果你已经有了一个底盘可跳过本章,阅读 如果你已经有了一个提供完整通信协议的底盘可跳过本章,阅读 以下是常见的轮式移动机器人的运动模型: 他们的共同特点是差速运动,因为差动系统的运动模型简单,容易推导。 在现代SLAM技术中,多是以差速运动的轮式移动平台作为底盘,即使你想研究腿足式机器人或无人驾驶汽车,也推荐你从差动底盘开始动手 tips:由ROS构建的系统多有明显的主从结构,所以为缩减体积,建议你做成纵向底层结构,大概是这样: 电机、轮胎、编码器与传动选型 参考电池的电压、功率、考虑整车的负重情况选择电机 多使用无刷和直流电机两种 二者最主要区别是无刷电机没有换向器及碳刷等换向组件,是靠电子元件进行换向的。就是说直流电机的中转子线圈的电流方向是有换向刷来改变的,而无刷电机中需要时刻检测转子的位置,改变励磁电流的方向 无刷电机噪音小,无火花,寿命长 具体怎么选,在这里就不赘述(很明显,我也不懂) 电机和轮毂的连接方式主要权衡承重和价格的问题 如果直接用电机输出轴直连轮毂,那势必会给电机带来巨大的压力,但是这样的轮毂和电机之间一致性比较好,载重较少的可以考虑 另外可以考虑…

基于ROS和Kinect的激光SLAM系统(附论文)顶置

        ROS机器人制作指南(更新中):http://oarap.org/robotics/ros_robot_guide         论文下载:本科毕业论文_基于ROS和RGB-D传感器的SLAM智能机器人.pdf(可右键另存为)         ROS源码:https://github.com/oarap-org/robot_ros         STM32源码:https://github.com/oarap-org/robot_stm32   演示视频 或 点我观看视频 作品实拍   硬件框图 软件框图 下位机PCB 场地实拍 栅格地图 (栅格地图中蓝色箭头表示上图的拍摄位置及角度) 节点关系 致谢       版权所有,转载请注明oarap.org 关于 / 赞赏

在ROS下使用USB_CAM驱动网络摄像头

开发环境:Firefly-RK3399 + Ubuntu 16.04 + ROS Kinetic + 金贵S9         0x00.首先在插入USB摄像头后运行lsusb,应该能看到和下图红色框选部分类似的一个设备:         0x01.运行demsg和ls /dev/video*,应该能看到类似下图红色框选部分的文字:

Linux下普通用户下无法打开串口,提示Permission denied

在学习ROS的过程中我们不可避免的要和串口打交道,可能是硬件的USB-TTL、USB-RS232、USB-TTL、USB蓝牙、板载蓝牙或者是软件的虚拟串口等等。 可以通过图形化串口调试工具cutecom等打开串口并通信,但是在运行某些ROS节点的时候需要打开串口时,却提示: Could not open serial port ‘/dev/ttyUSB0’(ttyUSB*、rfcomm*、ttyACM*等) Permission denied 含义为当前用户缺少该文件的读写权限

ROS入坑指北

机器人操作系统 (Robot Operating System,ROS) 是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。在某些方面ROS相当于一种“机器人框架” —-来自http://ros.org