turtlebot的mobile_base节点解析

在turtlebot的mininal.launcher的核心节点为mobile_base。
turtlebot_world.launch则是由gazebo发布。

mobile_bas_nodelet_manager为整个设备的基础节点,类似于kobuki的设备控制台。通过详细了解sub/pub topics和params,可以对mobile节点的作用和kobuki robot有哪些子设备和每个子设备的功能有初步了解。

实际主题前的~为"/mobile_base/"

xx:~/catkin_ws$ rostopic list | grep mobile_base
/mobile_base/commands/motor_power
/mobile_base/commands/reset_odometry
/mobile_base/commands/velocity
/mobile_base/events/bumper
/mobile_base/events/cliff
/mobile_base/sensors/bumper_pointcloud
/mobile_base/sensors/core
/mobile_base/sensors/imu_data
/mobile_base_nodelet_manager/bond

订阅的主题:
~commands/velocity (geometry_msgs/Twist) 设置预期速度,控制移动底盘

rostopic pub -r 10 /mobile_base/commands/velocity

~commands/motor_power(kobuki_msgs/MotorPower)开启关闭电机电源

~commands/external_power (kobuki_msgs/ExternalPower) 开启关闭额外的电源

~commands/reset_odometry (std_msgs/Empty) 重启里程计数器

~commands/sound (kobuki_msgs/Sound) 发送播放的声音

~commands/led1 (kobuki_msgs/Led) led1的控制命令

~commands/led2 (kobuki_msgs/Led) led2的控制命令

~commands/digital_output (kobuki_msgs/DigitalOutput) 设置数字输出端口

~commands/controller_info (kobuki_msgs/ControllerInfo) 对robot的轮胎速度控制器设置预期的PID增益

发布的主题:

odom (nav_msgs/Odometry)基于robot的陀螺仪和电机编码器计算出来的里程信息

包括:位置信息和速度信息
diagnostics (diagnostic_msgs/DiagnosticArray)1Hz的系统诊断信息

joint_states (sensor_msgs/JointState)更新轮胎节点信息

~events/button (kobuki_msgs/ButtonEvent)按键被按下或抬起事件

~events/bumper (kobuki_msgs/BumperEvent)减震器被挤压或松开事件

~events/cliff (kobuki_msgs/CliffEvent)悬崖传感器事件,是否接近或离开悬崖

~events/wheel_drop (kobuki_msgs/WheelDropEvent)轮胎悬空事件,当悬空时发布

~events/power_system (kobuki_msgs/PowerSystemEvent)电源系统事件,插入/拔出,高/低电量,更换电源

~events/robot_state (kobuki_msgs/RobotStateEvent)robot 上线或下线事件

~events/digital_input (kobuki_msgs/DigitalInputEvent) 数字输入端口改变事件

~sensors/imu_data (sensor_msgs/Imu) 陀螺仪数据信息,提供它的航向和角速度

~sensors/imu_data_raw (sensor_msgs/Imu) 3D陀螺仪的原始信息(x,y,z)

~sensors/dock_ir (kobuki_msgs/DockInfraRed) 红外传感器对接信息

~sensors/core (kobuki_msgs/SensorState)kobuki整体传感器详细信息,50Hz

~version_info (kobuki_msgs/VersionInfo)kobuki版本,UID,平台特点。

~controller_info (kobuki_msgs/ControllerInfo) robot 轮胎速度控制器的PID增益

~debug/raw_data_stream (std_msgs/String) 从robot接收到的原始byte数据

~debug/raw_data_command (std_msgs/String) 发送到robot的原始byte数据

~debug/raw_control_command (std_msgs/Int16MultiArray) 包括两个控制命令的原始数据,从xxx node接受到的命令和发送到robot的命令。

参数:
~device_port (string, default: ) linux usb 设备端口,出厂默认为/dev/kobuki

~wheel_left_joint_name (string, default: wheel_left_joint) 左轮胎关键状态的名称

~wheel_right_joint_name (string, default: wheel_right_joint) 右轮胎关键状态的名称

~battery_capacity (double, default: 16.5) 电池放电电压

~battery_low (double, default: 13.5) 电量警告标准

~battery_dangerous (double, default: 13.2) 电量危险标准

~cmd_vel_timeout (double, default: 0.6) 新命令超时时间

~publish_tf (bool, default: False) false: 大多数情况下tf从odom到base_link . true:由robot_pose_ekf发布tf,当odom不使用的情况下

~use_imu_heading (bool, default: True) 使用imu读航向方式代替编码其,这是kobuki的正常模式,因为陀螺仪非常准确。disable时当你想要使用更复杂的方式,例如过滤并使用robot_pose_ekf。

~odom_frame (string, default: odom) 里程计数器tf框架名字

~base_frame (string, default: base_footprint) 基础TF框架名称

~acceleration_limiter (bool, default: false) enable当想要kobuki去做最小平滑加速的速度命令输入。相当与kobuki node的辅助node,用来对robot做平滑加速而不需要连续发布命令。

原文链接:https://blog.csdn.net/sunyoop/article/details/77931407
参考wifi:http://wiki.ros.org/kobuki_node

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值