Skip to content

ORION Hardware Change Log

Daniel F López edited this page Jun 11, 2025 · 5 revisions

orion_versions

The ORION hardware manifest a different versioning from the software and the packages. It is based on the nomenclature x.y.z, where x is the major version, y represents the notable changes and z is for the minor changes or fixes.

According to this, let's present the ORION Change Log.

Version 0.x.x

Oriented to the early development of the concept/idea of the robot. Shown as follows:

  • 0.0.x: Represents the first sketches and drawings of the robot.
    • 0.0.1: Represent the brainstorming process designs.

brainstorming

  • 0.0.2: Oriented to the 3 prototype detailed drawing after the teams debate.
  • 0.0.3: Considers the winner of the selection and validation (with members of RAS Javeriana).

winner

  • 0.0.4: Re-draw of the winner, considering the changes suggested.

winner_mod

  • 0.1.x: Represent the first non-functional prototype of the robot, made with paper to illustrate the structure decided.
    • 0.1.1: Only have one iteration, as it was unable to modify later.
  • 0.2.x: The cardboard non-functional prototypes to illustrate the concepts to the director and co-director of the thesis, in order to validate concept.
    • 0.2.1: The early design of the pieces and attempts to replicate the final sketch.
    • 0.2.2: First full design in cardboard, to validate with the teammates, members of RAS Javeriana and the director of the thesis.
    • 0.2.6: Final cardboard version to present at the final submission of the project.

cardboard_first

  • 0.2.3: Final cardboard prototype with the suggestions implemented.

cardboard_final

Version 1.x.x

The real development of a functional robot with ROS 2 Jazzy, oriented to description, simulation, control and description.

  • 1.0.x: Oriented to the CAD development of the robot in FreeCAD.
    • 1.0.0: The first design of the robot components, included the adaptions of the electronic and mechanical components with the first iterations of the custom parts.

electronic_components mechanic_components

  • 1.0.1: Re-design of the elements of the robot to make them more modular, mostly focused on the spacers and platforms.

custom_components

  • 1.0.2: Partial assemblies of ORION on Assembly2 Add-On of FreeCAD to experiment with the robot tolerances and placements.

partial_assem

  • 1.0.3: Failed full assembly made on Assembly2 Add-On after several crashes due to the complexity of the model.

failed_assem

  • 1.0.4: Failed full assembly made on Assembly3 Add-On after experimenting the same issues of the robot, even with less components.
  • 1.0.5: Failed full assembly made on Assembly4 Add-On after having even more crash than before.
  • 1.0.6: Final experiments with FreeCAD partial assemblies to test all the robot components placements.
  • 1.1.x: After many problems with FreeCAD, the next step was to take advantage of URDF and the description models, to move toward the development of the robot.
    • 1.1.0: Export of the meshes of the robot, and first plain URDF assembly.

rviz_first

  • 1.1.1: Modification and full refactor of the URDF to make it modular by using macros, mainly focused on level and component structures.

model_desc

  • 1.1.2: Adding joints with full definitions, expanding inertial and mass of the models, and fixing minor displacements.
  • 1.1.3: Modifications of the base platform (in FreeCAD and then mesh update) to change position of the first floor components.

walls

  • 1.1.4: Modifications of last floor, mainly focused on screen and screen support.
  • 1.1.5: Adding modularity with params/args for cameras, raspberry pi, arms and colors.
  • 1.2.x: Once the model was ready, the simulation was near. This versioning represents the steps made on GZ Harmonic to make a fully functional robot.
    • 1.2.0: First exports of the URDF model to GZ, to check collisions and material display.

first_gz

  • 1.2.1: First integration of GZ plugin for actuators, worked for passive controllers for caster wheel and failed for both differential controller and joint position controller for arms.

second_gz

  • 1.2.2: Changed of plugins of actuators, modified URDF to prevent certain collisions and updated the params to make work the actuators. Also included the joint position broadcaster.

actuators_gz

  • 1.2.3: Inclusion of sensors to the robot, mainly focused on cameras, LIDAR and IMU.

sensors_gz

  • 1.2.4: Added modularity of the sensors and actuators based on the params previously described for cameras and arms.
  • 1.2.5: Inclusion of noise models and update params of the different cameras, based on the camera's datasheets.
  • 1.2.6: Modification of first floor with the help of FreeCAD and description model, after some balance improvements were required.
  • 1.2.7: Failed to integrate custom plugins on touch sensor and screen.
  • 1.2.8: Added a param to URDF and simulation to simplify the model and ignore inner components if it is desired to reduce simulation charge.
  • 1.2.9: Added gz_ros2_control to the simulation to use the actuators with a interface valid for simulation and real robot.
  • 1.2.10: Added option to select between native GZ plugins or ros2_control for actuators.
  • 1.2.11: Included custom worlds for test and added a param to select a world.
  • 1.2.12: Implemented ros_gz_bridges to communicate the simulation with the ROS ecosystem.

gz_bridge_rviz

  • 1.2.13: Fixed tfs for sensors after visualizing info on RViz2.
  • 1.2.14: Adding different configs of visualization for the various configurations of the robot.
  • 1.2.15: Fixes on odometry after checking that some changes displaced the base_link, bad inertia and collisions mismatch.
  • 1.3.x: First functional and physical robot prototype, also covered the design of the electronic distribution of the robot.
    • 1.3.0: First assembly of the robot, where some notes were taken to talk about the mechanical changes required and the first iterations on how to really build the robot.
    • 1.3.1: Updated the description and models according the errors on the real robot and proceed to generate partial assemblies to check the robot integrity with the changes, mainly used laser cut of MDF (wood).
    • 1.3.2: The first documented robot for building process and the first to integrate movement tests.

brainstorming

  • 1.4.x: The second prototype of the robot, mainly managed as partial modifications of the 1.3.2.
    • 1.4.0: Focused on a re-factor of the power supply system of the robot, ending up on a stack of 12 rechargeable 18650 batteries.
    • 1.4.1: Replaced the cable and wire connections to make sure enough power is reaching the components.
    • 1.4.2: Made modifications on the first floor to reposition the charger and open a space to easily interact with the ESP32 reset button.
    • 1.4.3: Experiments with the RPi4 and the robot to check the battery usage when everything is connected, implied some changes on cable management.
    • 1.4.4: Phase focused on the development of the control for the DC motors, to implement a hardware interface by using µ-ROS and topics changes to later implement a Diff Drive Controller for ros2_control.
    • 1.4.5: Added the forward command controller to the servos.
    • 1.4.6: Modifications on the params of the ros2_control to make it more proper for both, simulation and real robot.
    • 1.4.7: Added second ESP32 program to use screen and touch sensors, with preliminary faces.
    • 1.4.8: Adding washers to MDF wall joints to prevent damages when tightening screws, reorganized cable management for RPi and USB devices.
  • 1.5.x: A version that aimed to build a robot with fully 3D print structure.
    • 1.5.0: Failed version after problems with the base platforms integrity.
  • 1.6.x: A real achievement on the robot for a 3D printed version.
    • 1.6.0: A first construction on a 3D printed ORION and a RPi5. However, the robot didn't start up.
    • 1.6.1: Replaced the USB-C charger and the connections to improve the current flow, it wasn't enough.
    • 1.6.2: Re-connection of all the robot electronic components, wire changes and battery replacement of the stack to allow the robot to work.
    • 1.6.3: Added microphone and CORAL for HRI applications, and tested energy consumption.
    • 1.6.4: Changed battery stack after discovery bad behavior with the batteries.
    • 1.6.5: Exploring additions to the stack in case of bad batteries.

Additional resources

The team

team_and_robots

More about the project

poster_and_robots

Notes

  • The current versioning of the robot hardware covers from January 24th to Jun 11th.

🧠📚 ORION Documentation


🔧⚙️ Hardware

🤖🖥️ Robot

Clone this wiki locally