1x-technologies / halodi-controller

This repository contains the releases of the Halodi controller.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Eve Controller Workspace Setup with Gazebo simulation

eve_gazebo

Supported ROS2 version

The simulation plugin supports ROS2 - Foxy on Ubuntu 20.04.

For Ros2 - Eloquent on Ubuntu 18.04 see the EOL branch: eloquent-eol.

Documentation

Controller Quick start

The controller comes bundled with Simulation Construction Set (SCS). SCS is a simulation developed by IHMC with physics tuned to balance control development. Manipulation support is lacking. We use this simulator internally for the development of the balance algorithm.

Installation

To install, download the latest release for your platform here and unpack to a suitable location on our hard drive. Run InstallEveControllerPlugin after unpacking.

In the bundle you'll find a number of executables (.exe on Windows) to start various applications:

  • SCSEveSimulation: Simulation of the whole robot
  • EveVisualizer: Allows connection to the robot and inspect the controller variables online.
  • SCSVisualizer: Allows connection to the robot and inspect the controller variables online. This application is also able to connect to the controller plugin.
  • EveJointEncoderCalibrationVisualizer: Recalibration of the joint encoders on Eve.
  • InstallEveControllerPlugin: Install a link to the controller for use in the plugin.
  • DeployFirmwareToEve: Tool to deploy Firmware to Eve.

To communicate with the robot, use the API found at halodi-messages. This simulator has built-in ROS2 support.

Updating

Download an unpack the newer version for your platform here. Run InstallEveControllerPlugin after unpacking. To switch between versions, run InstallEveControllerPlugin and restart all applications that depend on it.

ROS2/Gazebo Quick start installation

Prerequisites:

  • Ubuntu 20.04
  • A machine with graphics acceleration capability
  • Internet connectivity (to download the JDK dependencies)

The following steps describe the process for setting up your ROS 2 workspace to develop with the EVE Gazebo simulation.

  1. Install ROS 2 - Foxy
  2. Install the following:
sudo apt update
sudo apt install git python3-colcon-common-extensions python3-vcstool xsltproc gazebo11 ros-foxy-gazebo-ros-pkgs
  1. Create ROS 2 a workspace:
mkdir -p ~/eve_ws/src
cd ~/eve_ws/src
  1. In your workspace src directory, import the libraries
wget https://raw.githubusercontent.com/Halodi/halodi-controller/main/eve_ws_https.repos .
vcs import < ./eve_ws_https.repos
  1. Make sure you have installed the halodi-controller. See the Instalation chapter above this chapter. Make sure to run InstallEveControllerPlugin to setup the link between Gazebo and the controller.
  2. Build and source the workspace:
. /opt/ros/foxy/setup.bash
cd ~/eve_ws
colcon build
. install/local_setup.bash
  1. Launch the EVE Gazebo sim:
ros2 launch halodi-controller-gazebo halodi-controller-gazebo.launch.py

To disable the trajectory API and use the realtime API pass "trajectory-api:=false" as argument.

ros2 launch halodi-controller-gazebo halodi-controller-gazebo.launch.py trajectory-api:=false

To connect "SCSVisualizer" from the controller installation to the Gazebo instance to tune variables, add "variable-server:=true" as argument.

ros2 launch halodi-controller-gazebo halodi-controller-gazebo.launch.py variable-server:=true

Required ROS2 packages

To run the simulation, you need the following packages in your ROS2 workspace.

About

This repository contains the releases of the Halodi controller.