ROS arduino联调测试

ROS arduino 联调

ros_arduino_bridge填坑记录:树莓派+arduino nano,空板 无传感器电机等
环境:rsp4b、系统2021-05-07-raspios-buster-arm64、ros版本 noetic、nano;
安装参考如下:
https://www.ncnynl.com/archives/201610/930.html
也可参考:
https://github.com/hbrobotics/ros_arduino_bridge/tree/indigo-devel


问题描述

1、树莓派连接不了arduino
2、可以连接,但是不能控制led等内容
3、此外还有其他信息,如没有tf,没有thread,没有iteritems等,

如下图:连接不了
在这里插入图片描述这下图可以连接上了,但是反复的发送如下信息在这里插入图片描述

原因分析:

提示:主要是python2和python3版本的问题,几乎每一个错误提示都可以度娘出来。例如 py2的print 是 直接 “”,但是py3 是print(" "), 这里是需要修改的,最基础。
还有就是byte转str的时候,需要str(c,encoding=“utf-8”)、thread需要修改_thread之类的,代码如下


解决方案:

主要修改了两个文件 一个是 driver.py,另外一个是node .py

下面展示一些

# arduino_node.py文件的
#如 带b,带encoding等
        for name, params in sensor_params.items():
#arduino_driver.py修改的部分
    def recv(self, timeout=0.5):
        timeout = min(timeout, self.timeout)
        c = ''
        value = ''
        attempts = 0
        while c != b'\r':
            c = self.port.read(1)
            value += str(c,encoding = "utf-8")
            attempts += 1
            if attempts * self.interCharTimeout > timeout:
                return None
        value = value.strip('\r')
        return value

全部文件下载连接如下,我很不喜欢积分下载这种方式,还要注册登录,够麻烦,简直是学习的绊脚石。但是这个平台的规则没办法
https://download.csdn.net/download/xuxer110/85060059

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值