ROSNOTE :从头开始

机器人设置要求:

机器人使用tf发布坐标框架信息

接收sensor_msgs / LaserScan或sensor_msgs / PointCloud消息

使用tf和nav_msgs / Odometry发布里程信息

同时还接收速度命令以发送到底盘wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

一搭建机器人实现执行机构、驱动系统、内部传感系统、控制系统(可以基于笔记本实现)

  • 执行机构 两个直流电机带动主动轮,配合从动轮实现机器人的移动
  • 驱动系统是一块主控版,集成了电机驱动、电源驱动、传感器接口等底层驱动功能
    • 电源 提供电力
    • 电机驱动 作用1是将上层下达的控制信号转换成电机需要的电源信号,作用2是接受控制系统的运动命令,实现对电机的闭环驱动控制
    • 传感器接口集成到主板上处理超声波、里程计等传感器信号
  • 内部传感器主要是编码器,通过检测机器人两个主动轮单位时间转动的圈数,测量机器人的速度、角度、里程等信息
  • 控制系统
    • 单处理器 PC 控制:通过USB串口与机器人主控通信
    • 多处理器 PC+嵌入式系统:机器人上搭载嵌入式系统作为本体的控制系统,再配置PC实现远程监控、图形化显示
      • 嵌入式平台有很多,嵌入式平台中同样搭载ubuntu系统运行ROS,主要实现与机器人相互通信、外部传感器的数据采集,其他设备的控制系统的基础功能
      • PC端运行高性能的上层ROS功能包
      • 两者通过无线网络通信
    • 控制系统与机器人通信 : 控制系统与机器人驱动系统之间通过串口通信,控制系统下发机器人运动的速度指令,机器人上传里程计等传感器信息。为了实现控制系统与机器人的通信,需要了解通信协议。

 

二 分布式多机通信

PC+机器人

步骤:

  1. 设置ip ,PC和机器人处于同一局域网下,ifconfig查看计算机局域网ip地址
  2. 在两台计算机系统的/etc/hosts文件中加入对方的IP地址和计算机名
  3. 设置完后,使用ping命令测试网络是否连通
  4. 设置ROS相关的环境
  5. 如图所示

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 

三 、写一个控制器端节点 可以给底盘发送速度、可以读数据

了解通信协议之后,现在可以写一个控制器端节点,实现订阅速度控制指令,通过串口发送速度控制指令,实现机器人的运动,通过串口读取编码器的信息,发送机器人里程计消息。ros_exploring-master/robot_mrobot/mrobot_bringup/src/mrobot_bringup.cpp

(我观察了mrobot和riki的代码,实现与底层的通信,要写robot.h 、 robot.cpp、robot_node.cpp )

robot.h中要定义这个机器人类,robot.cpp实现这个类,robot_node.cpp 初始化(启动)这个机器人。

感觉不管怎么写,都是这个层次。
 

四、定位

五、规划

六、导航

 

里程计

里程计包括两个方面的信息:位姿(位置和转角)、速度(前进速度和转向速度)

整个移动机器人的控制结构如下图所示,(可能是建图)其中base_controller节点将订阅的cmd_vel信息通过串口或其它通信接口发送给下位机(嵌入式控制板)。下位机中根据机器人运动学公式进行解算,将机器人速度转换为每个轮子的速度,然后通过CAN总线(或其它总线接口)将每个轮子的转速发送给电机驱动板控制电机转动。电机驱动板对电机转速进行闭环控制(PID控制),并统计单位时间内接收到的编码器脉冲数,计算出轮子转速。

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

写的一篇好的导航文章

 


定位

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值