Skip to content

vibhoraggarwal/robotcontroller

Repository files navigation

Robot Controller

Robot controller for JVRC-1 robot using mc_rtc.

robotcontroller

Solver used

  • The controller relies on the mc_solver package for trajectory optimization and motion planning.

    qpsolver

  • Position and orientation are provided using mc_tasks. SurfaceTransformTask and LookAtTask are used to specify the desired poses for the hands and the Neck. The QP solver computes joint velocities or torques that move the arm while respecting contacts, dynamics, collisions, and joint limits.

  • Non aggressive stiffness values (stiffness value=1) are used to ensure a more compliant behavior of the robot.

Building the controller

Pre-requisite

  • mc_rtc: This controller expects that cmake could find mc_rtc package. It could either be installed using the mc_rtc's installation guide (>>click here to see)
  • ROS humble:

Build

Note

The same commands below can also be performed by executing, ./build.sh and ./install.sh

This is done using CMake and your usual tool to run CMake, build the code and install it. Typically, on Linux/MacOS:

cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build
sudo cmake --install build

Configuration

Note

The same commands below can also be performed by executing, ./launch_sim.sh

Template configuration files could be found in resources directory. They should be copied to $HOME/.config/mc_rtc/ directory or used relative paths with --mc-config option in mc_rtc_ticker.

How to run the controller

ros2 launch mc_rtc_ticker display.launch &
mc_rtc_ticker --mc-config ./resources/mc_rtc.yaml

About

Simple humanoid robot controller using the mc_rtc framework

Resources

Stars

Watchers

Forks

Packages

No packages published