Introduction to CoppeliaSim/V-REP and Open-Loop Robot Locomotion Control

Motivations and Goals
Become familiar with the CoppeliaSim/V-REP robotic simulator
Be able to control hexapod walking robot
Familiarize with a simple “nature-inspired” robot locomotion to control a hexapod walking robot
Task t1a-ctrl - Create a “motion primitive” function to abstract the robot motion control

Robotic Simulator CoppeliaSim/V-REP

CoppeliaSim (formerly V-REP) is a powerful cross-platform 3D simulator based on a distributed control architecture: control programs (or scripts) can be directly attached to scene objects and run simultaneously in a threaded or non-threaded fashion. It features advanced physics engines that simulate real-world physics and object interactions such as collisions and object dynamics.

CoppeliaSim control methods
CoppeliaSim Python remote API documentation
CoppeliaSim C++ remote API documentation

Hexapod model for CoppeliaSim/V-REP

PhantomX MarkII hexapod robot
Hexapod model

Hexapod servos numbering:

Multi-legged Robot Locomotion Using Central Pattern Generator

Central Pattern Generator (CPG) is a biologically inspired neural network that produces rhythmic patterned outputs 1). CPGs are composed of individual neurons connected by mutual inhibition. The most used model and structure of the CPG is a Matsuoka oscillator 2). The main problem is parameter tweaking of individual connections to achieve limit cycles in the neural network 3)

We will use a Matsuoka oscillator formed by four neurons in mutual inhibition.
 Scheme of the CPG unit.

The CPGs are connected in a network where each leg is driven by one CPG 4). The purpose of the CPG network is to synchronize the oscillations of the connected CPGs to produce a motion gait. The output of each CPG is shaped to produce signals that drive individual joint actuators.
 CPG network structure

Typical output of the CPG network and the transition between different gaits.
 CPG output

Translation of the CPG output on the actuators can be done directly 1), or using the post-processing of the signal and inverse kinematics 4) 5) to calculate the foot-tip trajectories. We use the direct approach to map the CPG output to the joint angles in our work. The output shaping blocks are fed with the control signal, which determines the speed of the robot legs on the right and left sides, respectively, which enables the robot to have differential steering.

Open-loop Control of the Robot in CoppeliaSim/V-REP

In intelligent robotics, the vital task for the robot is navigation. Hence, the robot has to be aware of its position with respect to the goal and then find a suitable way to achieve it. In our course, we are interested mostly in artificial intelligence and planning; hence, localization is provided in 6 Degrees Of Freedom (DOF) in global coordinates externally.

The open-loop control considers only the current position $(x,y)$ and orientation $\phi$ of the robot, which means that the current state of the robot is described as triplet $(x,y,\phi)$. The goal position is defined by its position $(x_{goal}, y_{goal})$.

Note that the real robot can never reach the precise goal position; hence, a small neighborhood of the goal position with a diameter of usually half size of the robot is considered suitable for navigation.

courses/crl-courses/redcp/tutorials/simloc.txt · Last modified: 2022/11/26 20:53 by faiglj