Skip to content

Latest commit

 

History

History
102 lines (65 loc) · 2.14 KB

CHEATSHEET.md

File metadata and controls

102 lines (65 loc) · 2.14 KB

Workshop Cheatsheet

Repository Guide

Clone this repo

git clone --recurse-submodules https://github.com/ros-wg-delib/roscon24-workshop.git

Update to the latest version (including submodules)

git pull
git submodule update --init

Docker Guide

Pull the image

docker compose pull

Build the image locally

docker compose build

Start a new container

docker compose run base

Attach a new shell to an existing container

docker compose exec base bash

Shutting down cleanly

docker compose down --remove-orphans

NOTE: This is needed because every time you run docker compose run base, a new container is created and may become "orphaned". You can alternatively use docker compose up base to avoid this, but it uses up one terminal.


PyRoboSim Guide

Start a world

ros2 run delib_ws_worlds run --ros-args -p problem_number:=1

Change the problem_number argument above to launch different worlds.

To edit existing worlds, refer to the problems/delib_ws_worlds/worlds folder in this repository.

Query an individual robot's state

ros2 topic echo /robot/robot_state

Query the complete world's state

ros2 service call /request_world_state pyrobosim_msgs/srv/RequestWorldState {}

Run an action with a specific robot

Navigation example:

ros2 action send_goal /execute_action pyrobosim_msgs/action/ExecuteTaskAction "{action: {robot: 'robot', type: 'navigate', target_location: 'desk'}}"

Pick/place example:

ros2 action send_goal /execute_action pyrobosim_msgs/action/ExecuteTaskAction "{action: {robot: 'robot', type: 'pick', object: 'waste0'}}"

ros2 action send_goal /execute_action pyrobosim_msgs/action/ExecuteTaskAction "{action: {robot: 'robot', type: 'place', object: 'waste0'}}"

PyRoboSim display is frozen

Sometimes, PyRoboSim's display may not update while a robot is actually moving. We are actively investigating this issue, but to manually "unstick" the GUI you can toggle the "Show collision polygons" checkbox to force the state to refresh.