Skip to content

Releases: teuler/robotling

Robotling for HUZZAH32 w/ board v1.3 and MicroPython 1.15

01 May 09:03
b403ba3
Compare
Choose a tag to compare
  • 2021-05-01 - Release v1.9
    • Small bug fixes, now compatible w/ MicroPython v1.14 and "vanilla" v1.15 (esp32-20210418-v1.15.bin).
    • Now uses RobotlingBase (from robotling_lib), so better separate standard hardware and additional hardware defined in devices (in hexbug_config.py).
    • As robotling_lib now includes simple.py and robust.py from micropython-lib as fall-back, MQTT can now be used with the standard MicroPython firmware, which does not inlcude umqtt.
    • Since it was difficult to maintain different versions of the robotling code all accessing the same set of driver etc. libraries, these files have now been moved to a separate repository (robotling_lib).
    • Simple GUI to show robot status via MQTT (hexbug.gui.py)
    • Support for TinyPICO added
    • Configurations for different hardware combinations
    • General class to manage and control a set of servos (servo_manager.py) and improvements in Servo class
    • Class for PCA9685 16-channel servo driver (servos_pca9685.py)
    • Class for 18-channel Mini Maestro servo driver (servos_mini_maestro_18.py)
    • Thermal camera support added (amg88xx.py and camera_thermal.py; new behaviour lookAtBlob using the thermal camera (see videos 4, 5). Note that the blob detection (not the camera itself) requires a custom MicroPython firmware that includes the module blob (coded in C for speed reasons).
    • Configuration file split into fixed (hexbug_global.py) and robot-dependent definitions
    • Code adapted to MicroPython release 1.12.x, including hardware I2C bus option added and native code generation added for time critical routines (ESP32 only)
    • PWM frequencies for servos and DC motors are now defined in robotling_board.py to account for the fact that the ESP32 port supports only a single frequency for all standard PWM pins. In addition, drv8835.py now uses the RMT feature of the ESP32 for PWM to run the DC motors. This allows using a different frequency than the normal PWM functions.
    • New type of Sharp sensor added (GP2Y0AF15X, 1.5-15 cm) to sensors\sharp_ir_ranging.py. This allows using a triple IR distance sensor array such that the robot's head does not need to scan sideways.
    • I2C frequency increased to 400 kHz in robotling_board.py. The I2C frequency used is now also printed when the robot boots.
    • Robotling v1.3 board in robotling_board_version.py.
    • In case of an uncaught Python exception, the firmware tries to send a last MQTT message containing the traceback, allowing to get information on code errors even when the robot is not attached via USB.
    • Now an option was added to send telemetry via WLAN using the MQTT protocol (ESP32 only). An example script (test_mqtt.py) that demonstrates how to subcribe to robotling telemetry on a PC was added to ../code.
    • hexbug.py - Bias factor (IR_SCAN_BIAS_F) added to the configuration file hexbug_config.py; it allows correcting for a direction bias in the turning motor. Also, the scan scheme was slightly changed from "left-right-center" to "left-center-right-center", which helps the robot to walk more straight.
    • telemetry.py- Encapsules the MQTT functionality.
    • main.py - Simple "memory" was added to remember the direction of successful turns (experimental).
    • robotling.py - Now the keyword "wlan" can be added as a device to MORE_DEVICES in hexbug_config.py to activate the network (instead of changing boot.py)
    • Robotling code moved from ../code to ../code/robotling

Robotling for HUZZAH32 w/ board v1.2

17 Jul 07:39
Compare
Choose a tag to compare
  • 2019-07-17 - Release v1.7
    • hexbug_config.py reorganised (i.e. user section)
    • deepsleep/lightsleep support for HUZZAH32 (ESP32)
    • Support for LSM9DS0 accelerometer/magnetometer/gyroscope added
    • Preparations for MQTT telemetry
    • Tested w/ MicroPython v1.11
    • New "behaviours" added (find light, take naps)
    • Wiki updated and extended
    • Note: This release has not yet been tested with M4 Express Feather (and CircuitPython).

Robotling for HUZZAH32 or M4 w/ board v1.2

17 Mar 08:34
4c59f51
Compare
Choose a tag to compare
  • 2019-03-17 - Release v1.5
    • Some code improvements (handing devices, cleaning up)
    • Tested w/ MicroPython v1.10
    • New pictures
    • A new wiki page with extentions and modifications
    • New pictures, annotated pictures of board v1.2
    • Some new text on memory and performance
    • A few bug fixes
    • More drivers (dotstar, VL6180X).
    • Works now also with the M4 Express Feather from Adafruit (and CircuitPython).
    • Eliminated the need for a timer. Added spin_ms(), which needs to be called once per loop and instead of sleep_ms() to keep board updated. This solution is superior to the use of a timer, because (i) it is deterministic (avoids randomly interrupting the program flow and, hence, inconsistencies) and (ii) makes the code compatible to CircuitPython, which does not (yet?) support timers.
    • Now board v1.2 included, some code refactoring and improvements

First robotling for huzzah32 w/ board v1.0

29 Nov 18:50
Compare
Choose a tag to compare
  • 2018-11-29 - Release v1.1
    • First complete version for board v1.0 and huzzah32
    • Initial release