我的第一个subscriber踩坑记录
为了得到autoware欧式聚类算法处理后的激光雷达点云聚类数据,我打算在autoware建ros功能包,直接利用autoware的数据格式将数据读出来。下面是我的踩坑记录
一、获取聚类数据格式
1.打开录制的实验数据
2.启动autoware以及欧式聚类算法
3.rostopic list查看话题列表
4.rostopic type [topic_name]查看对应的消息名
5.rosmsg show [message_name]查看对应的消息类型(此处记得source一下autoware的install/setup.bash,不然会找不到消息类型)
最后找到的聚类消息格式如下所示
6.开始编写订阅者代码,想先输出一下
7.修改cmakelists文件
add_executable(subscriber src/subscriber.cpp)
target_link_libraries(subscriber ${catkin_LIBRARIES})
8.编译(我的包路径在~/autoware.ai/src下)
colcon build --packages-select subscriber
编译没有任何问题
9.运行的时候!找不到node节点!
2.寻找我的node节点
到处找问题,经过几天时间的寻找,最后,我亲爱的朋朋老师在autoware的论坛上找到了类似信息!
只需要在cmakelists文件加入以下代码
install(TARGETS subscriber(这是你的节点名)
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
3.运行成功了,但是数据取不出来
rosrun 节点成功跑起来了,但是cout输出的信息好像是内存空间,观察数据格式后,利用msg->header.seq成功将对应信息取出来了
4.最后想写篇博客记录一下,结果搜狗输入法崩了???
重启搜狗输入法:
https://blog.youkuaiyun.com/manjianchao/article/details/53642100
pidof fcitx 查看进程号
kill pid
fcitx 重启 ok