Skip to content

dbrody/tars_robot_sim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Main

TARS Robot

This is an experimental project to simulate and teach a robot control dynamics. The robot of choice is a simple model of the TARS robot seen in Interstellar.

Goal

The goal of this project is to teach the TARS robot to move forward in the simulated environment without moving any cones.

Starting Position

An example python control program can be found in the tars_sample_controller package. It demonstrates the ability to control the TARS robot while it is in a physical simulation:

Example Simulation

The TARS robot is currently very simplified. It has 3 joints and 4 legs all acuated around the center.

TARS Robot

Project Overview

Currently the project makes use of ROS and Gazebo for controlling and simulating the robot respectively.

Components

  • tars_core - Core packages used for robot description and client interfaces for the simulator.
    • tars_corecpp - C++ shared library that abstracts control of the TARS simulated robot.
    • tars_corepy - Python package that abstracts control of the TARS simulated robot
    • tars_world - Describes the TARS robot model and world, simulation settings and launching simulation world.
  • tars_controller_samples
  • tars_sim - Example simulation runner. Runs TARS robots for period and restarts periodically.
  • tars_controller_nn - Example custom controller.

Roadmap

  • Create framework for spawning, running, and resetting robots
  • Make single random NN for robot control
  • Implement NEAT evolutionary algorithm for training
  • Implement database to store NEAT results

Setup

This is currently only tested and running on Ubuntu 14.04

Installation

Dependencies:

  • Install ROS
  • Install ROS Controller - See bottom of wiki page
  • Install Ros Gazebo Ros Control - sudo apt-get install ros-indigo-gazebo-ros-control
  • Make a ROS Workspace
  • Check this directory out into your catkin workspace src/ folder
  • Go back to your catkin workspace folder
  • Make your catkin workspace: catkin_make; catkin_make install
  • Source the environment setup: source devel/setup.sh
  • Install pygame for python graphics: sudo apt-get install python-pygame

This project will compile packages as normal under ROS catkin make.

To Run

To open Gazebo to visualize the simulation run:

roslaunch tars_world tars_world.launch

To start running simulations run:

rosrun tars_sim tars_sim

Reference Material

Some articles and material that has been helpful:

ROS

ML

ML Applications

Thanks!

Thanks for looking and please feel free to contact if you would like to help in any way. From 3D modelling to programming to AI to robot building - all is welcomed.

About

Exploration into robots simulation and learning.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published