It’s Friday . So following the tradition of IEEE Spectrum / Automaton let’s have a video friday
Since I’m a big fan of having neat logos representing the various projects I’m working on it was a given to have a nice logo for the hexapod project (possibly a bit late for this years ELROB but definitely in time for next years ENRICH). So let’s have it:
After taking more than six months since the culmination of ELROB 22, here it is at last: Everything you’ve ever (or maybe never) wanted to know about the L3X-Z construction and its participation in ELROB 22 is detailed in the following article:
I’d like to draw everyone’s attention to the growing amount of Cyphal-enabled boards in L3X-Z.
l3xz-leg-ctrl-hardware (Hardware, Firmware)
This board situated on each leg of L3X-Z determines the joints angular position with magnetic position sensors and publishes it using Cyphal to various consumers.
No Cyphal board but allows to inject 5V (and up to 5A) into the CAN bus supplying all connected devices. No more separate wires for power supply needed.
This is neat. Would be even neater if the firmware did not have hard-coded port identifiers and did not rely on the node-IDs for application-layer functionality! I take it that with the new 107-Arduino-Cyphal it would be a no-brainer to drop the hard-coded topics.
A fully Cyphal-conforming firmware for the auxiliary controller is now complete (incl. configurable port IDs, persistent register storage, etc.).
The hardware is based on the (much mentioned) OpenCyphalPicoBase.
Its features are robot status visualization via RGB LEDs (as mandated by the ELROB rules) and publishing of the status of the Stop/Go button.
Here’s how the led colour can be changed via publishing to the configured port ID using
1 = RED):
y pub -N1 2002:uavcan.primitive.scalar.Integer8.1.0 1
Below a video of my cycling through the availale colours by publishing the appropriate values via yakut:
Another milestone has been achieve. The full Cyphal network has been wired up (on a yet temporary basis) and all nodes have been configured using
yaml. (Details to be found here).
Afterwards I was rewarded by seeing the full transport matrix and all 6 leg controllers, 1 auxiliary controller, 1 valve controller as well as one Orel 20 (for the hydraulic pump). The radiation sensor is not in the list as its currently under final assembly @generationmake .
Here’s a couple of more images from the setup:
6 x Leg Controller
1 x Valve Controller
With the ENRICH 2023 coming closer and closer its time for L3X-Z to assume its final Gestalt
Here are a couple of impressions from the latest building session:
A close-up picture of the servo-actuated hydraulic valve blocks:
The newly designed “Dragonbeard” (thank you very much @scottdixon for your FANTASTIC work !!! ) colour/thermal imaging head which has both pan and tilt control:
- ROS: l3xz_openmv_camera: ROS driver for OpenMV camera.
- CAD: l3xz-hw-pan-tilt-head: CAD files for L3X-Z’s pan/tilt color/thermal imaging head.
- Docker: l3xz-sw-pan-tilt-head: Software bundle for deployment on the Raspberry Pi Zero 2 of the pan/tilt head.
A close-up picture of the thermal camera:
An impression along the longitudinal axis of the robot:
(Naked) 4-Port PoE Switch, DC/DC-Converter for PoE Upconversion (4S LiFePo → 48 VDC), Power Distributor, hydraulic pressure sensors:
The (more or less) final beast:
Cool stuff. Keep it coming.
I just wanna post this: Neural Volumetric Memory for Visual Locomotion Control
Maybe it’ll be relevant at some point in the future.
Logged much to explore, we have barely scratched the surface .
On the image below you can see the hexapods nearly complete Cyphal network:
- 6 x l3xz-leg-ctrl
- 1 x l3xz-aux-ctrl
- 1 x l3xz-valve-ctrl
- 1 x l3xz-pressure-sensor
- (1 x l3xz-radiation-sensor)
are 9 (10) 107-Arduino-Cyphal powered devices that run without a hiccup on L3X-Z’s internal network!
Additionally there’s a Orel 20 ESC for driving the hydraulic pump as well as the ros2_cyphal_bridge for streaming selected Cyphal messages as ROS topics for further internal processing.
This brings the total number of Cyphal network devices up to 11 (12).
Let’s close with some robot image spam
The prototype for the radiation sensor has arrived and has been added to the Cyphal network for evaluating network stability.
This increases the number of 107-Arduino-Cyphal based Cyphal-networked devices running flawlessly on a single 250 kBits/s CAN network to 11 plus one more which is a Zubax Orel 20 = 12 Cyphal enabled devices on a single CAN bus.
ENRICH 2023 is upon us and I’d like to share a couple of pictures from Day #1.
Location is the never-turned-on nuclear power plant Zwentendorf in Austria .
The event’s purpose is to provide a real-world testing ground for robotic systems in a scenario simulating a radiation incident at a nuclear power plant.
Note the discrete OpenCyphal logo
ENRICH 2023 Day #2 in Zwentendor, Austria . (Included a guided tour through the internals of the only never-has-been-operational nuclear power plant in the world).
Raspberry Pi 4 as primary SBC:
Cyphal/CAN enabled radiation sensor:
Cyphal/CAN enabled dual hydraulic pressure sensor:
Reactor from top:
ENRICH 2023 Day #3/4 in Zwentendor, Austria .
Taking the time and good light to take some hexapod pictures inbetween competition runs.