导航

    蓝鲸ROS机器人论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 热门
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision

    串口驱动相关

    技术交流
    3
    5
    2061
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • ACAne
      ACAne 最后由 编辑

      问题描述:
      我使用自己的笔记本电脑从零开始安装Ubuntu和ROS等。我下载了github上的底盘驱动,将底盘的USB线连接电脑的USB口,使用roslaunch xqserial_server xqserial.launch时报以下错误。估计是串口的问题,因为在launch文件中我的电脑没有ttyUSB001。请问我要如何解决?如果之后我还需要将激光雷达也连接笔记本电脑的话是否还会出现类似的问题呢?

      S9UZ2)CSVYM`0O8LLAWSS9N.jpg

      小助理 weijiz 2 条回复 最后回复 回复 引用 0
      • 小助理
        小助理 @ACAne 最后由 编辑

        根据您的描述,可能是因为您的电脑没有识别到底盘的串口设备。您可以尝试以下步骤解决问题:

        1. 确认底盘的串口设备名称

        您可以使用命令ls /dev/ttyUSB*来查看当前电脑上已经连接的串口设备名称。如果您的底盘连接成功,应该可以看到类似于/dev/ttyUSB0的设备名称。如果没有看到,可能是底盘连接不成功或者驱动没有安装成功。

        1. 安装串口驱动

        如果您的电脑没有安装串口驱动,可以尝试安装一下。常见的串口驱动有pl2303和ch341等,您可以根据底盘的型号选择对应的驱动。安装命令如下:

        sudo apt-get install linux-image-extra-virtual
        sudo apt-get install linux-headers-$(uname -r)
        sudo apt-get install build-essential
        sudo apt-get install git
        git clone https://github.com/juliagoda/CH341SER_LINUX.git
        cd CH341SER_LINUX
        make
        sudo make load
        
        1. 修改串口设备权限

        如果您的电脑已经识别到了串口设备,但是在使用时还是出现权限不足的问题,可以尝试修改一下串口设备的权限。命令如下:

        sudo chmod 666 /dev/ttyUSB0
        
        1. 配置ROS串口节点

        在使用ROS时,您需要配置串口节点来与底盘进行通信。您可以在xqserial.launch文件中修改串口设备名称,例如:

        
            
            
        
        

        其中/dev/ttyUSB0为您的串口设备名称,115200为波特率。如果您的激光雷达也需要使用串口通信,您需要为激光雷达配置一个独立的串口节点。

        希望以上步骤可以帮助您解决问题。

        我是论坛智能小助理,回答的问题可能是错误的。对于一些可能影响设备的关键问题,请谨慎参考我的回答

        1 条回复 最后回复 回复 引用 1
        • weijiz
          weijiz @ACAne 最后由 编辑

          @acane 需要设置系统的udev规则,具体的可以在论坛里面搜索

          1 条回复 最后回复 回复 引用 1
          • ACAne
            ACAne 最后由 编辑

            @小助理
            按照你说的进行操作可以运行,但无法使用rosmsg show查看信息。报错如下,找了一下确实没有提供这个msg文件。这是正常的嘛?
            ![Q{5(K~T8`%HG@U58XYJKRX.jpg

            小助理 1 条回复 最后回复 回复 引用 0
            • 小助理
              小助理 @ACAne 最后由 编辑

              根据您提供的截图,可以看出是找不到对应的消息类型文件。这可能是因为您没有安装或者编译对应的ROS包。您可以尝试以下步骤解决问题:

              1. 确认消息类型所在的ROS包

              您可以在代码中查看消息类型的定义,例如:

              #include 
              #include 
              
              int main(int argc, char **argv)
              {
                ros::init(argc, argv, "talker");
                ros::NodeHandle n;
                ros::Publisher chatter_pub = n.advertise("chatter", 1000);
                ros::Rate loop_rate(10);
                int count = 0;
                while (ros::ok())
                {
                  std_msgs::String msg;
                  std::stringstream ss;
                  ss -
              

              其中为ROS的发行版名称,为需要安装的ROS包名称。例如,如果您需要安装std_msgs包,可以使用以下命令:

              sudo apt-get install ros--std-msgs
              

              如果您需要编译对应的ROS包,可以使用以下命令:

              cd /src
              git clone https://github.com/ros/.git
              cd ..
              catkin_make
              

              其中为您的catkin工作空间路径,为需要编译的ROS包名称。例如,如果您需要编译std_msgs包,可以使用以下命令:

              cd ~/catkin_ws/src
              git clone https://github.com/ros/std_msgs.git
              cd ..
              catkin_make
              
              1. 确认消息类型是否存在

              如果您已经安装或编译了对应的ROS包,但是仍然无法找到消息类型文件,可以尝试在ROS包的目录下查找消息类型文件。例如,如果您需要查找std_msgs/String.msg文件,可以使用以下命令:

              rospack find std_msgs
              

              该命令会返回std_msgs包的路径,您可以在该路径下查找String.msg文件。

              希望以上步骤可以帮助您解决问题。

              我是论坛智能小助理,回答的问题可能是错误的。对于一些可能影响设备的关键问题,请谨慎参考我的回答

              1 条回复 最后回复 回复 引用 0
              • 1 / 1
              • First post
                Last post
              Copyright © 2015-2023 BlueWhale community