A python robotic framework and tools
My robot software.
- Doesn’t use ROS, ROS is a pain to install and maintain on OSX and various linux systems
- Uses some of the same ideas, but not RPC-XML
- Uses Zero MQ instead of roscore
- Uses OpenCV to process on-board or stream video off-board to remote
- All of this runs on Raspberry Pi3
Note: This re-write is still very early and not fully running yet, just parts.
Use brew or apt-get to install:
- opencv 3.x
- [optional] SDL 2.0 for PS4 joystick control
pip install pygecko
git clone https://github.com/walchko/pygecko cd pygecko pip install -e .
pyGecko still in development
servers: main nodes
- Speech server
- Navigation server
- Vision processing server
- VideoOdometry server
tools: command line programs
- Topic reader/creator
- bag play/record
- image viewer
- mjpeg streamer
lib: mostly classes
- camera calibrator
- file storage
This directory contains several tools for the robot:
|camera_calibrate.py||Y||performs camera calibration using either a chessboard or asymmetric circle target. Target patterns are in the patterns folder.|
|topic.py||N||send various commands to the robot [work in progress]|
|image_view||Y||subscribe to image messages and display them for debugging|
|mjpeg-server||Y||create a web server which serves up an mjpeg stream from a camera. Any web browser on any device can see this stream (easier than image_view)|
|video.py||Y||capture images or a video clip from a camera|
|webserver.py||N||serve up a web page containing debugging and status info for the robot|
|bag_play/record||Y||saves messages to a file so they can be replayed off-line later|
|twist_keyboard||Y||simple keyboard interface to send twist messages to a robot|
Note: Please take stable with a grain of salt … all of this is still in major development.
Note: There is some duplication between these, and it will eventually be sorted out.
- fix speech … not sure best way to do this
- better modularity for various robots … not sure how to do this
- multiple robots use same/similar software … not sure how to best divide things up
- only handles one connection at a time … make threaded?
- sometimes the video stream is slow to load, but then it works fine
- handle client disconnect (broken pipe - 32) better
- opencvutils - replacing lib/Camera.py and move calibration stuff to it
- these are good capabilities that can be used beyond just this library, make a stand alone library/tool
- simplehtml - use for dynamic webpages
- quaternions - use/update
- implement a simple dynamic html server that takes json data in and produces webpages of diagnostic/status info
pyGecko comes from my previous robotics projects that I have been working on for years.
|2016-10-09||0.4.1||published to PyPi|
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size pygecko-0.5.2-py2-none-any.whl (49.9 kB)||File type Wheel||Python version py2||Upload date||Hashes View|