开发模式(ROS)
### 开发模式(ROS)使用流程
> 注意:开发模式是将底盘及传感器封装为ROS节点使用,此模式下不提供建图导航功能。
1. 在机器人后台的设置页面中打开`开发模式`开关,然后点击建图按钮并确认,就已经成功启动ROS节点。

2. 在开发电脑(linux环境,处于同一局域网)中的`~/.bashrc`中添加`ROS_IP`及`ROS_MASTER_URI`环境变量
```bash
export ROS_IP=192.168.1.111 #ROS_IP为开发电脑本机IP地址
export ROS_MASTER_URI=http://192.168.1.100:11311 #ROS_MASTER_URI中的IP填写机器人的IP地址
```
3. 在开发电脑上执行`source ~/.bashrc`或者重新打开终端,执行`rostopic list`可以看到所有话题列表
### ROS节点及话题
1. ROS节点主要包括`/chassis`、`/bm_scan`、`/laser_filter`,chassis是底盘的控制节点,bm_scan是激光雷达节点,`laser_filter`是激光雷达数据处理节点。
2. ROS节点发布、订阅及服务列表
```bash
Node [/chassis]
Publications:
* /battery [sensor_msgs/BatteryState] #电池电压及百分比信息
* /odom [nav_msgs/Odometry] #里程计信息
* /tf [tf2_msgs/TFMessage] #tf变换
...
Subscriptions:
* /cmd_vel [geometry_msgs/Twist] #小车速度控制接口,发布频率需大于5Hz
...
--------------------------------------------------------------------------------
Node [/bm_scan]
Publications:
* /scan_data [sensor_msgs/LaserScan] #激光雷达原始数据
...
Subscriptions: None
...
--------------------------------------------------------------------------------
Node [/laser_filter]
Publications:
* /scan [sensor_msgs/LaserScan] #处理后的激光雷达数据
...
Subscriptions:
* /scan_data [sensor_msgs/LaserScan] #激光雷达原始数据
...
```