Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | 16th National College Student’s Intelligent Car Competition Code 第十六届智能汽车竞赛讯飞智慧餐厅代码 |
Checkout URI | https://github.com/ht-hlf/car_competition.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-01-27 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- iflytek
Authors
[TOC]
1. 全部功能
1.1 里程计与底盘的坐标变换是否发布由参数实时配置
参数名称:publish_odom_tf
- 设置为true: 发布 odom -> base_link的坐标变换
- 设置为false: 不发布 odom -> base_link的坐标变换
注,以下运动相关服务优先度大于实时运动控制(cmd_vel)当服务完成后才会继续执行实时控制。(手柄的优先级更高,不过不涉及web接口,此处不详细描述。手柄 > 运动服务 > cmd_vel)
1.2 停止运动服务
服务名:stop_move
(基于速度、距离、角度的运动)
用途:调用后立即终止正在运行的time_move
或vel_dist_move
。
并回到cmd控制模式
服务数据类型:std_srvs/Trigger.srv
---
bool success #运动结束时返回true,异常返回false
string message #返回的字符串信息
返回枚举:
- 成功停止
res.success = true;
res.message = "Move stopped ";
- 不在move模式,不需要停止
res.success = false;
res.message = "Not in MOTOR_MODE_MOVE.";
1.3 实时控制
方式:发布话题。
话题名:cmd_vel
msg类型:geometry_msgs/Twist.msg
geometry_msgs/Vector3 linear
float64 x # x方向线速度
float64 y # y方向线速度
float64 z # 无效
geometry_msgs/Vector3 angular
float64 x # 无效
float64 y # 无效
float64 z # z轴角速度
1.4 设置灯光效果
服务名:get_battery_state
服务数据类型:aicar_controller/GetBatteryInfo.srv
uint8 MODE_NORMAL = 0 # 常亮
uint8 MODE_BLINK = 1 # 闪烁
uint8 MODE_BREATH = 2 # 呼吸
uint8 mode_type # 灯光模式
float64 frequency # 模式频率(常亮模式自动忽略)
uint8 red_value # 红色光亮度范围(0-255)
uint8 green_value # 绿色光亮度范围(0-255)
uint8 blue_value # 蓝色光亮度范围(0-255)
---
bool success # 设置是否成功
string message # 异常log信息
response枚举: 1、设置失败(可能与MUC通信异常) res.success = false; res.message = “Can’t connect base’s MCU.”; 2、设置成功 res.success = true; res.message = “Set LED success.”;
1.5 底盘电池信息发布(仅电池剩余电量百分比有效,即:percentage)
话题名:battery_state
sensor_msgs/BatteryState.msg
``` POWER_SUPPLY_STATUS_UNKNOWN = 0 # 未知 POWER_SUPPLY_STATUS_CHARGING = 1 # 充电 POWER_SUPPLY_STATUS_DISCHARGING = 2 # 放电中 POWER_SUPPLY_STATUS_NOT_CHARGING = 3 # 未充电 POWER_SUPPLY_STATUS_FULL = 4 # 满电 POWER_SUPPLY_HEALTH_UNKNOWN = 0 # 未知 POWER_SUPPLY_HEALTH_GOOD = 1 # 良好 POWER_SUPPLY_HEALTH_OVERHEAT = 2 # 过热 POWER_SUPPLY_HEALTH_DEAD = 3 # 没电 POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4 # 过电压 POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 5 # 未知错误 POWER_SUPPLY_HEALTH_COLD = 6 # 过冷 POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 7 # POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 8 # POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0 # 未知 POWER_SUPPLY_TECHNOLOGY_NIMH = 1 # Ni-MH battery 镍氢电池 POWER_SUPPLY_TECHNOLOGY_LION = 2 # Li-ion battery 锂离子电池 POWER_SUPPLY_TECHNOLOGY_LIPO = 3 # Li-Po battery 锂聚合物电池 POWER_SUPPLY_TECHNOLOGY_LIFE = 4 # li-Fe battery 锂铁电池 POWER_SUPPLY_TECHNOLOGY_NICD = 5 # NiCd battery 镍镉电池 POWER_SUPPLY_TECHNOLOGY_LIMN = 6 # LiMn battery 锂锰电池
std_msgs/Header header
File truncated at 100 lines see the full file
串口通讯协议(20200416):
1. 帧定义
1.1 STM32 Write数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | 电池百分比 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 1 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x76(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ 电池百分比
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
注:该版本电机编码率为270(一圈输出270个脉冲)
E: 电池百分比:剩余电量百分比(估计值)。
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+电池百分比
1.2 STM32 READ数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | LED控制 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 3 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x75(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ LED控制
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
E: LED的rgb控制
uint8_t green_value;
uint8_t red_value;
uint8_t blue_value;
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+LED控制
1.3 校验和函数
bool checkCS(int len){
uint8_t cs = 0;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_read_[i];
}
return pack_read_[len - 1] == cs;
}
void setCS(int len)
{
uint8_t cs = 0x00;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_write_[i];
}
pack_write_[len - 1] = cs;
}
Package Dependencies
Deps | Name |
---|---|
geometry_msgs | |
roscpp | |
rospy | |
sensor_msgs | |
std_msgs | |
std_srvs | |
tf | |
message_generation | |
catkin | |
genmsg | |
message_runtime |
System Dependencies
Dependant Packages
Launch files
- launch/base_driver.launch
-
- package_path [default: $(find xf_mic_tts_offline)]
- launch/tf_server.launch
Messages
Services
Plugins
Recent questions tagged ucar_controller at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | 16th National College Student’s Intelligent Car Competition Code 第十六届智能汽车竞赛讯飞智慧餐厅代码 |
Checkout URI | https://github.com/ht-hlf/car_competition.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-01-27 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- iflytek
Authors
[TOC]
1. 全部功能
1.1 里程计与底盘的坐标变换是否发布由参数实时配置
参数名称:publish_odom_tf
- 设置为true: 发布 odom -> base_link的坐标变换
- 设置为false: 不发布 odom -> base_link的坐标变换
注,以下运动相关服务优先度大于实时运动控制(cmd_vel)当服务完成后才会继续执行实时控制。(手柄的优先级更高,不过不涉及web接口,此处不详细描述。手柄 > 运动服务 > cmd_vel)
1.2 停止运动服务
服务名:stop_move
(基于速度、距离、角度的运动)
用途:调用后立即终止正在运行的time_move
或vel_dist_move
。
并回到cmd控制模式
服务数据类型:std_srvs/Trigger.srv
---
bool success #运动结束时返回true,异常返回false
string message #返回的字符串信息
返回枚举:
- 成功停止
res.success = true;
res.message = "Move stopped ";
- 不在move模式,不需要停止
res.success = false;
res.message = "Not in MOTOR_MODE_MOVE.";
1.3 实时控制
方式:发布话题。
话题名:cmd_vel
msg类型:geometry_msgs/Twist.msg
geometry_msgs/Vector3 linear
float64 x # x方向线速度
float64 y # y方向线速度
float64 z # 无效
geometry_msgs/Vector3 angular
float64 x # 无效
float64 y # 无效
float64 z # z轴角速度
1.4 设置灯光效果
服务名:get_battery_state
服务数据类型:aicar_controller/GetBatteryInfo.srv
uint8 MODE_NORMAL = 0 # 常亮
uint8 MODE_BLINK = 1 # 闪烁
uint8 MODE_BREATH = 2 # 呼吸
uint8 mode_type # 灯光模式
float64 frequency # 模式频率(常亮模式自动忽略)
uint8 red_value # 红色光亮度范围(0-255)
uint8 green_value # 绿色光亮度范围(0-255)
uint8 blue_value # 蓝色光亮度范围(0-255)
---
bool success # 设置是否成功
string message # 异常log信息
response枚举: 1、设置失败(可能与MUC通信异常) res.success = false; res.message = “Can’t connect base’s MCU.”; 2、设置成功 res.success = true; res.message = “Set LED success.”;
1.5 底盘电池信息发布(仅电池剩余电量百分比有效,即:percentage)
话题名:battery_state
sensor_msgs/BatteryState.msg
``` POWER_SUPPLY_STATUS_UNKNOWN = 0 # 未知 POWER_SUPPLY_STATUS_CHARGING = 1 # 充电 POWER_SUPPLY_STATUS_DISCHARGING = 2 # 放电中 POWER_SUPPLY_STATUS_NOT_CHARGING = 3 # 未充电 POWER_SUPPLY_STATUS_FULL = 4 # 满电 POWER_SUPPLY_HEALTH_UNKNOWN = 0 # 未知 POWER_SUPPLY_HEALTH_GOOD = 1 # 良好 POWER_SUPPLY_HEALTH_OVERHEAT = 2 # 过热 POWER_SUPPLY_HEALTH_DEAD = 3 # 没电 POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4 # 过电压 POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 5 # 未知错误 POWER_SUPPLY_HEALTH_COLD = 6 # 过冷 POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 7 # POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 8 # POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0 # 未知 POWER_SUPPLY_TECHNOLOGY_NIMH = 1 # Ni-MH battery 镍氢电池 POWER_SUPPLY_TECHNOLOGY_LION = 2 # Li-ion battery 锂离子电池 POWER_SUPPLY_TECHNOLOGY_LIPO = 3 # Li-Po battery 锂聚合物电池 POWER_SUPPLY_TECHNOLOGY_LIFE = 4 # li-Fe battery 锂铁电池 POWER_SUPPLY_TECHNOLOGY_NICD = 5 # NiCd battery 镍镉电池 POWER_SUPPLY_TECHNOLOGY_LIMN = 6 # LiMn battery 锂锰电池
std_msgs/Header header
File truncated at 100 lines see the full file
串口通讯协议(20200416):
1. 帧定义
1.1 STM32 Write数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | 电池百分比 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 1 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x76(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ 电池百分比
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
注:该版本电机编码率为270(一圈输出270个脉冲)
E: 电池百分比:剩余电量百分比(估计值)。
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+电池百分比
1.2 STM32 READ数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | LED控制 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 3 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x75(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ LED控制
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
E: LED的rgb控制
uint8_t green_value;
uint8_t red_value;
uint8_t blue_value;
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+LED控制
1.3 校验和函数
bool checkCS(int len){
uint8_t cs = 0;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_read_[i];
}
return pack_read_[len - 1] == cs;
}
void setCS(int len)
{
uint8_t cs = 0x00;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_write_[i];
}
pack_write_[len - 1] = cs;
}
Package Dependencies
Deps | Name |
---|---|
geometry_msgs | |
roscpp | |
rospy | |
sensor_msgs | |
std_msgs | |
std_srvs | |
tf | |
message_generation | |
catkin | |
genmsg | |
message_runtime |
System Dependencies
Dependant Packages
Launch files
- launch/base_driver.launch
-
- package_path [default: $(find xf_mic_tts_offline)]
- launch/tf_server.launch
Messages
Services
Plugins
Recent questions tagged ucar_controller at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | 16th National College Student’s Intelligent Car Competition Code 第十六届智能汽车竞赛讯飞智慧餐厅代码 |
Checkout URI | https://github.com/ht-hlf/car_competition.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-01-27 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- iflytek
Authors
[TOC]
1. 全部功能
1.1 里程计与底盘的坐标变换是否发布由参数实时配置
参数名称:publish_odom_tf
- 设置为true: 发布 odom -> base_link的坐标变换
- 设置为false: 不发布 odom -> base_link的坐标变换
注,以下运动相关服务优先度大于实时运动控制(cmd_vel)当服务完成后才会继续执行实时控制。(手柄的优先级更高,不过不涉及web接口,此处不详细描述。手柄 > 运动服务 > cmd_vel)
1.2 停止运动服务
服务名:stop_move
(基于速度、距离、角度的运动)
用途:调用后立即终止正在运行的time_move
或vel_dist_move
。
并回到cmd控制模式
服务数据类型:std_srvs/Trigger.srv
---
bool success #运动结束时返回true,异常返回false
string message #返回的字符串信息
返回枚举:
- 成功停止
res.success = true;
res.message = "Move stopped ";
- 不在move模式,不需要停止
res.success = false;
res.message = "Not in MOTOR_MODE_MOVE.";
1.3 实时控制
方式:发布话题。
话题名:cmd_vel
msg类型:geometry_msgs/Twist.msg
geometry_msgs/Vector3 linear
float64 x # x方向线速度
float64 y # y方向线速度
float64 z # 无效
geometry_msgs/Vector3 angular
float64 x # 无效
float64 y # 无效
float64 z # z轴角速度
1.4 设置灯光效果
服务名:get_battery_state
服务数据类型:aicar_controller/GetBatteryInfo.srv
uint8 MODE_NORMAL = 0 # 常亮
uint8 MODE_BLINK = 1 # 闪烁
uint8 MODE_BREATH = 2 # 呼吸
uint8 mode_type # 灯光模式
float64 frequency # 模式频率(常亮模式自动忽略)
uint8 red_value # 红色光亮度范围(0-255)
uint8 green_value # 绿色光亮度范围(0-255)
uint8 blue_value # 蓝色光亮度范围(0-255)
---
bool success # 设置是否成功
string message # 异常log信息
response枚举: 1、设置失败(可能与MUC通信异常) res.success = false; res.message = “Can’t connect base’s MCU.”; 2、设置成功 res.success = true; res.message = “Set LED success.”;
1.5 底盘电池信息发布(仅电池剩余电量百分比有效,即:percentage)
话题名:battery_state
sensor_msgs/BatteryState.msg
``` POWER_SUPPLY_STATUS_UNKNOWN = 0 # 未知 POWER_SUPPLY_STATUS_CHARGING = 1 # 充电 POWER_SUPPLY_STATUS_DISCHARGING = 2 # 放电中 POWER_SUPPLY_STATUS_NOT_CHARGING = 3 # 未充电 POWER_SUPPLY_STATUS_FULL = 4 # 满电 POWER_SUPPLY_HEALTH_UNKNOWN = 0 # 未知 POWER_SUPPLY_HEALTH_GOOD = 1 # 良好 POWER_SUPPLY_HEALTH_OVERHEAT = 2 # 过热 POWER_SUPPLY_HEALTH_DEAD = 3 # 没电 POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4 # 过电压 POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 5 # 未知错误 POWER_SUPPLY_HEALTH_COLD = 6 # 过冷 POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 7 # POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 8 # POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0 # 未知 POWER_SUPPLY_TECHNOLOGY_NIMH = 1 # Ni-MH battery 镍氢电池 POWER_SUPPLY_TECHNOLOGY_LION = 2 # Li-ion battery 锂离子电池 POWER_SUPPLY_TECHNOLOGY_LIPO = 3 # Li-Po battery 锂聚合物电池 POWER_SUPPLY_TECHNOLOGY_LIFE = 4 # li-Fe battery 锂铁电池 POWER_SUPPLY_TECHNOLOGY_NICD = 5 # NiCd battery 镍镉电池 POWER_SUPPLY_TECHNOLOGY_LIMN = 6 # LiMn battery 锂锰电池
std_msgs/Header header
File truncated at 100 lines see the full file
串口通讯协议(20200416):
1. 帧定义
1.1 STM32 Write数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | 电池百分比 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 1 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x76(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ 电池百分比
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
注:该版本电机编码率为270(一圈输出270个脉冲)
E: 电池百分比:剩余电量百分比(估计值)。
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+电池百分比
1.2 STM32 READ数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | LED控制 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 3 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x75(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ LED控制
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
E: LED的rgb控制
uint8_t green_value;
uint8_t red_value;
uint8_t blue_value;
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+LED控制
1.3 校验和函数
bool checkCS(int len){
uint8_t cs = 0;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_read_[i];
}
return pack_read_[len - 1] == cs;
}
void setCS(int len)
{
uint8_t cs = 0x00;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_write_[i];
}
pack_write_[len - 1] = cs;
}
Package Dependencies
Deps | Name |
---|---|
geometry_msgs | |
roscpp | |
rospy | |
sensor_msgs | |
std_msgs | |
std_srvs | |
tf | |
message_generation | |
catkin | |
genmsg | |
message_runtime |
System Dependencies
Dependant Packages
Launch files
- launch/base_driver.launch
-
- package_path [default: $(find xf_mic_tts_offline)]
- launch/tf_server.launch
Messages
Services
Plugins
Recent questions tagged ucar_controller at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | 16th National College Student’s Intelligent Car Competition Code 第十六届智能汽车竞赛讯飞智慧餐厅代码 |
Checkout URI | https://github.com/ht-hlf/car_competition.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-01-27 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- iflytek
Authors
[TOC]
1. 全部功能
1.1 里程计与底盘的坐标变换是否发布由参数实时配置
参数名称:publish_odom_tf
- 设置为true: 发布 odom -> base_link的坐标变换
- 设置为false: 不发布 odom -> base_link的坐标变换
注,以下运动相关服务优先度大于实时运动控制(cmd_vel)当服务完成后才会继续执行实时控制。(手柄的优先级更高,不过不涉及web接口,此处不详细描述。手柄 > 运动服务 > cmd_vel)
1.2 停止运动服务
服务名:stop_move
(基于速度、距离、角度的运动)
用途:调用后立即终止正在运行的time_move
或vel_dist_move
。
并回到cmd控制模式
服务数据类型:std_srvs/Trigger.srv
---
bool success #运动结束时返回true,异常返回false
string message #返回的字符串信息
返回枚举:
- 成功停止
res.success = true;
res.message = "Move stopped ";
- 不在move模式,不需要停止
res.success = false;
res.message = "Not in MOTOR_MODE_MOVE.";
1.3 实时控制
方式:发布话题。
话题名:cmd_vel
msg类型:geometry_msgs/Twist.msg
geometry_msgs/Vector3 linear
float64 x # x方向线速度
float64 y # y方向线速度
float64 z # 无效
geometry_msgs/Vector3 angular
float64 x # 无效
float64 y # 无效
float64 z # z轴角速度
1.4 设置灯光效果
服务名:get_battery_state
服务数据类型:aicar_controller/GetBatteryInfo.srv
uint8 MODE_NORMAL = 0 # 常亮
uint8 MODE_BLINK = 1 # 闪烁
uint8 MODE_BREATH = 2 # 呼吸
uint8 mode_type # 灯光模式
float64 frequency # 模式频率(常亮模式自动忽略)
uint8 red_value # 红色光亮度范围(0-255)
uint8 green_value # 绿色光亮度范围(0-255)
uint8 blue_value # 蓝色光亮度范围(0-255)
---
bool success # 设置是否成功
string message # 异常log信息
response枚举: 1、设置失败(可能与MUC通信异常) res.success = false; res.message = “Can’t connect base’s MCU.”; 2、设置成功 res.success = true; res.message = “Set LED success.”;
1.5 底盘电池信息发布(仅电池剩余电量百分比有效,即:percentage)
话题名:battery_state
sensor_msgs/BatteryState.msg
``` POWER_SUPPLY_STATUS_UNKNOWN = 0 # 未知 POWER_SUPPLY_STATUS_CHARGING = 1 # 充电 POWER_SUPPLY_STATUS_DISCHARGING = 2 # 放电中 POWER_SUPPLY_STATUS_NOT_CHARGING = 3 # 未充电 POWER_SUPPLY_STATUS_FULL = 4 # 满电 POWER_SUPPLY_HEALTH_UNKNOWN = 0 # 未知 POWER_SUPPLY_HEALTH_GOOD = 1 # 良好 POWER_SUPPLY_HEALTH_OVERHEAT = 2 # 过热 POWER_SUPPLY_HEALTH_DEAD = 3 # 没电 POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4 # 过电压 POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 5 # 未知错误 POWER_SUPPLY_HEALTH_COLD = 6 # 过冷 POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 7 # POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 8 # POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0 # 未知 POWER_SUPPLY_TECHNOLOGY_NIMH = 1 # Ni-MH battery 镍氢电池 POWER_SUPPLY_TECHNOLOGY_LION = 2 # Li-ion battery 锂离子电池 POWER_SUPPLY_TECHNOLOGY_LIPO = 3 # Li-Po battery 锂聚合物电池 POWER_SUPPLY_TECHNOLOGY_LIFE = 4 # li-Fe battery 锂铁电池 POWER_SUPPLY_TECHNOLOGY_NICD = 5 # NiCd battery 镍镉电池 POWER_SUPPLY_TECHNOLOGY_LIMN = 6 # LiMn battery 锂锰电池
std_msgs/Header header
File truncated at 100 lines see the full file
串口通讯协议(20200416):
1. 帧定义
1.1 STM32 Write数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | 电池百分比 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 1 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x76(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ 电池百分比
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
注:该版本电机编码率为270(一圈输出270个脉冲)
E: 电池百分比:剩余电量百分比(估计值)。
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+电池百分比
1.2 STM32 READ数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | LED控制 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 3 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x75(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ LED控制
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
E: LED的rgb控制
uint8_t green_value;
uint8_t red_value;
uint8_t blue_value;
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+LED控制
1.3 校验和函数
bool checkCS(int len){
uint8_t cs = 0;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_read_[i];
}
return pack_read_[len - 1] == cs;
}
void setCS(int len)
{
uint8_t cs = 0x00;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_write_[i];
}
pack_write_[len - 1] = cs;
}
Package Dependencies
Deps | Name |
---|---|
geometry_msgs | |
roscpp | |
rospy | |
sensor_msgs | |
std_msgs | |
std_srvs | |
tf | |
message_generation | |
catkin | |
genmsg | |
message_runtime |
System Dependencies
Dependant Packages
Launch files
- launch/base_driver.launch
-
- package_path [default: $(find xf_mic_tts_offline)]
- launch/tf_server.launch
Messages
Services
Plugins
Recent questions tagged ucar_controller at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | 16th National College Student’s Intelligent Car Competition Code 第十六届智能汽车竞赛讯飞智慧餐厅代码 |
Checkout URI | https://github.com/ht-hlf/car_competition.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-01-27 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- iflytek
Authors
[TOC]
1. 全部功能
1.1 里程计与底盘的坐标变换是否发布由参数实时配置
参数名称:publish_odom_tf
- 设置为true: 发布 odom -> base_link的坐标变换
- 设置为false: 不发布 odom -> base_link的坐标变换
注,以下运动相关服务优先度大于实时运动控制(cmd_vel)当服务完成后才会继续执行实时控制。(手柄的优先级更高,不过不涉及web接口,此处不详细描述。手柄 > 运动服务 > cmd_vel)
1.2 停止运动服务
服务名:stop_move
(基于速度、距离、角度的运动)
用途:调用后立即终止正在运行的time_move
或vel_dist_move
。
并回到cmd控制模式
服务数据类型:std_srvs/Trigger.srv
---
bool success #运动结束时返回true,异常返回false
string message #返回的字符串信息
返回枚举:
- 成功停止
res.success = true;
res.message = "Move stopped ";
- 不在move模式,不需要停止
res.success = false;
res.message = "Not in MOTOR_MODE_MOVE.";
1.3 实时控制
方式:发布话题。
话题名:cmd_vel
msg类型:geometry_msgs/Twist.msg
geometry_msgs/Vector3 linear
float64 x # x方向线速度
float64 y # y方向线速度
float64 z # 无效
geometry_msgs/Vector3 angular
float64 x # 无效
float64 y # 无效
float64 z # z轴角速度
1.4 设置灯光效果
服务名:get_battery_state
服务数据类型:aicar_controller/GetBatteryInfo.srv
uint8 MODE_NORMAL = 0 # 常亮
uint8 MODE_BLINK = 1 # 闪烁
uint8 MODE_BREATH = 2 # 呼吸
uint8 mode_type # 灯光模式
float64 frequency # 模式频率(常亮模式自动忽略)
uint8 red_value # 红色光亮度范围(0-255)
uint8 green_value # 绿色光亮度范围(0-255)
uint8 blue_value # 蓝色光亮度范围(0-255)
---
bool success # 设置是否成功
string message # 异常log信息
response枚举: 1、设置失败(可能与MUC通信异常) res.success = false; res.message = “Can’t connect base’s MCU.”; 2、设置成功 res.success = true; res.message = “Set LED success.”;
1.5 底盘电池信息发布(仅电池剩余电量百分比有效,即:percentage)
话题名:battery_state
sensor_msgs/BatteryState.msg
``` POWER_SUPPLY_STATUS_UNKNOWN = 0 # 未知 POWER_SUPPLY_STATUS_CHARGING = 1 # 充电 POWER_SUPPLY_STATUS_DISCHARGING = 2 # 放电中 POWER_SUPPLY_STATUS_NOT_CHARGING = 3 # 未充电 POWER_SUPPLY_STATUS_FULL = 4 # 满电 POWER_SUPPLY_HEALTH_UNKNOWN = 0 # 未知 POWER_SUPPLY_HEALTH_GOOD = 1 # 良好 POWER_SUPPLY_HEALTH_OVERHEAT = 2 # 过热 POWER_SUPPLY_HEALTH_DEAD = 3 # 没电 POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4 # 过电压 POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 5 # 未知错误 POWER_SUPPLY_HEALTH_COLD = 6 # 过冷 POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 7 # POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 8 # POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0 # 未知 POWER_SUPPLY_TECHNOLOGY_NIMH = 1 # Ni-MH battery 镍氢电池 POWER_SUPPLY_TECHNOLOGY_LION = 2 # Li-ion battery 锂离子电池 POWER_SUPPLY_TECHNOLOGY_LIPO = 3 # Li-Po battery 锂聚合物电池 POWER_SUPPLY_TECHNOLOGY_LIFE = 4 # li-Fe battery 锂铁电池 POWER_SUPPLY_TECHNOLOGY_NICD = 5 # NiCd battery 镍镉电池 POWER_SUPPLY_TECHNOLOGY_LIMN = 6 # LiMn battery 锂锰电池
std_msgs/Header header
File truncated at 100 lines see the full file
串口通讯协议(20200416):
1. 帧定义
1.1 STM32 Write数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | 电池百分比 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 1 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x76(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ 电池百分比
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
注:该版本电机编码率为270(一圈输出270个脉冲)
E: 电池百分比:剩余电量百分比(估计值)。
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+电池百分比
1.2 STM32 READ数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | LED控制 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 3 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x75(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ LED控制
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
E: LED的rgb控制
uint8_t green_value;
uint8_t red_value;
uint8_t blue_value;
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+LED控制
1.3 校验和函数
bool checkCS(int len){
uint8_t cs = 0;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_read_[i];
}
return pack_read_[len - 1] == cs;
}
void setCS(int len)
{
uint8_t cs = 0x00;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_write_[i];
}
pack_write_[len - 1] = cs;
}
Package Dependencies
Deps | Name |
---|---|
geometry_msgs | |
roscpp | |
rospy | |
sensor_msgs | |
std_msgs | |
std_srvs | |
tf | |
message_generation | |
catkin | |
genmsg | |
message_runtime |
System Dependencies
Dependant Packages
Launch files
- launch/base_driver.launch
-
- package_path [default: $(find xf_mic_tts_offline)]
- launch/tf_server.launch
Messages
Services
Plugins
Recent questions tagged ucar_controller at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | 16th National College Student’s Intelligent Car Competition Code 第十六届智能汽车竞赛讯飞智慧餐厅代码 |
Checkout URI | https://github.com/ht-hlf/car_competition.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-01-27 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- iflytek
Authors
[TOC]
1. 全部功能
1.1 里程计与底盘的坐标变换是否发布由参数实时配置
参数名称:publish_odom_tf
- 设置为true: 发布 odom -> base_link的坐标变换
- 设置为false: 不发布 odom -> base_link的坐标变换
注,以下运动相关服务优先度大于实时运动控制(cmd_vel)当服务完成后才会继续执行实时控制。(手柄的优先级更高,不过不涉及web接口,此处不详细描述。手柄 > 运动服务 > cmd_vel)
1.2 停止运动服务
服务名:stop_move
(基于速度、距离、角度的运动)
用途:调用后立即终止正在运行的time_move
或vel_dist_move
。
并回到cmd控制模式
服务数据类型:std_srvs/Trigger.srv
---
bool success #运动结束时返回true,异常返回false
string message #返回的字符串信息
返回枚举:
- 成功停止
res.success = true;
res.message = "Move stopped ";
- 不在move模式,不需要停止
res.success = false;
res.message = "Not in MOTOR_MODE_MOVE.";
1.3 实时控制
方式:发布话题。
话题名:cmd_vel
msg类型:geometry_msgs/Twist.msg
geometry_msgs/Vector3 linear
float64 x # x方向线速度
float64 y # y方向线速度
float64 z # 无效
geometry_msgs/Vector3 angular
float64 x # 无效
float64 y # 无效
float64 z # z轴角速度
1.4 设置灯光效果
服务名:get_battery_state
服务数据类型:aicar_controller/GetBatteryInfo.srv
uint8 MODE_NORMAL = 0 # 常亮
uint8 MODE_BLINK = 1 # 闪烁
uint8 MODE_BREATH = 2 # 呼吸
uint8 mode_type # 灯光模式
float64 frequency # 模式频率(常亮模式自动忽略)
uint8 red_value # 红色光亮度范围(0-255)
uint8 green_value # 绿色光亮度范围(0-255)
uint8 blue_value # 蓝色光亮度范围(0-255)
---
bool success # 设置是否成功
string message # 异常log信息
response枚举: 1、设置失败(可能与MUC通信异常) res.success = false; res.message = “Can’t connect base’s MCU.”; 2、设置成功 res.success = true; res.message = “Set LED success.”;
1.5 底盘电池信息发布(仅电池剩余电量百分比有效,即:percentage)
话题名:battery_state
sensor_msgs/BatteryState.msg
``` POWER_SUPPLY_STATUS_UNKNOWN = 0 # 未知 POWER_SUPPLY_STATUS_CHARGING = 1 # 充电 POWER_SUPPLY_STATUS_DISCHARGING = 2 # 放电中 POWER_SUPPLY_STATUS_NOT_CHARGING = 3 # 未充电 POWER_SUPPLY_STATUS_FULL = 4 # 满电 POWER_SUPPLY_HEALTH_UNKNOWN = 0 # 未知 POWER_SUPPLY_HEALTH_GOOD = 1 # 良好 POWER_SUPPLY_HEALTH_OVERHEAT = 2 # 过热 POWER_SUPPLY_HEALTH_DEAD = 3 # 没电 POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4 # 过电压 POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 5 # 未知错误 POWER_SUPPLY_HEALTH_COLD = 6 # 过冷 POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 7 # POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 8 # POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0 # 未知 POWER_SUPPLY_TECHNOLOGY_NIMH = 1 # Ni-MH battery 镍氢电池 POWER_SUPPLY_TECHNOLOGY_LION = 2 # Li-ion battery 锂离子电池 POWER_SUPPLY_TECHNOLOGY_LIPO = 3 # Li-Po battery 锂聚合物电池 POWER_SUPPLY_TECHNOLOGY_LIFE = 4 # li-Fe battery 锂铁电池 POWER_SUPPLY_TECHNOLOGY_NICD = 5 # NiCd battery 镍镉电池 POWER_SUPPLY_TECHNOLOGY_LIMN = 6 # LiMn battery 锂锰电池
std_msgs/Header header
File truncated at 100 lines see the full file
串口通讯协议(20200416):
1. 帧定义
1.1 STM32 Write数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | 电池百分比 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 1 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x76(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ 电池百分比
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
注:该版本电机编码率为270(一圈输出270个脉冲)
E: 电池百分比:剩余电量百分比(估计值)。
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+电池百分比
1.2 STM32 READ数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | LED控制 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 3 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x75(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ LED控制
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
E: LED的rgb控制
uint8_t green_value;
uint8_t red_value;
uint8_t blue_value;
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+LED控制
1.3 校验和函数
bool checkCS(int len){
uint8_t cs = 0;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_read_[i];
}
return pack_read_[len - 1] == cs;
}
void setCS(int len)
{
uint8_t cs = 0x00;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_write_[i];
}
pack_write_[len - 1] = cs;
}
Package Dependencies
Deps | Name |
---|---|
geometry_msgs | |
roscpp | |
rospy | |
sensor_msgs | |
std_msgs | |
std_srvs | |
tf | |
message_generation | |
catkin | |
genmsg | |
message_runtime |
System Dependencies
Dependant Packages
Launch files
- launch/base_driver.launch
-
- package_path [default: $(find xf_mic_tts_offline)]
- launch/tf_server.launch
Messages
Services
Plugins
Recent questions tagged ucar_controller at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | 16th National College Student’s Intelligent Car Competition Code 第十六届智能汽车竞赛讯飞智慧餐厅代码 |
Checkout URI | https://github.com/ht-hlf/car_competition.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-01-27 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- iflytek
Authors
[TOC]
1. 全部功能
1.1 里程计与底盘的坐标变换是否发布由参数实时配置
参数名称:publish_odom_tf
- 设置为true: 发布 odom -> base_link的坐标变换
- 设置为false: 不发布 odom -> base_link的坐标变换
注,以下运动相关服务优先度大于实时运动控制(cmd_vel)当服务完成后才会继续执行实时控制。(手柄的优先级更高,不过不涉及web接口,此处不详细描述。手柄 > 运动服务 > cmd_vel)
1.2 停止运动服务
服务名:stop_move
(基于速度、距离、角度的运动)
用途:调用后立即终止正在运行的time_move
或vel_dist_move
。
并回到cmd控制模式
服务数据类型:std_srvs/Trigger.srv
---
bool success #运动结束时返回true,异常返回false
string message #返回的字符串信息
返回枚举:
- 成功停止
res.success = true;
res.message = "Move stopped ";
- 不在move模式,不需要停止
res.success = false;
res.message = "Not in MOTOR_MODE_MOVE.";
1.3 实时控制
方式:发布话题。
话题名:cmd_vel
msg类型:geometry_msgs/Twist.msg
geometry_msgs/Vector3 linear
float64 x # x方向线速度
float64 y # y方向线速度
float64 z # 无效
geometry_msgs/Vector3 angular
float64 x # 无效
float64 y # 无效
float64 z # z轴角速度
1.4 设置灯光效果
服务名:get_battery_state
服务数据类型:aicar_controller/GetBatteryInfo.srv
uint8 MODE_NORMAL = 0 # 常亮
uint8 MODE_BLINK = 1 # 闪烁
uint8 MODE_BREATH = 2 # 呼吸
uint8 mode_type # 灯光模式
float64 frequency # 模式频率(常亮模式自动忽略)
uint8 red_value # 红色光亮度范围(0-255)
uint8 green_value # 绿色光亮度范围(0-255)
uint8 blue_value # 蓝色光亮度范围(0-255)
---
bool success # 设置是否成功
string message # 异常log信息
response枚举: 1、设置失败(可能与MUC通信异常) res.success = false; res.message = “Can’t connect base’s MCU.”; 2、设置成功 res.success = true; res.message = “Set LED success.”;
1.5 底盘电池信息发布(仅电池剩余电量百分比有效,即:percentage)
话题名:battery_state
sensor_msgs/BatteryState.msg
``` POWER_SUPPLY_STATUS_UNKNOWN = 0 # 未知 POWER_SUPPLY_STATUS_CHARGING = 1 # 充电 POWER_SUPPLY_STATUS_DISCHARGING = 2 # 放电中 POWER_SUPPLY_STATUS_NOT_CHARGING = 3 # 未充电 POWER_SUPPLY_STATUS_FULL = 4 # 满电 POWER_SUPPLY_HEALTH_UNKNOWN = 0 # 未知 POWER_SUPPLY_HEALTH_GOOD = 1 # 良好 POWER_SUPPLY_HEALTH_OVERHEAT = 2 # 过热 POWER_SUPPLY_HEALTH_DEAD = 3 # 没电 POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4 # 过电压 POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 5 # 未知错误 POWER_SUPPLY_HEALTH_COLD = 6 # 过冷 POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 7 # POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 8 # POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0 # 未知 POWER_SUPPLY_TECHNOLOGY_NIMH = 1 # Ni-MH battery 镍氢电池 POWER_SUPPLY_TECHNOLOGY_LION = 2 # Li-ion battery 锂离子电池 POWER_SUPPLY_TECHNOLOGY_LIPO = 3 # Li-Po battery 锂聚合物电池 POWER_SUPPLY_TECHNOLOGY_LIFE = 4 # li-Fe battery 锂铁电池 POWER_SUPPLY_TECHNOLOGY_NICD = 5 # NiCd battery 镍镉电池 POWER_SUPPLY_TECHNOLOGY_LIMN = 6 # LiMn battery 锂锰电池
std_msgs/Header header
File truncated at 100 lines see the full file
串口通讯协议(20200416):
1. 帧定义
1.1 STM32 Write数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | 电池百分比 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 1 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x76(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ 电池百分比
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
注:该版本电机编码率为270(一圈输出270个脉冲)
E: 电池百分比:剩余电量百分比(估计值)。
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+电池百分比
1.2 STM32 READ数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | LED控制 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 3 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x75(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ LED控制
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
E: LED的rgb控制
uint8_t green_value;
uint8_t red_value;
uint8_t blue_value;
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+LED控制
1.3 校验和函数
bool checkCS(int len){
uint8_t cs = 0;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_read_[i];
}
return pack_read_[len - 1] == cs;
}
void setCS(int len)
{
uint8_t cs = 0x00;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_write_[i];
}
pack_write_[len - 1] = cs;
}
Package Dependencies
Deps | Name |
---|---|
geometry_msgs | |
roscpp | |
rospy | |
sensor_msgs | |
std_msgs | |
std_srvs | |
tf | |
message_generation | |
catkin | |
genmsg | |
message_runtime |
System Dependencies
Dependant Packages
Launch files
- launch/base_driver.launch
-
- package_path [default: $(find xf_mic_tts_offline)]
- launch/tf_server.launch
Messages
Services
Plugins
Recent questions tagged ucar_controller at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | 16th National College Student’s Intelligent Car Competition Code 第十六届智能汽车竞赛讯飞智慧餐厅代码 |
Checkout URI | https://github.com/ht-hlf/car_competition.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-01-27 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- iflytek
Authors
[TOC]
1. 全部功能
1.1 里程计与底盘的坐标变换是否发布由参数实时配置
参数名称:publish_odom_tf
- 设置为true: 发布 odom -> base_link的坐标变换
- 设置为false: 不发布 odom -> base_link的坐标变换
注,以下运动相关服务优先度大于实时运动控制(cmd_vel)当服务完成后才会继续执行实时控制。(手柄的优先级更高,不过不涉及web接口,此处不详细描述。手柄 > 运动服务 > cmd_vel)
1.2 停止运动服务
服务名:stop_move
(基于速度、距离、角度的运动)
用途:调用后立即终止正在运行的time_move
或vel_dist_move
。
并回到cmd控制模式
服务数据类型:std_srvs/Trigger.srv
---
bool success #运动结束时返回true,异常返回false
string message #返回的字符串信息
返回枚举:
- 成功停止
res.success = true;
res.message = "Move stopped ";
- 不在move模式,不需要停止
res.success = false;
res.message = "Not in MOTOR_MODE_MOVE.";
1.3 实时控制
方式:发布话题。
话题名:cmd_vel
msg类型:geometry_msgs/Twist.msg
geometry_msgs/Vector3 linear
float64 x # x方向线速度
float64 y # y方向线速度
float64 z # 无效
geometry_msgs/Vector3 angular
float64 x # 无效
float64 y # 无效
float64 z # z轴角速度
1.4 设置灯光效果
服务名:get_battery_state
服务数据类型:aicar_controller/GetBatteryInfo.srv
uint8 MODE_NORMAL = 0 # 常亮
uint8 MODE_BLINK = 1 # 闪烁
uint8 MODE_BREATH = 2 # 呼吸
uint8 mode_type # 灯光模式
float64 frequency # 模式频率(常亮模式自动忽略)
uint8 red_value # 红色光亮度范围(0-255)
uint8 green_value # 绿色光亮度范围(0-255)
uint8 blue_value # 蓝色光亮度范围(0-255)
---
bool success # 设置是否成功
string message # 异常log信息
response枚举: 1、设置失败(可能与MUC通信异常) res.success = false; res.message = “Can’t connect base’s MCU.”; 2、设置成功 res.success = true; res.message = “Set LED success.”;
1.5 底盘电池信息发布(仅电池剩余电量百分比有效,即:percentage)
话题名:battery_state
sensor_msgs/BatteryState.msg
``` POWER_SUPPLY_STATUS_UNKNOWN = 0 # 未知 POWER_SUPPLY_STATUS_CHARGING = 1 # 充电 POWER_SUPPLY_STATUS_DISCHARGING = 2 # 放电中 POWER_SUPPLY_STATUS_NOT_CHARGING = 3 # 未充电 POWER_SUPPLY_STATUS_FULL = 4 # 满电 POWER_SUPPLY_HEALTH_UNKNOWN = 0 # 未知 POWER_SUPPLY_HEALTH_GOOD = 1 # 良好 POWER_SUPPLY_HEALTH_OVERHEAT = 2 # 过热 POWER_SUPPLY_HEALTH_DEAD = 3 # 没电 POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4 # 过电压 POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 5 # 未知错误 POWER_SUPPLY_HEALTH_COLD = 6 # 过冷 POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 7 # POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 8 # POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0 # 未知 POWER_SUPPLY_TECHNOLOGY_NIMH = 1 # Ni-MH battery 镍氢电池 POWER_SUPPLY_TECHNOLOGY_LION = 2 # Li-ion battery 锂离子电池 POWER_SUPPLY_TECHNOLOGY_LIPO = 3 # Li-Po battery 锂聚合物电池 POWER_SUPPLY_TECHNOLOGY_LIFE = 4 # li-Fe battery 锂铁电池 POWER_SUPPLY_TECHNOLOGY_NICD = 5 # NiCd battery 镍镉电池 POWER_SUPPLY_TECHNOLOGY_LIMN = 6 # LiMn battery 锂锰电池
std_msgs/Header header
File truncated at 100 lines see the full file
串口通讯协议(20200416):
1. 帧定义
1.1 STM32 Write数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | 电池百分比 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 1 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x76(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ 电池百分比
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
注:该版本电机编码率为270(一圈输出270个脉冲)
E: 电池百分比:剩余电量百分比(估计值)。
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+电池百分比
1.2 STM32 READ数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | LED控制 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 3 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x75(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ LED控制
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
E: LED的rgb控制
uint8_t green_value;
uint8_t red_value;
uint8_t blue_value;
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+LED控制
1.3 校验和函数
bool checkCS(int len){
uint8_t cs = 0;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_read_[i];
}
return pack_read_[len - 1] == cs;
}
void setCS(int len)
{
uint8_t cs = 0x00;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_write_[i];
}
pack_write_[len - 1] = cs;
}
Package Dependencies
Deps | Name |
---|---|
geometry_msgs | |
roscpp | |
rospy | |
sensor_msgs | |
std_msgs | |
std_srvs | |
tf | |
message_generation | |
catkin | |
genmsg | |
message_runtime |
System Dependencies
Dependant Packages
Launch files
- launch/base_driver.launch
-
- package_path [default: $(find xf_mic_tts_offline)]
- launch/tf_server.launch
Messages
Services
Plugins
Recent questions tagged ucar_controller at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | 16th National College Student’s Intelligent Car Competition Code 第十六届智能汽车竞赛讯飞智慧餐厅代码 |
Checkout URI | https://github.com/ht-hlf/car_competition.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-01-27 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- iflytek
Authors
[TOC]
1. 全部功能
1.1 里程计与底盘的坐标变换是否发布由参数实时配置
参数名称:publish_odom_tf
- 设置为true: 发布 odom -> base_link的坐标变换
- 设置为false: 不发布 odom -> base_link的坐标变换
注,以下运动相关服务优先度大于实时运动控制(cmd_vel)当服务完成后才会继续执行实时控制。(手柄的优先级更高,不过不涉及web接口,此处不详细描述。手柄 > 运动服务 > cmd_vel)
1.2 停止运动服务
服务名:stop_move
(基于速度、距离、角度的运动)
用途:调用后立即终止正在运行的time_move
或vel_dist_move
。
并回到cmd控制模式
服务数据类型:std_srvs/Trigger.srv
---
bool success #运动结束时返回true,异常返回false
string message #返回的字符串信息
返回枚举:
- 成功停止
res.success = true;
res.message = "Move stopped ";
- 不在move模式,不需要停止
res.success = false;
res.message = "Not in MOTOR_MODE_MOVE.";
1.3 实时控制
方式:发布话题。
话题名:cmd_vel
msg类型:geometry_msgs/Twist.msg
geometry_msgs/Vector3 linear
float64 x # x方向线速度
float64 y # y方向线速度
float64 z # 无效
geometry_msgs/Vector3 angular
float64 x # 无效
float64 y # 无效
float64 z # z轴角速度
1.4 设置灯光效果
服务名:get_battery_state
服务数据类型:aicar_controller/GetBatteryInfo.srv
uint8 MODE_NORMAL = 0 # 常亮
uint8 MODE_BLINK = 1 # 闪烁
uint8 MODE_BREATH = 2 # 呼吸
uint8 mode_type # 灯光模式
float64 frequency # 模式频率(常亮模式自动忽略)
uint8 red_value # 红色光亮度范围(0-255)
uint8 green_value # 绿色光亮度范围(0-255)
uint8 blue_value # 蓝色光亮度范围(0-255)
---
bool success # 设置是否成功
string message # 异常log信息
response枚举: 1、设置失败(可能与MUC通信异常) res.success = false; res.message = “Can’t connect base’s MCU.”; 2、设置成功 res.success = true; res.message = “Set LED success.”;
1.5 底盘电池信息发布(仅电池剩余电量百分比有效,即:percentage)
话题名:battery_state
sensor_msgs/BatteryState.msg
``` POWER_SUPPLY_STATUS_UNKNOWN = 0 # 未知 POWER_SUPPLY_STATUS_CHARGING = 1 # 充电 POWER_SUPPLY_STATUS_DISCHARGING = 2 # 放电中 POWER_SUPPLY_STATUS_NOT_CHARGING = 3 # 未充电 POWER_SUPPLY_STATUS_FULL = 4 # 满电 POWER_SUPPLY_HEALTH_UNKNOWN = 0 # 未知 POWER_SUPPLY_HEALTH_GOOD = 1 # 良好 POWER_SUPPLY_HEALTH_OVERHEAT = 2 # 过热 POWER_SUPPLY_HEALTH_DEAD = 3 # 没电 POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4 # 过电压 POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 5 # 未知错误 POWER_SUPPLY_HEALTH_COLD = 6 # 过冷 POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 7 # POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 8 # POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0 # 未知 POWER_SUPPLY_TECHNOLOGY_NIMH = 1 # Ni-MH battery 镍氢电池 POWER_SUPPLY_TECHNOLOGY_LION = 2 # Li-ion battery 锂离子电池 POWER_SUPPLY_TECHNOLOGY_LIPO = 3 # Li-Po battery 锂聚合物电池 POWER_SUPPLY_TECHNOLOGY_LIFE = 4 # li-Fe battery 锂铁电池 POWER_SUPPLY_TECHNOLOGY_NICD = 5 # NiCd battery 镍镉电池 POWER_SUPPLY_TECHNOLOGY_LIMN = 6 # LiMn battery 锂锰电池
std_msgs/Header header
File truncated at 100 lines see the full file
串口通讯协议(20200416):
1. 帧定义
1.1 STM32 Write数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | 电池百分比 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 1 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x76(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ 电池百分比
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
注:该版本电机编码率为270(一圈输出270个脉冲)
E: 电池百分比:剩余电量百分比(估计值)。
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+电池百分比
1.2 STM32 READ数据帧
起始位 | 指令版本 | 数据长度 | 里程脉冲 | LED控制 | 校验和 | |
---|---|---|---|---|---|---|
字节数 | 2 | 1 | 1 | 8 | 3 | 1 |
数值 | A | B | C | D | E | F |
A: 起始位: 0x63(l) 0x75(h)
B: 指令版本: 待定=============================
C: 数据长度: 里程脉冲
+ LED控制
的数据长度。
D: 里程脉冲:4个轮式里程计的脉冲数据。数值代表每个通讯周期内编码器累计的脉冲读数(正负区分正反转)。
int16_t pluse_w1;
int16_t pluse_w2;
int16_t pluse_w3;
int16_t pluse_w4;
E: LED的rgb控制
uint8_t green_value;
uint8_t red_value;
uint8_t blue_value;
F: 校验和:起始位
+指令版本
+数据长度
+里程脉冲
+LED控制
1.3 校验和函数
bool checkCS(int len){
uint8_t cs = 0;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_read_[i];
}
return pack_read_[len - 1] == cs;
}
void setCS(int len)
{
uint8_t cs = 0x00;
for (size_t i = 0; i < len - 1; i++)
{
cs += pack_write_[i];
}
pack_write_[len - 1] = cs;
}
Package Dependencies
Deps | Name |
---|---|
geometry_msgs | |
roscpp | |
rospy | |
sensor_msgs | |
std_msgs | |
std_srvs | |
tf | |
message_generation | |
catkin | |
genmsg | |
message_runtime |
System Dependencies
Dependant Packages
Launch files
- launch/base_driver.launch
-
- package_path [default: $(find xf_mic_tts_offline)]
- launch/tf_server.launch