飞行机器人专栏-- 多传感器固定端口分配

Posted Techblog of HaoWANG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了飞行机器人专栏-- 多传感器固定端口分配相关的知识,希望对你有一定的参考价值。

目录

​编辑

1 /dev/设备列表

2 ttyUSB*端口ID 

3 端口别名rules动态绑定

4 launch文件配置


1 /dev/设备列表

lsusb

lsusb -t

2 ttyUSB*端口ID 

查看/dev/ttyUSB* 设备端口ID :0403:6014

找到对应USB的设备ID,这里是 0403:6014, 可以不连接USB设备输入lsusb,连接上后再输一次lsusb,多加出现的那一行就是你对应的ID。

3 端口别名rules动态绑定

新建USB端口规则文件ttyusb.rules

cd /etc/udev/rules.d/
touch ttyusb.rules

KERNEL=="ttyUSB*", ATTRSidVendor=="0403", ATTRSidProduct=="6014", MODE:="0777", SYMLINK+="ServoBus"

注意: (需要替换id/自定义名称)

举例: ATTRSidVendor=="0403", ATTRSidProduct=="6014",动态绑定端口id,并设置别名SYMLINK+="ServoBus", 端口权限MODE:="0777"。

重启usb dev服务器

    sudo service udev reload

    sudo service udev restart

重新拔插设备并检查设备端口号:

ls /dev/ServoBus

查看所有端口

lsusb

 可以发现,Rules已经生效,将ttyUSB0硬件端口软链接至rules-ServoBus端口便于分类识别与使用。

4 launch文件配置

将ROS launch文件中的端口名改为软链接的端口名即可,即使增删硬件,端口别名也不会错乱。

<arg name="usb_port"     default="/dev/ServoBus"/>

<launch>
  <arg name="usb_port"     default="/dev/ServoBus"/>
  <arg name="baud_rate"    default="1000000"/>
  <arg name="control_period"         default="0.010"/>

  <!--Hardware of Virtual Platform in Gazebo-->
  <arg name="use_platform"           default="true"/>
<!--Control Mode Selection -->
    <arg name="using_publisher_gui"        default="false"/>
<!-- Dynamixel prismatic joint servo MAX velocity , mm/s-->
    <!--<arg name="prismatic_joint_max_velocity"      default=100/>-->
    
  <node name="open_manipulator_controller" pkg="open_manipulator_controller" type="open_manipulator_controller" 
    output="screen" args="$(arg usb_port) $(arg baud_rate)">
    <param name="control_period"       value="$(arg control_period)"/>
    <param name="using_platform"       value="$(arg use_platform)"/>
  </node>
</launch>

 

以上是关于飞行机器人专栏-- 多传感器固定端口分配的主要内容,如果未能解决你的问题,请参考以下文章

飞行机器人专栏-- 多传感器固定端口分配

飞行机器人专栏-- 异构多视角视觉系统

飞行机器人专栏-- AGX Xavier 通信控制及视觉应用开发

飞行机器人专栏-- AGX Xavier 通信控制及视觉应用开发

移动机器人传感器---IMU

移动机器人传感器---IMU