机器人集成

简述

  1. 为模块提供DC或者Type-C接口的电源

  2. 将模块和机器人通过网线连接

  3. 将nv_base_v*.xacro集成到机器人的URDF文件中

  4. 将机器人和模块设定为同一网段内的固定IP

  5. 在启动机器人的launch文件的同时,通过SSH启动模块的 base.launch

详细步骤

  1. 为模块提供DC或者Type-C接口的电源:

  2. 将模块和机器人通过网线连接,为了获得更好的通信速率,请使用超五类以上的网线进行连接:

  3. 在机器人的URDF中,添加如下代码段:

    <!-- 添加引用 -->
    <xacro:include filename = "$(find nv_base_description)/urdf/nv_base_v1.xacro" />
    
    <!--  将模块与机器人连接在一起,其中origin和parent根据装配位置进行定义  -->
    <joint name="nv_base_mount_joint" type="fixed">
        <origin xyz="0.1095 0 0.018" rpy="0 0 0"/>
        <parent link="base_link"/>
        <child link="nv_base_link" />
    </joint>
    
  4. 使用网线连接机器人和模块,并且在各自的网络设置中将IP地址改为固定地址,设置参考如下:

    [NV_BASE]
    ip=192.168.34.5
    mask=255.255.255.0
    
    [ROBOT_PC]
    ip=192.168.34.6
    mask=255.255.255.0
    
  5. 启动模块电源,等待1-2分钟后,通过PING来测试网络是否接通。

  6. 通过SSH登录模块,模块的默认密码为 空格,然后修改 ~/Documents/startup.sh 文件中的IP地址 ,该步骤也可以通过外接显示器操作。

    #!/bin/bash
    
    source /opt/ros/melodic/setup.bash
    source /home/iqr/catkin_ws/devel/setup.bash
    
    # 设置为 ROBOT_PC/IP
    export ROS_MASTER_URI="http://192.168.34.6:11311"
    
    # 设置为 NV_BASE/IP
    export ROS_HOSTNAME="192.168.34.5"
    export ROS_IP="192.168.34.5"
    
    roslaunch nv_base_bringup base.launch
    
  7. 启动机器人的ROS程序,然后通过SSH,启动模块的 ~/Documents/startup.sh,该文件会设置模块的 ROS_MASTER 为机器人的 ROS_MASTER,然后将各传感器的数据发布到ROS中。

  8. 通过机器人PC,获取各传感器的数据进行后续的运算。