A simple robot simulator for testing various algorithms.
There are lots of decent robot simulators available such as webots and gazebo. Those can be tedious to setup. The aim of simple robot simulator is to not provide the most accurate physics representation of a robot, but rather just a quick way to test various robotics algorithms and ideas. If your algorithm doesn't work in this simulator then it won't work in the more advanced ones.
The simulator aims to provide basic interface where you can control the robot from your python script and get data back from various sensors (Currently basic odometry, lidar data and a camera)
This is still a work in progress, but feature requests are welcome
- Free Software: MIT License
Simulator Binaries: https://github.com/protogarden/simple-robot-simulator/releases
Clone this repo for python core and code examples:
git clone https://github.com/protogarden/simple-robot-simulator.gitBasic simulator connection example:
import time
from core.robot_controller import RobotController
rb = RobotController('localhost', 5005)
while True:
rb.send_cmd_vel(1.5,0)
time.sleep(1)| Filename | Description | Dependencies |
|---|---|---|
| ex_remote_control.py | Remote control the robot with arrow keys | pygame |
| ex_odometry.py | Example to retrieve robot odometry data | pygame |
| ex_lidar.py | Example to retrieve robot lidar data | pygame |
| ex_camera.py | Example to retrieve robot camera images | pygame |
| ex_opencv.py | Example to retrieve robot camera images for opencv processing | opencv |
| ex_ros.py | Example to interface to ros, subcribes to cmd_vel and publishes odometry | rospy |
These items are on the todo, but no timelines available:
❌ Custom Scenes
❌ Slightly more/better physics on robot
❌ More visualizations in simulator
❌ Various code examples of popular algorithms
Graphical Assets: Tristan Zipp
Python/Unity Communication Code used from the following two projects
Tawn Kramer - https://github.com/tawnkramer/gym-donkeycar
Tawn Kramer - https://github.com/tawnkramer/sdsandbox