制作ROS移动机器人地盘

初识ROS之学习汇总 准研一,暑假在北京一家公司实习,初步学习ROS,在公司里测试了许多机器人,在这里汇总分享一下,实习了俩月虽然学到了满多东西,但觉得自己也不算完全入门,只是对ROS有了初步的了解,实习到现在我掌握的最重要的一个技能应该就是自主学习能力了,Github ros.wiki等网站的学习以及资料查询能力;认识到自己最严重的不足是编程能力,ROS中大多使用c++和python,在初步入门之后尝试开发以及创新时... 阅读详情

摘要

本教程讲述如何利用扫地机轮子制作ROS移动机器人地盘。

概述

原本不打算自己造轮子的,但是网上的移动机器人地盘要么巨贵–对于学生党,要么巨简陋–编码器线数低于40线,根本不能满足ROS移动机器人的需要。为了锻炼自己的动手能力(这个借口看起来比较积极,能掩盖没钱的尴尬…),准备从零打造一款ROS移动机器人地盘。
扫地机轮组减速比大致是50左右,电机编码器15-20线,轮子转一周大概是1000个脉冲,测量精度够用。
通过L298N控制电机正反转,PWM调速,这里需要用到PID控制。
电池电源12V,直接输入到L298N,5V电源由L298N提供。

硬件需求

陀螺仪 MPU6050/MPU9250
驱动轮 扫地机驱动轮(12V)
电机驱动模块 L298N
光电编码器驱动模块 自制
底盘主体 亚克力
控制器 STM32
万向轮 牛眼轮

注意:

  1. 对于某些SLAM算法来说,陀螺仪不是必须的。
  2. 扫地机驱动轮大都是12V的,某宝上各式各样的都有。选择时请注意选择光电编码器的,线数比较高,精度比霍尔编码器好点;安装孔尽量要在同一平面上,因为最终是要安装到亚克力板上。
  3. 底盘的设计图需要用CAD绘制,你需要提前测量好轮组的尺寸。一个小技
读取编码器的计数脉冲转化成ROS的odom数据 1,理论模型 (明天写。。。) 2, 代码片段 now = rospy.Time.now() # record get encode left&right in first time, must initial enc_right&left get_encode_count += 1 if get_encode... 阅读详情

相关推荐

提炼总结—ROS2机器人开发(第9章)(中)

《ROS2机器人开发 从入门到实践》是一本从零基础到实战落地的机器人开发指南,通过"基础理论+工具详解+项目实战"的三阶学习路径,带你掌握机器人操作系统ROS2核心架构。书中不仅包含通信机制、URDF建模等必备知识,更有SLAM导航、机械臂控制等12个工业级案例,配合Git代码库和仿真环境配置指南,帮助开发者快速实现从算法仿真到真机部署的完整闭环。无论是学生、工程师还是科研人员,都能通过本书构建系统的ROS2开发能力,抢占机器人技术前沿阵地。

weixin_41705306的博客 1692

ROS2机器人避障实战:从传感器融合到动态窗口法

本文提供了一份基于ROS2的机器人避障实战指南。从开发环境搭建入手,详细讲解了如何通过传感器融合技术整合激光雷达与深度相机数据,以提升障碍检测的鲁棒性。核心部分深入剖析了动态窗口法(DWA)的原理与参数配置,并指导读者在Nav2框架中集成完整的避障系统,实现从感知到决策的闭环。

weixin_28223453的博客 1266

ROS机器人STM32地盘程序

ROS机器人是的stm32底盘代码。包括PID算法,IMU九轴陀螺仪,和上位机串口通讯,PWM控制电机

ROS 扫地机器人路径覆盖及控制源码

基于turtlesim小乌龟实现的ROS 扫地机器人路径覆盖算法,及差速控制。 使用方法: 1、下载源码 cd catkin_ws/src catkin_create_pkg turtlesim_cleaner cd catkin_ws catkin_make 2、运行 roscore //ROS Master rosrun turtlesim turtlesim_node //turtlesim rosrun turtlesim_cleaner robot_cleaner_node

基于PSO-BP神经网络的风电功率预测研究论文复现

风电功率预测。基于PSO-BP神经网络的风电功率预测论文复现。matlab程序,注释清晰。

weixin_825487230的博客 2295

简易背单词系统C/C++

#include<stdio.h> #include<string.h> int F=20,N=100,k=0; int score[100]; int count=0; void hello(); void add(); void preview(); void mdelete(); void etc(); void cte(); void mscore(); void...

青木年华 9154

【Flink】FlinkCDC获取mysql数据时间类型差8小时时区解决方案

​ 1、背景: 在我们使用FlinkCDC采集mysql数据的时候,日期类型是我们很常见的类型,但是FlinkCDC读取出来会和数据库的日期时间不一致,情况如下 FlinkCDC获取的数据中create_time字段1694597238000转换为时间戳2023-09-13 17:27:18,而数据库中原始数据如下,并没有到下午5点,这就导致了FlinkCDC读出来的时间和数据库中实际的时间不一致的情况,与数据库对比可以发现,这里的时间戳与数据库时间刚好相差了 8 个小时,在实际生产中这种情况是不

一杯咖啡半杯糖的博客 3854

OpenCloudOS9操作系统搭建Confluence8.2.1+Jira企业级WIKI

Atlassian Confluence是一个专业的企业知识管理与协同软件,可用于构建企业wiki

背锅神童的博客 1023

多图详解VSCode搭建Python开发环境

本文通过多图的方式详细介绍了VSCode搭建Python开发环境,希望能对学习Python的同学们有所帮助。 文章目录 1. VSCode的介绍和安装 2. 安装插件 2.1 安装中文插件 2.2 安装Python插件 2.3 安装远程插件 3. 远程连接服务器 3.1 配置ssh 3.2 运行代码 3.3 调试代码

weixin_43178406的博客 8万+

Windows 11 安装 Maven:下载、安装、配置国内镜像、验证

本文详细介绍了在 Windows 11 系统中安装与配置 Apache Maven 的完整流程,包括 JDK 环境准备、Maven 下载解压、本地仓库路径设置、阿里云国内镜像加速配置、环境变量设置及安装验证。同时提供了常用 Maven 命令速查表,帮助开发者快速上手依赖管理与项目构建,提升开发效率。

寒水馨 · 轻量级技术文档 · hanshuixin.org 1505

17、高通8155座舱平台--QNX开发基础

我个人习惯,拿到一个新板子,第一件事就是打开IDE,建一个空的QNX项目,然后跑一遍Hello World。比如,当触摸屏被按下时,驱动发一个脉冲给UI进程,告诉它“嘿,有人摸屏幕了”。我在8155上调试时,就遇到过因为脉冲优先级太低,导致触摸响应延迟的问题。IDE自带的编译器是qcc,它其实是gcc的封装。QNX的IPC机制,可以说是它最牛的地方。嗯,这套流程走下来,你对QNX开发的基本功就差不多了。QNX默认的消息缓冲区大小是64KB,如果你要传大块数据,比如音频流,那就得用共享内存了。

woailuojp的博客 51

【数据集】MODIS 的 MOD07 大气廓线产品概述及下载

MODIS 的 MOD07 大气廓线产品概述及下载

WW、forever的博客 550

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 源码编译Boost库的正确姿态
public void man
博客等级 码龄9年 11粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值