Clone this repo into src directory.
If your looking for the nav/sensors onboarding go here instead: https://github.com/umigv/nav-onboarding-2024
https://docs.nav2.org/getting_started/index.html
https://docs.google.com/document/d/10k_sBHWKxRfVZ4LImK5-UW2cgy3Yt_E14yCGoBRWqZw/edit?usp=sharing
- Open new terminal.
- run:
source /opt/ros/humble/setup.bash
- run:
source install/setup.bash
- run:
ros2 launch marvin_bot_description teleop_launch.py
Enable Button: L2
Turbo Button: L1
Forward / Backward: Left Stick
Rotate Left / Rotate Right: Right Stick
![PS4 Contoller Button Mapping](https://private-user-images.githubusercontent.com/97559965/314266256-e4291dfd-a7ec-4eb5-8f61-66de1d4bf5fe.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMzA3MDYsIm5iZiI6MTczOTAzMDQwNiwicGF0aCI6Ii85NzU1OTk2NS8zMTQyNjYyNTYtZTQyOTFkZmQtYTdlYy00ZWI1LThmNjEtNjZkZTFkNGJmNWZlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDE2MDAwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA1ZWI1NzAwM2U3N2QzMWYxYzIxNmI1Nzk3OGY4YmU2MDY4MTA5N2E3M2M1NjE4OWU0ODNkNTNkMzk3YzhkNDgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Vlbj59Y0H5vm-oPLzoMRXRQIs4sU_S1qfWvRYoPeGqg)
- Follow
Launching
- Open new terminal.
- run
ros2 topic echo /joy
- Press the button you want to bind a control to
- Look for where a
1
appears. The row of the buttons list that it appears in is the button id, zero-indexed. - Replace the button id within
marvin_bot_description/config/teleop_configs/umarv.config.yaml
- Look for the desired scale within
marvin_bot_description/config/teleop_configs/umarv.config.yaml
- Replace it with your desired scale.
IMPORTANT: the scale must end in .0 if it does not have any digits below the ones place (e.g. scale of 5 must instead be 5.0)
- Open 3 terminals.
cd ~/ros2_ws
in each terminal.- run
source /opt/ros/humble/setup.zsh
&&source install/setup.zsh
in each terminal. - Terminal 1:
ros2 launch marvin_simulation simulation.launch.py world:=igvc_flat
- Terminal 2:
ros2 launch src/nav_stack/launch/nav_stack.launch.py
- Terminal 3:
ros2 run tf2_ros static_transform_publisher "0" "0" "0" "0" "0" "0" "map" "odom"
Note the static transform publisher will not need to be called when running the sensors stack.