Releases: CCGSRobotics/RoboHUD
Basic Movement Classes
As the pieces slowly fall into place, more tangible progress is being made! There are now two abstract movement classes: Dynamixel
and Robot
. Both are fairly self-explanatory:
- A
Dynamixel
represents a single servo on the robot, and contains information about its protocol, id & current values as well as providing functions to move it - A
Robot
is a group of servos, containing aDynamixel
object for each servo as well as functions to move them as a group
With this code, it becomes fairly trivial to start moving the robot around on the terrain. However, more improvements must be made to the code base before we arrive at that stage.
Remote Dynamixel Wizard
One of the main upsides of the modular server is the ability to read and write to any item in the control table with relative ease. As outlined previously, one of the main goals of the redesigned RoboHUD was the ability to have a remote version of Robotis' handy Dynamixel Wizard, for use in debugging the robot without having to directly plug the servo into a laptop.
The current version of this tool outlines a list of items in the control table, allowing for modification of writable values. As always, this is a massive work in progress, so stay tuned for updates!
Dynamixel Parser
In version v1.1.0, the CSV based Dynamixel server was released, with support for CSV files but no tool generate those files. This release brings a new page to the GUI, in which the client simply inputs an eManual URL for the Dynamixel, where it is converted into a CSV and sent off to a fileserver running on the server.
As this tool matures, support will be added for irregular cases that occasionally appear in the documentation, such as empty lines or min/max values.
Server Refactor
This refactoring is the first step in creating a more modular GUI. The server has been completely redesigned, now with a focus on general usage rather than on a per-servo basis.
Instead of writing to a specific address that only a handful of Dynamixels share, the server now supports CSV files that contain a servo's entire control table. This means that it can be re-used with (in theory) any Dynamixel servo, without any server-side code modification.
Additionally, the server now supports specific commands, such as:
- Initialisation
- Mode changing
- Value read/write
Of course, the old driving commands (ID-SPEED
for wheels & ID-POSITION-SPEED
for joints) are still supported.
This server does not currently have any usage, but once fully taken advantage of by the client should be able to support a modular system comprising of many different Dynamixel servos running either protocols.
RoboCup 2019 Final Code!
This code was successfully used to drive the robot during the finals in Sydney during RoboCup 2019! v2.0.0 is slated to be released (hopefully) during the first few months of 2020, in preparation for RoboCup 2020. This development cycle we will be looking to:
- Completely re-design the server & client with a focus on modular design
- Add more linting & other code quality checks
- Expand the documentation of the code through automated systems & manual input
If you want to see something added, please follow the instructions available on our README to propose a new feature, or any other issue you have with the code!
MX-28 Servo upgrade
The GUI now fully supports the MX-28 servos, using the new Server-Code-2019
directory! Multiple kinds of servos are now able to be daisy-chained and run in parallel. This is a major step towards having a fully operational robot driving with all of the new features such as:
- Improved design of the chassis
- Much better servos
- Grabber
- Sensors
- Hazmat (In development for v0.9.5)
Base robotics manager
This script should help some of the less experienced members of the robotics club install the required software to run the GUI and robot
Improved sensor code
v0.8.0 Improve CO2 sensor code
Migrate to UDP server
The performance increase from TCP to UDP is significant and should help in keeping the driving as close to real-time as possible
Controller Visualisation
v0.7.0 Add controller visualisation