当前位置: 首页 > news >正文

网站建设价位更换wordpress语言包

网站建设价位,更换wordpress语言包,服装设计公司logo,国内最新新闻重要参考: 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 8.4.1 底盘实现_概述 1.ros_arduino_bridge 简介 该功能包包含Arduino库和用来控制Arduino的ROS驱动包&…

重要参考:

课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ

讲义链接:Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程

8.4.1 底盘实现_概述

1.ros_arduino_bridge 简介

该功能包包含Arduino库和用来控制Arduino的ROS驱动包,它旨在成为在ROS下运行Arduino控制的机器人的完整解决方案。

其中当前主要关注的是:功能包集中一个兼容不同驱动的机器人的基本控制器(base controller),它可以接收ROS Twist类型的消息,可以发布里程计数据。

特点:

  • 可以直接支持ping声呐和Sharp红外线传感器;

  • 也可以从通用的模拟和数字信号的传感器读取数据;

  • 可以控制数字信号的输出;

  • 支持PWM伺服机;

  • 如果使用所要求的硬件的话,可以配置基本功能;

  • 如果你的Arduino编程基础好的话,并且具有python基础的话,你就可以很自由的改动代码来满足你的硬件要求。

注意:

  • 官方提供的部分硬件不易采购,需要修改下位机程序,以适配当前硬件。

系统要求:

  • 如果只是安装调试下位机,那么不必须安装ROS系统,只要有 arduino 开发环境即可;

  • 而上位机调试,适用于 ROS Indigo 及更高版本,但是暂不支持最新版本 noetic,所以上位机需要使用其它版本的ROS(建议 melodic);

下载:

进入ROS工作空间的src目录,输入命令:

git clone https://github.com/hbrobotics/ros_arduino_bridge.git
2.ros_arduino_bridge 架构

文件结构说明

├── ros_arduino_bridge                      # metapackage (元功能包)
│   ├── CMakeLists.txt
│   └── package.xml
├── ros_arduino_firmware                    #固件包,更新到Arduino
│   ├── CMakeLists.txt
│   ├── package.xml
│   └── src
│       └── libraries                       #库目录
│           ├── MegaRobogaiaPololu          #针对Pololu电机控制器,MegaRobogaia编码器的头文件定义
│           │   ├── commands.h              #定义命令头文件
│           │   ├── diff_controller.h       #差分轮PID控制头文件
│           │   ├── MegaRobogaiaPololu.ino  #PID实现文件
│           │   ├── sensors.h               #传感器相关实现,超声波测距,Ping函数
│           │   └── servos.h                #伺服器头文件
│           └── ROSArduinoBridge            #Arduino相关库定义
│               ├── commands.h              #定义命令
│               ├── diff_controller.h       #差分轮PID控制头文件
│               ├── encoder_driver.h        #编码器驱动头文件
│               ├── encoder_driver.ino      #编码器驱动实现, 读取编码器数据,重置编码器等
│               ├── motor_driver.h          #电机驱动头文件
│               ├── motor_driver.ino        #电机驱动实现,初始化控制器,设置速度
│               ├── ROSArduinoBridge.ino    #核心功能实现,程序入口
│               ├── sensors.h               #传感器头文件及实现
│               ├── servos.h                #伺服器头文件,定义插脚,类
│               └── servos.ino              #伺服器实现
├── ros_arduino_msgs                        #消息定义包
│   ├── CMakeLists.txt
│   ├── msg                                 #定义消息
│   │   ├── AnalogFloat.msg                 #定义模拟IO浮点消息
│   │   ├── Analog.msg                      #定义模拟IO数字消息
│   │   ├── ArduinoConstants.msg            #定义常量消息
│   │   ├── Digital.msg                     #定义数字IO消息
│   │   └── SensorState.msg                 #定义传感器状态消息
│   ├── package.xml
│   └── srv                                 #定义服务
│       ├── AnalogRead.srv                  #模拟IO输入
│       ├── AnalogWrite.srv                 #模拟IO输出
│       ├── DigitalRead.srv                 #数字IO输入
│       ├── DigitalSetDirection.srv     #数字IO设置方向
│       ├── DigitalWrite.srv                #数字IO输入
│       ├── ServoRead.srv                   #伺服电机输入
│       └── ServoWrite.srv                  #伺服电机输出
└── ros_arduino_python                      #ROS相关的Python包,用于上位机,树莓派等开发板或电脑等。├── CMakeLists.txt├── config                              #配置目录│   └── arduino_params.yaml             #定义相关参数,端口,rate,PID,sensors等默认参数。由arduino.launch调用├── launch│   └── arduino.launch                  #启动文件├── nodes│   └── arduino_node.py                 #python文件,实际处理节点,由arduino.launch调用,即可单独调用。├── package.xml├── setup.py└── src                                 #Python类包目录└── ros_arduino_python├── arduino_driver.py           #Arduino驱动类├── arduino_sensors.py          #Arduino传感器类├── base_controller.py          #基本控制类,订阅cmd_vel话题,发布odom话题└── __init__.py                 #类包默认空文件

上述目录结构虽然复杂,但是关注的只有两大部分:

  • ros_arduino_bridge/ros_arduino_firmware/src/libraries/ROSArduinoBridge
  • ros_arduino_bridge/ros_arduino_python/config/arduino_params.yaml

前者是Arduino端的固件包实现,需要修改并上传至Arduino电路板;

后者是ROS端的一个配置文件,相关驱动已经封装完毕,我们只需要修改配置信息即可。

整体而言,借助于 ros_arduino_bridge可以大大提高我们的开发效率。

3.案例实现

基于ros_arduino_bridge的底盘实现具体步骤如下:

  • 了解并修改Arduino端程序主入口ROSArduinoBridge.ino 文件;

  • Arduino端添加编码器驱动;

  • Arduino端添加电机驱动模块;

  • Arduino端实现PID调试;

 

http://www.yayakq.cn/news/154939/

相关文章:

  • 四川建设行政主管部门官方网站5944免费空间上搭建网站
  • 山西太原网站建设做网站竞价是什么意思
  • 祥云平台技术支持双语网站页面设计风格的主要内容
  • 网站设计规划方案中建卓越建设有限公司网站首页
  • 手机对比网站自己建免费网站
  • 自学做网站要学什么某企业网络营销策略研究论文
  • 深圳网站制作公司讯息东莞网站建设多长时间
  • 学习电子商务网站建设与管理的感想网站的域名和密码
  • 南网站建设 首选搜点网络沈阳网站建设 熊掌号
  • ICP备案不停网站做网页的素材
  • 宽甸县建设局网站投票制作网站
  • 电商网站模板引擎浏览器下载免费安装
  • 哪些人可以做网站怎么给自己网站做搜索框
  • 多多卡起货网站建设昆明百度网站建设
  • 城市建设模拟游戏网站一般网站隐蔽点么么进
  • 网站的静态页面谁做宣传推广
  • 网站首页排名突然没了百度推广网站建设费
  • 网站开发知识视频dw软件可以做哪些网站
  • 做贷超网站 前期需要什么分析网站美工做的是什么
  • 试述网站建设的流程民宿网站开发dfd图
  • 微商手机网站制作公司哪家好企业商城网站开发
  • 网站建设 公司百度学术搜索入口
  • 广西钦州网站建设部署wordpress最应该用什么os
  • 湛江网站搜索引擎推广泸州市建设工程管理局网站
  • 常州网站公司怎么选慧聪网郭凡生现状
  • 金华网站制作推广网站开发教学大纲
  • 做百度网站电话号码公司做网站的价格江阴
  • 化工网站模板下载大连事件最新消息
  • 教育网网站建设规范哪里可以免费推广广告
  • 产品网站定制二级院系网站建设