Python 3 implementation for programming a Parallax ActivityBot 360° Robot Kit 360_kit  with
a Raspberry Pi. The modules of the implementation are using the pigpio  module
to control the GPIOs of the Raspberry Pi. No other external module is needed.
At the moment, the following functions are implemented:
- Turning on the spot
- Moving straight - forward and backward
- Scanning the surrounding with an ultrasonic sensor mounted on a servo
The turning and straight movements are controlled by four digital PID
controllers. Each wheel is controlled by a cascade control, using
a cascade of two PID controllers. The outer loops control the position
while the inner loops control the speed of each wheel.
The modules provide simple APIs for turning and straight
movements and also for scanning the surrounding or stearing a servo. Have a look
at the Examples section of the documentation for some code examples.
Most of the default values in the modules are those which are used while
experimenting/developing with the demo implementation. They provide a good starting
point for the range of the values. Pictures of the demo implementation can be
found in the Introduction section of the documentation.
The modules also enable remote controlling the Raspberry Pis GPIOs. This enables
use of the modules on a laptop/computer and over e.g. WLAN remote controlling the Raspberry Pi
which provides a WLAN hotspot, see remote_pin  and pi_hotspot  . So, the robot can freely
move with a powerbank attached without any peripheral devices while programming/controlling it.
The possibillity of remote controlling the Raspberry Pis GPIOs is a big advantage of the
used pigpio  module. This drastically improves the use of the modules, because then all
programming/controlling can be done on a laptop/computer inlcuding using an IDE, having
much more system ressources and so on. It is also possible to use the modules on the
Raspberry Pi itself and connect to it over VNC, see VNC  . For both ways, using the
modules on the Raspberry Pi itself or remote on a laptop/computer to control the
Raspberry Pis GPIOs, no modifications have to be done in the source code of the modules.
The documentation is made with Sphinx  and can be extended or modified as needed for
e.g. documenting own projects based on this or if extending functionality of the modules
and documenting this. The whole documentation is stored in the
Instead of buying an ActivityBot 360° Robot Kit 360_kit  it is sufficient to buy
two Parallax Feedback 360° High-Speed Servos 360_data_sheet  , two robot wheels
wheel_robot , one Parallax Standard Servo stand_data_sheet  and a HC-SR04 
ultrasonic sensor to build your own chassi/robot.
A comprehensive documentation is available at https://360pibot.readthedocs.io/ .