瓜大无人船踩坑记2

  1. 设备准备

    • 手柄
    • 电池(2块)
    • 电台及天线
    • 电台电池(12V)
    • 网线1根
    • 计算机
  2. 设置计算机网络

    • 静态ip地址

    • 网段:192.168.0.x

      已占用的地址:

      192.168.0.57  usv3-laptop
      192.168.0.205 hans-linuxpc
      
    • 工控机密码123

  3. 设置工控机网络

    • 静态ip地址,无需改动

    • 连接键盘鼠标,使用

      sudo gedit /etc/hosts
      

      在其中添加你的pc:

      192.168.0.x  xxxxxx
      
  4. 远程连接服务器

    • ping测试

      # usv3
      # you can also ping usv3-laptop
      ping 192.168.0.57
      # inet(usv)
      ping 192.168.0.11
      # inet(land)
      ping 192.168.0.26
      
    • 远程登录

      ssh usv3@usv3-laptop
      
  5. 编译

    cd ~/dev/catkin_ws_serial_03
    catkin_make
    
  6. 推进器连接电源,并打开开关

  7. 依次连接SBG、GPS、推进器

    赋权限:

    dmesg | grep tty
    

    看一下是不是3个,然后:

    sudo chmod a+rw /dev/ttyUSB0
    sudo chmod a+rw /dev/ttyUSB1
    sudo chmod a+rw /dev/ttyUSB2
    
  8. 执行ros命令

    记得每次都需要远程连接,并

    cd ~/dev/catkin_ws_serial_03
    source devel/setup.bash
    

    随后:

    roscore
    

    执行:

    roslaunch launch_files npu_asv_sensor.launch
    
    SUMMARY
    ========
    
    CLEAR PARAMETERS
     * /ekf_se_ship3/
    
    PARAMETERS
     * /ekf_se_ship3/acceleration_gains: [0.8, 0.0, 0.0, 0...
     * /ekf_se_ship3/acceleration_limits: [1.3, 0.0, 0.0, 0...
     * /ekf_se_ship3/base_link_frame: base_link
     * /ekf_se_ship3/control_config: [True, False, Fal...
     * /ekf_se_ship3/control_timeout: 0.2
     * /ekf_se_ship3/debug: False
     * /ekf_se_ship3/debug_out_file: /path/to/debug/fi...
     * /ekf_se_ship3/deceleration_gains: [1.0, 0.0, 0.0, 0...
     * /ekf_se_ship3/deceleration_limits: [1.3, 0.0, 0.0, 0...
     * /ekf_se_ship3/frequency: 30
     * /ekf_se_ship3/imu0: /imu_data1
     * /ekf_se_ship3/imu0_config: [False, False, Fa...
     * /ekf_se_ship3/imu0_differential: False
     * /ekf_se_ship3/imu0_linear_acceleration_rejection_threshold: 0.8
     * /ekf_se_ship3/imu0_nodelay: False
     * /ekf_se_ship3/imu0_pose_rejection_threshold: 0.8
     * /ekf_se_ship3/imu0_queue_size: 5
     * /ekf_se_ship3/imu0_relative: False
     * /ekf_se_ship3/imu0_remove_gravitational_acceleration: False
     * /ekf_se_ship3/imu0_twist_rejection_threshold: 0.8
     * /ekf_se_ship3/initial_estimate_covariance: ['1e-9', 0, 0, 0,...
     * /ekf_se_ship3/map_frame: map
     * /ekf_se_ship3/odom0: /odom
     * /ekf_se_ship3/odom0_config: [True, True, Fals...
     * /ekf_se_ship3/odom0_differential: True
     * /ekf_se_ship3/odom0_nodelay: False
     * /ekf_se_ship3/odom0_pose_rejection_threshold: 5
     * /ekf_se_ship3/odom0_queue_size: 10
     * /ekf_se_ship3/odom0_relative: False
     * /ekf_se_ship3/odom0_twist_rejection_threshold: 1
     * /ekf_se_ship3/odom1: example/odom
     * /ekf_se_ship3/odom1_config: [True, True, Fals...
     * /ekf_se_ship3/odom1_differential: False
     * /ekf_se_ship3/odom1_nodelay: False
     * /ekf_se_ship3/odom1_pose_rejection_threshold: 2
     * /ekf_se_ship3/odom1_queue_size: 10
     * /ekf_se_ship3/odom1_relative: True
     * /ekf_se_ship3/odom1_twist_rejection_threshold: 1
     * /ekf_se_ship3/odom_frame: odom
     * /ekf_se_ship3/pose0: example/pose
     * /ekf_se_ship3/pose0_config: [True, True, Fals...
     * /ekf_se_ship3/pose0_differential: True
     * /ekf_se_ship3/pose0_nodelay: False
     * /ekf_se_ship3/pose0_queue_size: 5
     * /ekf_se_ship3/pose0_rejection_threshold: 2
     * /ekf_se_ship3/pose0_relative: False
     * /ekf_se_ship3/print_diagnostics: True
     * /ekf_se_ship3/process_noise_covariance: [0.05, 0, 0, 0, 0...
     * /ekf_se_ship3/publish_acceleration: False
     * /ekf_se_ship3/publish_tf: False
     * /ekf_se_ship3/sensor_timeout: 1
     * /ekf_se_ship3/stamped_control: False
     * /ekf_se_ship3/transform_time_offset: 0.0
     * /ekf_se_ship3/transform_timeout: 0.0
     * /ekf_se_ship3/twist0: example/twist
     * /ekf_se_ship3/twist0_config: [False, False, Fa...
     * /ekf_se_ship3/twist0_nodelay: False
     * /ekf_se_ship3/twist0_queue_size: 3
     * /ekf_se_ship3/twist0_rejection_threshold: 2
     * /ekf_se_ship3/two_d_mode: True
     * /ekf_se_ship3/use_control: False
     * /ekf_se_ship3/world_frame: odom
     * /nmea_serial_driver_node_ship3/baud: 115200
     * /nmea_serial_driver_node_ship3/frame_id: odom
     * /nmea_serial_driver_node_ship3/port: /dev/ttyUSB2
     * /nmea_serial_driver_node_ship3/time_ref_source: gps
     * /nmea_serial_driver_node_ship3/useRMC: False
     * /rosdistro: kinetic
     * /rosversion: 1.12.14
    
    NODES
      /
        ekf_se_ship3 (robot_localization/ekf_localization_node)
        imudata_sbg_ship3 (tutorial/imudata_sbg.py)
        listener_ship3 (my_serial_node/listener)
        nmea_serial_driver_node_ship3 (nmea_navsat_driver/nmea_serial_driver)
        odom_trans_ship3 (tutorial/odom_trans_npu.py)
        sbg_serial_ship3 (my_serial_node/sbg_serial)
        sonar_listener_ship3 (my_serial_node/sonar_listener)
        sonar_serial_ship3 (my_serial_node/sonar_serial)
        utm_odometry_node_ship3 (gps_common/utm_odometry_node)
    
    ROS_MASTER_URI=http://localhost:11311
    
    process[sbg_serial_ship3-1]: started with pid [10077]
    process[listener_ship3-2]: started with pid [10078]
    process[nmea_serial_driver_node_ship3-3]: started with pid [10088]
    process[sonar_listener_ship3-4]: started with pid [10101]
    process[sonar_serial_ship3-5]: started with pid [10104]
    process[utm_odometry_node_ship3-6]: started with pid [10112]
    process[imudata_sbg_ship3-7]: started with pid [10121]
    process[odom_trans_ship3-8]: started with pid [10127]
    [ERROR] [1606464842.121274597]: Unable to open Sonarport 
    process[ekf_se_ship3-9]: started with pid [10149]
    

    执行:

    roslaunch launch_files npu_asv_actuator.launch
    
    NODES
      /
        talker_ship3 (my_serial_node/talker_ship2u1)
        thrust_serial_ship3 (my_serial_node/thrust_serial)
    
    
    

注意:

上一篇:扩展卡尔曼滤波(EKF)实现三维位置估计


下一篇:多测师肖老师__rf框架之定位方法(26.4)