Intro

dev2 bash script

  • Create a dev2 bash script in ~/bin which achieves the following:
    • Auto-sources ROS2 environment in each pane
    • Launches the following:
    • Gazebo Garden
    • teleop_twist_keyboard
    • rqt
    • plotjuggler
#!/bin/bash
tmux kill-session -t dev2 2>/dev/null
SESSION="dev2"
 
# Start a new tmux session in detached mode
tmux new-session -d -s $SESSION
 
# Split the window horizontally (Pane 1)
tmux split-window -h -t $SESSION
 
# Split Pane 0 vertically (Pane 2)
tmux split-window -v -t $SESSION:0.0
 
# Split Pane 1 vertically (Pane 3)
tmux split-window -v -t $SESSION:0.1
 
# Apply the 'tiled' layout to arrange panes evenly
tmux select-layout -t $SESSION tiled
 
# Define the ROS setup command
ROS_SETUP="source install/setup.bash"
 
# Send setup and commands to each pane
tmux send-keys -t $SESSION:0.0 "$ROS_SETUP" C-m
tmux send-keys -t $SESSION:0.0 "ros2 launch pontus_bringup odom_simulation.launch.py" C-m
 
tmux send-keys -t $SESSION:0.1 "$ROS_SETUP" C-m
tmux send-keys -t $SESSION:0.1 "ros2 run teleop_twist_keyboard teleop_twist_keyboard" C-m
 
tmux send-keys -t $SESSION:0.2 "$ROS_SETUP" C-m
tmux send-keys -t $SESSION:0.2 "sleep 20 && rqt" C-m
 
tmux send-keys -t $SESSION:0.3 "$ROS_SETUP" C-m
tmux send-keys -t $SESSION:0.3 "sleep 20 && ros2 run plotjuggler plotjuggler" C-m
 
# Focus back on Pane 0
tmux select-pane -t $SESSION:0.0
 
# Attach to the session
tmux attach-session -t $SESSION
  • Make executable
sudo chmod +x dev2

picture 37

dev3 bash script

  • Create a dev3 bash script in ~/bin which achieves the following:
    • Auto-sources ROS2 environment in each pane
    • Launches the following:
    • waypoint visualizer
    • Foxglove bridge
#!/bin/bash
tmux kill-session -t dev3 2>/dev/null
SESSION="dev3"
 
# Start a new tmux session in detached mode
tmux new-session -d -s $SESSION
 
# Split the window horizontally (Pane 1)
tmux split-window -h -t $SESSION
 
# Split Pane 0 vertically (Pane 2)
tmux split-window -v -t $SESSION:0.0
 
# Split Pane 1 vertically (Pane 3)
tmux split-window -v -t $SESSION:0.1
 
# Apply the 'tiled' layout to arrange panes evenly
tmux select-layout -t $SESSION tiled
 
# Define the ROS setup command
ROS_SETUP="source install/setup.bash"
 
# Send setup and commands to each pane
tmux send-keys -t $SESSION:0.0 "$ROS_SETUP" C-m
tmux send-keys -t $SESSION:0.0 "ros2 launch pontus_autonomy run_info_visualizer.launch.py" C-m
 
tmux send-keys -t $SESSION:0.1 "$ROS_SETUP" C-m
tmux send-keys -t $SESSION:0.1 "ros2 launch foxglove_bridge foxglove_bridge_launch.xml" C-m
 
tmux send-keys -t $SESSION:0.2 "$ROS_SETUP" C-m
# tmux send-keys -t $SESSION:0.2 "ros2 launch pontus_bringup odom_simulation.launch.py" C-m
 
tmux send-keys -t $SESSION:0.3 "$ROS_SETUP" C-m
# tmux send-keys -t $SESSION:0.3 "ros2 run teleop_twist_keyboard teleop_twist_keyboard" C-m
 
# Focus back on Pane 0
tmux select-pane -t $SESSION:0.0
 
# Attach to the session
tmux attach-session -t $SESSION