Skip to content

Instantly share code, notes, and snippets.

@hidmic
Last active February 25, 2022 16:28
Show Gist options
  • Save hidmic/8bf35d9b4d4b8584ff26115f555eb787 to your computer and use it in GitHub Desktop.
Save hidmic/8bf35d9b4d4b8584ff26115f555eb787 to your computer and use it in GitHub Desktop.

[Demo] Add node marginalization support

Link: SteveMacenski/slam_toolbox#468

  1. Create a catkin workspace:

    mkdir -p demo_ws/src
    cd demo_ws
  2. Import source repositories:

    vcs import src < demo.repos
  3. Install all source packages' dependencies:

    rosdep install -i -y --rosdistro=noetic --from-path src \
        --skip-keys 'moose_gazebo warthog_gazebo ridgeback_gazebo dingo_gazebo heron_gazebo uuv_gazebo_worlds'
  4. Build catkin workspace:

    catkin_make
  5. Launch CPR's Jackal robot simulation in an office environment:

    roslaunch cpr_office_gazebo office_world.launch platform:=jackal config:=front_laser

    To use a joystick to teleop the robot, export ${JACKAL_JOY_DEVICE} envvar with your input device path before launching Gazebo.

  6. Launch lifelong SLAM for CPR's Jackal robot:

    roslaunch jackal_navigation lifelong_slam_demo.launch
  7. Start rviz to visualize robot, map, and pose graph:

    rviz -d demo.rviz

    To visualize pose graph edges in rviz, merge SteveMacenski/slam_toolbox#467 into your local slam_toolbox branch.

repositories:
LMS1xx:
type: git
url: git@github.com:clearpathrobotics/LMS1xx.git
version: noetic-devel
cpr_gazebo:
type: git
url: git@github.com:ekumenlabs/cpr_gazebo.git
version: melodic/tweak/jackal-external-config
jackal:
type: git
url: git@github.com:ekumenlabs/jackal.git
version: noetic/feature/lifelong-slam
jackal_simulator:
type: git
url: git@github.com:jackal/jackal_simulator.git
version: melodic-devel
slam_toolbox:
type: git
url: git@github.com:ekumenlabs/slam_toolbox.git
version: noetic/feature/chow_liu_tree_approximation
Panels:
- Class: rviz/Displays
Help Height: 78
Name: Displays
Property Tree Widget:
Expanded:
- /Global Options1
- /Status1
Splitter Ratio: 0.5
Tree Height: 555
- Class: rviz/Selection
Name: Selection
- Class: rviz/Tool Properties
Expanded:
- /2D Pose Estimate1
- /2D Nav Goal1
- /Publish Point1
Name: Tool Properties
Splitter Ratio: 0.5886790156364441
- Class: rviz/Views
Expanded:
- /Current View1
Name: Views
Splitter Ratio: 0.5
- Class: rviz/Time
Experimental: false
Name: Time
SyncMode: 0
SyncSource: ""
Preferences:
PromptSaveOnExit: true
Toolbars:
toolButtonStyle: 2
Visualization Manager:
Class: ""
Displays:
- Alpha: 0.5
Cell Size: 1
Class: rviz/Grid
Color: 160; 160; 164
Enabled: true
Line Style:
Line Width: 0.029999999329447746
Value: Lines
Name: Grid
Normal Cell Count: 0
Offset:
X: 0
Y: 0
Z: 0
Plane: XY
Plane Cell Count: 10
Reference Frame: <Fixed Frame>
Value: true
- Alpha: 0.699999988079071
Class: rviz/Map
Color Scheme: map
Draw Behind: false
Enabled: true
Name: Map
Topic: /map
Unreliable: false
Use Timestamp: false
Value: true
- Class: rviz/MarkerArray
Enabled: true
Marker Topic: /slam_toolbox/karto_graph_visualization
Name: MarkerArray
Namespaces:
slam_toolbox: true
Queue Size: 100
Value: true
- Alpha: 1
Class: rviz/RobotModel
Collision Enabled: false
Enabled: true
Links:
All Links Enabled: true
Expand Joint Details: false
Expand Link Details: false
Expand Tree: false
Link Tree Style: Links in Alphabetic Order
base_link:
Alpha: 1
Show Axes: false
Show Trail: false
chassis_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
front_fender_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
front_laser:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
front_laser_mount:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
front_left_wheel_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
front_mount:
Alpha: 1
Show Axes: false
Show Trail: false
front_right_wheel_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
imu_link:
Alpha: 1
Show Axes: false
Show Trail: false
mid_mount:
Alpha: 1
Show Axes: false
Show Trail: false
navsat_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
rear_fender_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
rear_left_wheel_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
rear_mount:
Alpha: 1
Show Axes: false
Show Trail: false
rear_right_wheel_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
Name: RobotModel
Robot Description: robot_description
TF Prefix: ""
Update Interval: 0
Value: true
Visual Enabled: true
Enabled: true
Global Options:
Background Color: 48; 48; 48
Default Light: true
Fixed Frame: map
Frame Rate: 30
Name: root
Tools:
- Class: rviz/Interact
Hide Inactive Objects: true
- Class: rviz/MoveCamera
- Class: rviz/Select
- Class: rviz/FocusCamera
- Class: rviz/Measure
- Class: rviz/SetInitialPose
Theta std deviation: 0.2617993950843811
Topic: /initialpose
X std deviation: 0.5
Y std deviation: 0.5
- Class: rviz/SetGoal
Topic: /move_base_simple/goal
- Class: rviz/PublishPoint
Single click: true
Topic: /clicked_point
Value: true
Views:
Current:
Class: rviz/Orbit
Distance: 18.45862579345703
Enable Stereo Rendering:
Stereo Eye Separation: 0.05999999865889549
Stereo Focal Distance: 1
Swap Stereo Eyes: false
Value: false
Field of View: 0.7853981852531433
Focal Point:
X: 6.700005531311035
Y: 2.6283910274505615
Z: 1.8276878595352173
Focal Shape Fixed Size: true
Focal Shape Size: 0.05000000074505806
Invert Z Axis: false
Name: Current View
Near Clip Distance: 0.009999999776482582
Pitch: 1.3097965717315674
Target Frame: <Fixed Frame>
Yaw: 3.2004010677337646
Saved: ~
Window Geometry:
Displays:
collapsed: false
Height: 846
Hide Left Dock: false
Hide Right Dock: false
QMainWindow State: 000000ff00000000fd000000040000000000000156000002b4fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b000002b4000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002b4fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b000002b4000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004b00000003efc0100000002fb0000000800540069006d00650100000000000004b00000024400fffffffb0000000800540069006d006501000000000000045000000000000000000000023f000002b400000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
Selection:
collapsed: false
Time:
collapsed: false
Tool Properties:
collapsed: false
Views:
collapsed: false
Width: 1200
X: 72
Y: 27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment