Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
激光slam小车——关于rosserial功能包的使用
发布于 2020-03-02 18:44:31 浏览:2711
订阅该版
之前看了大神关于rosserial机器人的文章[https://mp.weixin.qq.com/s?__biz ... =21#wechat_redirect](https://mp.weixin.qq.com/s?__biz=MzIwMzA2NzI1Ng==&mid=2655158833&idx=1&sn=c531700d33136064208e23170fe2af11&chksm=8d633826ba14b130692fdc361a319f8de129965d0cdefceafc124e49c856ef8a5e1e7732ef27&scene=21#wechat_redirect),因为最近在学习ros的知识,就参考文章自己动手尝试用rtthread做一个小车的底层驱动,想和大家分享一下遇到的问题和一部分解决的办法。 基本通讯已经完成了,在stm32上将位置速度信息分为pose2D和Twist 2个话题发布的效果是比较不错的,上位机能够正常接收(这里遇到过一点坑,就是在rtthread里不能初始化2个节点,否则串口的读写会失败,多个话题的订阅和发布尽量使用同一个节点甚至在同一个进程里面运行会比较好)。 但如果能在stm32中发布/odom话题,那就可以减少上位机中一个转换的节点,而且对于时间同步也比较有帮助,这里面有几个要注意的地方其他的话按照我附件的格式应该基本能实现(新手上路代码有点那啥,大家将就一下:loveliness:): 1./odom话题需要时间戳进行tf变换以及里程计数据的时间同步,这里的时间戳与PC端的ros包不太一样,不是ros::Time::now(),通过nh.now()就可以直接获取,数据类型是ros::Time; 2./odom话题的数据结构比较复杂,需要更大的输出缓存,默认512是不够的,在头文件ros.h包括的node_handle.h中改为1024即可;![1583144263(1).jpg](/uploads/202003/02/181819b88t3x9ejniknee9.jpg),否则就会出现类似以下的错误[ERROR] [WallTime: 1438503253.569131] Message from ROS network dropped: message larger than buffer. 3.解决上面的问题后基本就可以实现通讯了,但这里还有第三点,是我现在还解决不了的问题,因为我们的小车除了需要发布里程计信息的同时,还要进行控制指令的订阅,当2个话题均实现的情况下,rosserial就会频繁出现断线重连,直接影响整个系统的实时性![1583144956(1).jpg](/uploads/202003/02/182932fpdqwabwow5qq2zq.jpg) 网上有人说是定时器溢出,但我看了一下rosserial串口的实现(在RTTHardware.h中),time()使用了rtt的tick作为时间戳校准,而RT_TICK_MAX也定义为32位,应该是不存在溢出的问题的。 后面我尝试了各种波特率也没有效果。 在C++方面我完全是个弟弟:'(,有些底层文件并不是很懂,所以在这个问题上毫无对策,希望有大神能指点一下,帮我解决这个问题,万分感谢~![ros_protocol.cpp](/uploads/202003/02/184145yn672ll6gfagluef.attach)
查看更多
3
个回答
默认排序
按发布时间排序
wuhanstudio
2021-06-13
这家伙很懒,什么也没写!
之前有个 bug 造成系统响应速度非常慢, 现在已经修复了,应当会快很多: https://github.com/wuhanstudio/rt-rosserial/pull/1 顺便一提,现在 RTT 也支持 ROS2 (micro_ros) 了
ysj
2020-03-04
这家伙很懒,什么也没写!
问题解决了:lol,把cmd_vel话题的publisher的动作发布频率降低(我把频率降到1Hz)即可,等我继续尝试,看看这样会不会影响到后面的导航效果
ysj
2020-03-15
这家伙很懒,什么也没写!
>问题解决了,把cmd_vel话题的publisher的动作发布频率降低(我把频率降到1Hz)即可,等我继续尝试,看 ... --- 控制频率1hz实在太低了,根本无法满足slam需求
撰写答案
登录
注册新账号
关注者
0
被浏览
2.7k
关于作者
ysj
这家伙很懒,什么也没写!
提问
1
回答
5
被采纳
0
关注TA
发私信
相关问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
开源共生 商业共赢 | RT-Thread 2024开发者大会议程正式发布!
2
【24嵌入式设计大赛】基于RT-Thread星火一号的智慧家居系统
3
RT-Thread EtherKit开源以太网硬件正式发布
4
如何在master上的BSP中添加配置yml文件
5
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
19
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
6
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
6
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部