cyberotter

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
cyberotter [2021/08/19 16:40] – [Device tree configuration] kristoffergrytecyberotter [2022/09/19 11:34] (current) – external edit 127.0.0.1
Line 23: Line 23:
   * Stern GNSS: UART 1    * Stern GNSS: UART 1 
   * IMU: SPI 1    * IMU: SPI 1 
-  * oc1 on SPI 2 is used to trigger cameras and LIDAR. TODO Øystein: add more Senti config details: +  
- +The Cyberotter setup also includes an SBG Ellipse2-D, a standalone INS. This is fed with GNSS signals from the same antennas as the Ublox bow/stern, through antenna splitters. This is included as it is a field-proven INS, and as the Cyberotter itself does not currently provide roll and pitch estimates. The SBG is interfaced with ROS, through the [[link|SBG ROS driver]]. The data from the SBG is also sent to DUNE, for logging, through the [[link|ROS IMC bridge]].
-The Cyberotter setup also includes an SBG Ellipse2-D, a standalone INS. This is fed with GNSS signals from the same antennas as the Ublox bow/stern, through antenna splitters. This is included as it is a field-proven INS, and as the Cyberotter itself does not currently provide roll and pitch estimates. The SBG is interfaced with ROS, through the [[link|SBG ROS driver]]. TODO Øystein add config The data from the SBG is also sent to DUNE, for logging, through the [[link|ROS IMC bridge]]. TODO Øystein add config.+
  
 ==== SBG Driver Config ==== ==== SBG Driver Config ====
  
-TODOAdd more about the SBG config+We use a ROS driver for interfacing with SBG Ellipse 2D: https://github.com/SBG-Systems/sbg_ros_driver.  
 + 
  
 ==== IMC - ROS Bridge ==== ==== IMC - ROS Bridge ====
  
-The IMC ROS bridge developed by the Swedish Maritime Robotics Centre (SMaRC) was used to map ROS topics from the SBG driver to the IMC format. The IMC messages were then transmitted from the Nvidia Jetson to DUNE running on the Beaglebone Black.+The IMC ROS bridge developed by the Swedish Maritime Robotics Centre (SMaRC) was used to map ROS topics from the SBG driver to the IMC format. The IMC messages were then transmitted from the Nvidia Jetson to DUNE running on the Beaglebone Black. Link: https://github.com/smarc-project/imc_ros_bridge 
  
-TODO: Add more about the IMC ROS bridge. 
  
 ==== DUNE Navigation pipeline ==== ==== DUNE Navigation pipeline ====
Line 200: Line 201:
 === ptp4l config === === ptp4l config ===
  
-''%%ptp4l -i eth0 -f /etc/ptp4l.conf%%'' The config (ptp4l.conf) is the default config for e.g. ubuntu, but ''%%clockClass%%'' has been reduced to 128 to increase the likelihood for selecting this as the PTP grand master clock. The full config is in ''%%recipes-ntnu/linuxptp/files/ptp4l.conf%%''TODO: Øystein details about priority levels+''%%ptp4l -i eth0 -f /etc/ptp4l.conf%%'' The config (ptp4l.conf) is the default config for e.g. ubuntu, but ''%%clockClass%%'' has been set to 6 (master only) for Beaglebone. By this, we force Beaglebone to be PTP grand master clock. Also set priority level 1 and 2 to the same clockclass (6). Leave all other parameters in ''%%/etc/ptp4l.conf %%'' to default values. 
 +The full config is in ''%%recipes-ntnu/linuxptp/files/ptp4l.conf%%'' 
 + 
 +The Jetson Xavier is a slave in the PTP setup. In ''%%/etc/linuxptp/ptp4l.conf %%'', set clockclass to 255 (slave only). Set priority level 1 and 2 to the same clockclass (255). Also, ensure slaveOnly mode is enabled. Leave all other parameters to default values. 
  
 === phc2sys config === === phc2sys config ===
Line 214: Line 219:
 phc2sys -w -c CLOCK_REALTIME -s eth0 phc2sys -w -c CLOCK_REALTIME -s eth0
 </code> </code>
 +
 +
 +=== Useful commands ===
 +
 +Status PTP: <code>systemctl status ptp4l</code> 
 +Restart PTP: <code>systemctl restart ptp4l</code>
 +Check the status of every actor connected:<code>pmc –u –b 1 ‘GET TIME_STATUS_NP’</code> 
 +Verify that the slaves are in fact configured to be slaves:<code>pmc –u –b 1 ‘GET SLAVE_ONLY’</code> 
 ===== Yocto Linux configuration ===== ===== Yocto Linux configuration =====
  
Line 225: Line 238:
   * [[https://www.kilobaser.com/blog/2014-07-15-beaglebone-black-gpios|Good description of BBB GPIO, device tree]]    * [[https://www.kilobaser.com/blog/2014-07-15-beaglebone-black-gpios|Good description of BBB GPIO, device tree]] 
   * [[https://raw.githubusercontent.com/beagleboard/BeagleBone-Black/master/BBB_SRM.pdf|BBB manual, with overview of P8 and P9 headers in tab 12/13]]   * [[https://raw.githubusercontent.com/beagleboard/BeagleBone-Black/master/BBB_SRM.pdf|BBB manual, with overview of P8 and P9 headers in tab 12/13]]
 +
 +===== Vision sensors =====
 +The cameras and the LiDAR are interfaced through ROS drivers:
 +
 +   * ZED 2 stereo camera: https://github.com/stereolabs/zed-ros-wrapper
 +   * FLIR Blackfly S: https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver
 +   * Ouster OS-1: https://github.com/ouster-lidar/ouster_example
 +
  
 IP info: IP info:
-TODO Øystein Petter  
 | Device | IP | | Device | IP |
 | RTK base BBB | 10.0.60.45 |  | RTK base BBB | 10.0.60.45 | 
Line 234: Line 254:
 | Otter Bullet | 192.168.1.23 |  | Otter Bullet | 192.168.1.23 | 
 | Payload Jetson | 10.0.63.105 |  | Payload Jetson | 10.0.63.105 | 
-FLIR camera left 10.0.X.X |  +ZED 2 stereo camera | X.X.X.X |  
-| FLIR camera right | 10.0.X.+| FLIR camera left | 169.254.121.156 |  
-| Ouster LIDAR | 10.0.X.X |+| FLIR camera right | 169.254.123.156 
 +| Ouster LIDAR | X.X.X.X |
  
  
  • cyberotter.1629384015.txt.gz
  • Last modified: 2022/09/19 11:33
  • (external edit)