问题一:
robot_api_node: /usr/include/boost/array.hpp:118: T& boost::array<T, N>::operator[](boost::array<T, N>::size_type) [with T = unsigned char; long unsigned int N = 4; boost::array<T, N>::reference = unsigned char&; boost::array<T, N>::size_type = long unsigned int]: Assertion `(i < N)&&("out of range")' failed.
[Main] Get Signal:6
[Main] Get Signal:11
[Main] Abort to handler the signal!
Start to delete NavigatorModule...
原因:数组溢出拉 ~~~
解决:比如:数组只有4,而循环了8
for (int i = 0; i < 8; i++) {
msg.status[i] = _status.status[i];
}
在这里面status[i] 定义时只有uint8[4] ,而循环了八次所以不行。
因此,如果只写了两位,则改成
msg.status[0] = _status.status[0];
msg.status[1] = _status.status[1];