/robomagellan

Stuff/Garbage for RoboMagellan

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

RoboMagellan

This is a work in progress.

The first generation of this robot was actually laser cut at Willow Garage in 2012 and used a 4WD differential drive base. While this allowed easy carrying of a fairly large 12V sealed lead acid battery and easy upgrades over time, the robot ground speed was too slow to really be competitive. Numerous sensor packages evolved over time on this platform.

The second generation robot was based on a 1/10th scale RC stadium truck and uses a Livox MID-360 sensor for obstacle avoidance. The robot quickly became too heavy for the stadium truck frame.

The third generation returns to a 4WD differential drive base, but with a smaller footprint and the Livox MID-360.

Setup (ROS 2 Iron, 22.04)

Launch Files

  • robot.launch.py - everything needed to run the robot. Can be run in offline mode to run just the pipelines, with use_sim_time set. This is useful for running against bagfiles:
    ros2 launch robomagellan robot.launch.py offline:=true
    
  • drivers.launch.py - this is just the hardware drivers - useful for collecting bagfiles. Normally is included as part of robot.launch.py when running the RoboMagellan application

Event Configuration

  • Edit line 34 of fixed_lag_global.yaml to set the initial heading of the robot
  • Setup breadcrumbs.yaml with the following format. NOTE: altitudes can be zero, since they are pretty much ignored at this time.
     - [lat1, lon1, alt1, heading1]
     - [lat2, lon2, alt2, heading2]
     - [lat3, lon3, alt3, heading3]
     ...
     - [latN, lonN, altN, headingN]

Recording Bagfiles

Raw data bagfile for analysis and development:

ros2 bag record /base_controller/odom /gps/nmea_sentence /imu_um7/data /imu_um7/mag /imu_um7/rpy /joint_states /livox/imu /livox/lidar /robot_description /tf /tf_static

rviz_satellite

This fork works on Iron: https://github.com/nobleo/rviz_satellite/tree/ros2

To test the plugin:

ros2 topic pub -r 10 /gps/fix sensor_msgs/msg/NavSatFix "{header: {frame_id: "map"}, status: {service: 1}, latitude: VALUE, longitude: VALUE}"

Hardware Details (gen3)

  • Head Box:
    • Enclosure: WQ-48-03
    • Computer: Intel NUC, 19V @ 60W.
    • Switch: TP-Link Litewave 5. 5V @ 3.7W.
    • GPS: Sparkfun GPS-RTK-SMA w/ UBlox ZED-F9P. Comms over USB.
    • IMU: UM7. Comms over USB.
    • Wifi Access Point: GL-AR300M16.
  • Lidar: Livox MID-360, 12V (9-27V) @ 6.5W. Comms over Ethernet.
  • Camera: Luxonis OAK-1 Lite.
  • Custom integrated power and control board. Comms over Ethernet.