This package provides a simulated SVH for controller development and testing.
We build the simulator on Todorov's MuJoCo physics engine, which has been acquired and open-sourced by Google here. This gives us a strong environment to design and test finger control for object manipulation with minimal dependencies.
-
Download MuJoCo's pre-built library package and extract that somewhere. It's ready-to-use and we will just point to it during the build.
cd $HOME wget https://github.com/deepmind/mujoco/releases/download/3.2.3/mujoco-3.2.3-linux-x86_64.tar.gz tar -xf mujoco-3.2.3-linux-x86_64.tar.gz
-
We make use of the GLFW3 wrapper around OpenGL. You can install it on Ubuntu with
sudo apt-get install libglfw3-dev libglew-dev
-
Switch to the root of your ROS2 workspace and build the package (standalone) with
colcon build --cmake-args "-DMUJOCO_DIR=$HOME/mujoco-3.2.3" --packages-select schunk_svh_simulation
In the root of your ROS2 workspace
source install/setup.bash
ros2 launch schunk_svh_simulation simulation.launch.py
This will start a simulated world with the SCHUNK SVH.
The simulated SVH exposes the same hardware_interfaces
like a real right hand does.
For instance, you can use a joint_trajectory_controller
to move each joint for easy testing.
source install/setup.bash
rqt --clear-config
Inside rqt
, navigate to Plugins
, Robot Tools
, joint trajectory controller
.
You might need to install the rqt_joint_trajectory_controller
if that's not part of your default rqt installation:
sudo apt-get install ros-<version>-rqt-joint-trajectory-controller
Select the appropriate /controller_manager
and right_hand
as controller.
You can now control each of the SVH's joints with sliders.
Supported commands:
- Rotate: Left mouse button
- Zoom: Middle mouse button
- Drag: Right mouse button
- Restart: Backspace key
Exposed interfaces per joint:
command_interfaces
: positionstate_interfaces
: position, velocity