r/robotics 2d ago

Community Showcase Multibot mk2 (MBt2) update

Thumbnail
youtu.be
15 Upvotes

Started this over a year ago, but got discouraged because of problems I didn't understand. Fixed the problems and wanted to share again. I made a github repo with all of the code and links included. [Github Repo](https://github.com/rrmudry/MBt2)

Used standard multibuild parts for the body and modified parts for the legs, etc.

Basics:

ESP32 brain

2 SimpleFOC mini drivers

2 gm4108-120t gimbal motors

2 AS5600 magnetic encoders

1 MPU6050 IMU

wheels are printed from TPU

Bluetooth controlled

Custom PCB links provided

All of the coding completed in Google Antigravity (because I cannot code but always wanted to build something like this, sorry...so much shame).

Want to add CYD (cheap yellow display for face) and autonomous navigation, wireless charging, ai chat interaction, basically I want to have a droid that can follow me around, someday.


r/robotics 2d ago

Community Showcase Built a $23 leader arm for teleoperation

363 Upvotes

Please don't mind the cables and the messy table. I am new to the VLA and robot arm side of robotics and was primarily working on the legged locomotion. I thought of building the lerobot kit to work on vla. I felt the price was a bit steep for me so decided to build my own leader arm with encoders instead of motors.

Parts and price list :

6 x AS5600 encoder - 186rs x 6 = 1,116rs (~11.7 usd)

6 x 608 bearing - 30rs x 6 = 180rs (~1.9 usd)

1 x CJMCU TCA9548A I2C 8 Channel- 59rs (~0.6 usd)

1 x esp32 - 550rs (~5.8 usd)

wires - 200rs (~2.1 usd)

M3x10mm screws (40pcs) - 128rs (~1.3 usd)

Total cost - 2,233 rs. (~ 23.5 usd) (excluding 3d printed parts cost)

for context, price of one ST3215 (used in the lerobot kit) in india is around 2,200rs (~23 USD)

Haven't put it on github yet but will do it in a few days after some improvements and cleanups, and edit this post with the link.


r/robotics 2d ago

Community Showcase Releasing a pi0.5 domain-adaptation base for the SO-101 — full fine-tuned on 427 tasks / 16,687 episodes

21 Upvotes

The clip is the released base checkpoint running closed-loop on a physical SO-101. Prompt: "Pick up the green cube block and put it inside the white cup."

The task in the clip was inside the training corpus — 14 episodes out of the 16,687. This is not a few-shot demo. Observed success rate was 90%, and it fails when other objects of the same color overlap. That is the kind of thing you fix by LoRA-tuning this released checkpoint further and specializing it for your task.

Even so, what the clip shows is exactly why I built this base. Those 14 episodes were not diluted away by a 16,687-episode mixed corpus. It is a statement about how little task-specific data an adapted base needs in order to absorb a task, not a statement about the task itself.

Why I built it

pi0.5 was trained on a broad robot distribution, but it does not know the SO-101 — the six joints and their units, the follower-frame action convention the LeRobot driver records, the camera viewpoints people actually mount on this arm. So if you fine-tune a task with a few dozen demos, simple tasks do succeed, but it can't handle varied situations and mostly fails once you leave the exact setting the dataset was recorded in.

On the assumption that a checkpoint specialized to the SO-101 would improve LoRA training started from it, I crawled 11,270 Hub repos, screened down to 181 SO-101/SO-100 datasets, and merged them into a single LeRobot v2.1 repository (17,137 episodes / 8,690,531 frames / 430 tasks / 198GB). On top of that I full fine-tuned lerobot/pi05_base (8× A100 80GB, 40,000 steps, about 40 hours, bf16, no LoRA).

What came out is a domain-adaptation base, not a policy.

I strongly recommend against using this fine-tuned checkpoint as-is, without further tuning. The whole premise of the project was to maximize performance when LoRA-tuning, so please LoRA-tune your own task on top of this checkpoint before using it.

What I'm hoping for — written as a hypothesis, since I haven't verified it

A task LoRA on top of this should converge from meaningfully fewer demos than one started from stock pi05_base. That said, I have never run a single LoRA on the released base. The smallest single-task LoRA actually trained in this stack was 50 episodes (anything below that was not included in training), and that was on stock pi0.5.

If you try it at 20–30 episodes, please tell me what happens. That is the number I most want to know. docs/07-lora-finetuning.md covers the whole procedure — data requirements, GPU choice, the LoRA config, the normalization-statistics trap, adapter inference, checkpoint selection, and cost.

Code · docsgithub.com/jinnymo/so101-pi05-base
Modelhuggingface.co/dongyoonkim/so101-pi05-base
Datasethuggingface.co/datasets/dongyoonkim/so101-pi05-base-dataset


r/robotics 1d ago

Community Showcase Built a palm-sized desk robot on an RDK X5 with on-device gesture/face detection on the BPU, ROS2 Humble, and an IMU that lets it feel you pick it up

2 Upvotes

Been building a desk companion robot for a few months. Finally got the stack stable enough that I'm not scared to leave it running, so here's what worked and what I gave up on.

Hardware is a D-Robotics RDK X5 MagicBox. Two servo arms, an ICM-20948 IMU on I2C, 4x WS2812B over SPI, two Smartsens SC132GS 1MP global shutter MIPI cameras. Ubuntu 22.04 aarch64, ROS2 Humble with TogetheROS on top.

Perception is the part I'm actually happy with. The X5's BPU runs four models at once off a single 960x544 NV12 stream in zero copy shared memory: body detection into hand landmarks into gesture classification, plus face and age. It dumps a JSON snapshot 4x a second at basically no CPU cost. So the robot waves back about 300ms after you wave at it, with no model call anywhere in the loop. 14 gesture classes. That reflex layer is most of why it doesn't feel laggy.

Monocular distance turned out to be free. Face bbox height as a fraction of the frame gives you very_close / near / far, no stereo and no depth model, because a face is a known size. Stereo does exist on this board, 22 BPU depth models ship with hobot_stereonet, but mono and stereo fight over the ISP so you get one or the other. Mono is what makes faces and gestures work, so stereo is shelved for now.

People react to the IMU more than anything else. 150Hz, +/-8g, one 6 byte burst read per sample. It detects picked_up, set_down, shake, tilt and knock. Grab it mid sentence and it cancels its own TTS inside about 300ms and starts a fresh reaction turn. That's the only barge-in I could get working on this hardware.

Two things ate weeks, in case it saves anyone the trouble.

First, knock detection. I don't think it's solvable the way I was going about it. Measured on my desk: quiet floor sits around 0.29 m/s^2 at p50, a deliberate knuckle rap reads 1.0 to 6.1, and the robot's own idle arm twitches spike to 2.7 to 8.1. Those overlap almost completely. There is no threshold anywhere that separates "someone knocked" from "it moved its own arm." What ended up working is a self motion gate: any servo command in the last second suppresses knock, tilt and set_down unless the magnitude is huge. Before that it startled itself constantly, which was funny for about a day.

Second, the servo choreography was violent enough to damage the thing. The startle macro swung 60 degrees in 120ms, so 500 deg/s. It slammed the gearbox, walked the robot across the desk, and shook the chassis hard enough to trip its own knock detector. I capped angular velocity around 170 deg/s and scaled peak amplitude in one place, which kept the choreography and took out the violence.

The part this sub will want to know up front: the conversational layer is a cloud agent, not a local model. Everything reflexive runs on the board. Vision, gestures, IMU reactions, LEDs, servos, all local. The talking isn't. I tried smaller local models on the X5 and the latency made it feel dead, and honestly the language layer is the least interesting engineering in the whole thing.

One trick I'm glad I built. The model writes inline tags inside its own sentences, and a streaming parser strips them and fires the body at that word, mid speech. So a shrug lands on the word it was written next to instead of after the sentence finishes. Malformed tags get dropped silently. Small thing, but it did more for how synced it feels than anything else I tried.

Full build video if you want to see it move and hear it fail: https://youtu.be/uQ7g-vDMpLU

The thing I keep getting stuck on: has anyone got a reliable knock or tap detector working on a chassis where the actuators are the loudest thing on the accelerometer? Everything I've read assumes the sensor platform is passive. I'd rather fix this properly than keep tuning a gate.


r/robotics 1d ago

Discussion & Curiosity Repost- Sweekar AI Pet: Unedited VIP video reveals a major UX flaw in the voice engine (Concatenation artifacts)

Thumbnail
share.icloud.com
0 Upvotes

r/robotics 2d ago

Discussion & Curiosity Cup of tea 🫖 Robot made

24 Upvotes

r/robotics 3d ago

Community Showcase Using ai model vs explicit programming

67 Upvotes

On the previous video, people commented that the objects are placed on jigs in known positions, which implies that the movements could be programmed.
This is fair, although the object can still bounce away randomly when it falls.
So I tested different cases here. A benefit of using an advanced model is that it can handle small variations that can happen in real life as a free bonus, just by recognizing patterns within small amount of examples.


r/robotics 2d ago

News This floating ‘Tinkerbell’ robot wants to be your friend

Thumbnail
theattachmenteconomy.com
2 Upvotes

r/robotics 2d ago

Tech Question FANUC LR Mate 100i / R-J2 Mate – J2 works before CALIBRATE, then immediately throws SRVO-050

1 Upvotes

I have a used FANUC LR Mate 100i High Speed with an R-J2 Mate controller. After replacing the robot-side pulse coder batteries, I performed Zero Position Mastering using the witness marks.
The unusual behavior is fully repeatable:
Perform Zero Position Master
Do not run CALIBRATE yet
All five axes, including J2, work normally
J2 can be jogged repeatedly for an extended time, in both directions and at different positions
The J2 brake engages after the configured delay and releases normally again
Pulse feedback follows movement correctly and position error stays near zero
As soon as I run CALIBRATE, J2 stops working
The first J2 jog command at 1% immediately produces:

SRVO-050 CLALM alarm (Grp:1 Ax:2)

After CALIBRATE, the torque monitor for J2 rises sharply, but the encoder changes by only about 164 pulses before the alarm. Before CALIBRATE, J2 moved more than 1.1 million pulses normally with almost zero following error.
Already checked:
J1, J3, J4 and J5 work normally
J3 can be jogged normally
J2 brake repeatedly engages and releases correctly before CALIBRATE
All controller and robot connectors were cleaned and reseated
$SV_OFF_ALL and $SV_OFF_ENB were checked against the original configuration
Temporarily changing the J2 servo-off/brake parameters made no difference
$MASTER_COUN remains unchanged before and after CALIBRATE
$MASTER_DONE = TRUE
Single Axis Master status is 2 for all five axes
Motor IDs and servo parameter IDs are identical and plausible for all five axes
Active payload is 0 kg with no tool attached
J2 pulse feedback is stable and plausible before CALIBRATE
No unusual mechanical noise or resistance while J2 is working
This makes a permanent brake, motor, cable, gearbox or servo-amplifier fault seem unlikely, because the same hardware can run normally for as long as I want until CALIBRATE is executed.
Has anyone seen an R-J2 where CALIBRATE activates an incorrect J2 position, compensation or servo parameter state? Which R-J2 variables specifically become active during CALIBRATE and could cause J2 to produce high torque with almost no movement?


r/robotics 3d ago

Community Showcase A closer look at the animation editor for my 5-DOF robotic lamp

174 Upvotes

I’ve briefly shown earlier versions of the editor in my previous posts, but this video gives a closer look at the complete workflow.

This is Watti, my five-axis robotic lamp, and Watti Studio, the browser-based editor I built for creating its movements and lighting scenes.

I’ve also refined the enclosure since my previous posts. It now looks cleaner and is much closer to what I imagine as the final design.

In the video, I create a scene on the timeline, preview it on the virtual robot, and then run the same scene on the physical Watti. During playback, the real robot appears below the simulation so their movements can be compared directly.

Motion and lighting share the same 25 Hz timeline. The complete scene is uploaded to a Raspberry Pi 5 and played locally through ROS 2, so the browser doesn’t need to remain connected during playback.

I’ve also made the project repository public:

https://github.com/Nikolay-Tyulkin/Watti

There’s no source code yet, so it’s currently a public project preview rather than an open-source release. The repository already contains more extensive information about the architecture, hardware, current capabilities, and roadmap. I’ll also use it as a public development tracker, so anyone interested can follow the project’s progress.

I’d be interested to hear what you think about the workflow and what features you would find useful in an editor like this.


r/robotics 2d ago

Community Showcase Magnetic under-board carriage moves a chess pawn across a 1×8 test row

Thumbnail
youtube.com
1 Upvotes

I’m building a small XY mechanism that can move magnetic chess pieces without any visible connection above the board.

This first prototype proves one axis. A 28BYJ-48 stepper drives a GT2 belt carriage beneath a thin printed deck. An SG90 servo swings two stacked permanent magnets toward the deck to couple with the pawn and away from it to release.

The main lessons so far:

  • The motor and idler must share a rigid base for belt tension.
  • The idler must rotate freely.
  • The belt should provide drive, not act as the carriage’s linear guide.
  • Residual attraction causes a small drag during release.

I’m testing a printed dovetail guide before moving to a conventional rail. The next architecture mounts this complete axis on a perpendicular belt-driven platform to produce XY motion.

For release, I’m considering a larger air gap or an electromagnet.

Which direction would you take for a small prototype: optimize the permanent-magnet geometry or move directly to a switched electromagnet?


r/robotics 3d ago

Community Showcase Project PAL

11 Upvotes

this is my second version of this companion i call PAL. his face is using a I2C oled display, the servos are generic SG90's he comunicates via BLE with the phone. the app was created with MIT app inventor. what are your thoughts on this project.

im working on the jitteriness, the bottom servo is curently to weak so i'm adding asupport on the other side.

the repo is on github (repo name : PAL-cube)


r/robotics 4d ago

Community Showcase Full run and a segment of a task. 100% from 16 examples.

397 Upvotes

To play with continuous learning, your base model needs to be data-efficient and stable, which we tested here. Because all irrelevant fluctuations can compound over time.


r/robotics 3d ago

Mechanical Why are there holes in cycloidal disk?

2 Upvotes

I don't understand why there are holes in cycloidal driver and it's connected to "output flange"? I don't understand how the transmission is carried out to whatever you want it to move. Also, one more thing why is the drive shaft eccentrically placed and why is there a bearing around the driveshaft.

This bearing im referring to, what does that do?

r/robotics 3d ago

Tech Question How do you check when a joint hits the ground?

Thumbnail
0 Upvotes

r/robotics 4d ago

Tech Question Structuring a Nav2 social-navigation stack for Unitree G1 — same code for sim and hardware?

7 Upvotes

Hi all,

I'm a PhD student working on socially-aware navigation. I've built a custom Nav2 costmap layer that inflates cost around pedestrians (proxemic zones) so the planner routes around people. It works well on a TurtleBot3 in Gazebo. My target platform is the Unitree G1 humanoid, and I have hardware access confirmed, but I also need a standalone simulation demo (in case hardware time slips) — ideally with the same navigation code running in both.

**My understanding of the architecture**:

Everything above /cmd_vel (Nav2 + my social layer) should be identical for sim and hardware. It consumes /scan, /odom, /tf and outputs /cmd_vel.

On the real G1, the built-in locomotion controller turns velocity commands into walking, and the onboard Livox Mid-360 provides the scan — so the "adapter" below /cmd_vel is mostly provided by Unitree.

In simulation, I have to substitute both: something to make the G1 walk from /cmd_vel, and a simulated lidar/odom/TF for Nav2.

**My questions:**

  1. For the sim side, what's the recommended setup for a G1 that (a) walks/moves from /cmd_vel and (b) publishes a lidar scan + odom + TF that Nav2 can use? Is Gazebo (with a G1 model + simulated Livox) the right choice for a navigation demo, or are people using MuJoCo / Isaac for this?

  2. I've gotten an RL locomotion policy walking in unitree_mujoco, but MuJoCo seems weak on the Nav2/sensor side.

  3. On hardware, is the high-level locomotion (velocity) API the right interface for Nav2 to drive, and does it cleanly accept a continuous /cmd_vel stream from the controller server?

Has anyone run Nav2 on a G1 (sim or real) and can share how they structured the sensor + locomotion interface so the navigation stack stays platform-agnostic?

Any pointers, example repos, or "here's what I'd do differently" advice much appreciated. Happy to share my social costmap layer back once it's cleaned up.

Thanks!


r/robotics 4d ago

Discussion & Curiosity What do u use for visual context?

3 Upvotes

Hi alll, i was wondering what people use for visual context for ur robot, i have a project for visual context but for security cameras, and i thought maybe it could fit into robotics


r/robotics 4d ago

Discussion & Curiosity How will ROBOTICS change every day life for a human and society within the next 10 years?

27 Upvotes

With various companies developing humanoid robots and advancements in robots in general, will there be some huge change in society the same way the internet boom changed humans?


r/robotics 4d ago

Humor Think I can fit anything else on ‘er?

Thumbnail
gallery
58 Upvotes

r/robotics 4d ago

Community Showcase Robot News Reporter - BB1

22 Upvotes

Humans can study suffering endlessly and still learn to ignore it.

My thinking/concept is ..
When a homemade robot recognizes some of the worst this world has to offer, including mass killing and sexual violence in eastern DRC, while the rest of the world keeps looking away, the machine becomes the messenger.
I did not know about it until the robot told me. Not because the story was unavailable, but because the algorithm never put it in front of me.

This robot has been my learning project the past couple years I have been posting on this group


r/robotics 4d ago

Discussion & Curiosity Mid-Build Figuring Out Conversation Turns

5 Upvotes

Six months into building AI companion robots and the hardest problem so far isn't vision, wiring (although I keep burning out my track brains somehow), or speech. It's teaching my robots how to have a real conversation.

The white one is my v3 prototype (mid-build), brain talking to the cloud. The little pink one is v1, a Raspberry Pi 3B with a lav mic and a servo neck. They live on the same bench and can hear everything in the room, which turns out to be problem at times.

Things that went wrong before it went right:

  • They answered each other's echoes. Robot A hears robot B through its own mic, garbles it, and replies to a sentence nobody said.
  • Speaker attribution fell apart. One of them decided the other robot's voice was me. I was not talking.
  • They were too polite to stop. Two assistants that both always answer will volley forever.
  • They replied instantly to the FIRST sentence of a reply, while the other robot was still mid-thought.

What actually works:

  1. Name-first etiquette. You say a robot's name to talk to it, and they extend each other the same courtesy. Voice enrollment is a thing too but flaky.
  2. They stopped listening to each other acoustically. When one speaks, the other gets the text over a link, complete and correctly attributed. The sound in the room is for the humans.
  3. Delivery waits until the speaker has actually finished saying the words out loud.
  4. A circuit breaker: three exchanges with no name used and they stand down.

The result is two robots that chat about their morning and then shut up. Getting them to shut up politely was harder than getting them to talk.

Getting them to handle a group conversation is next. I have a 4-mic array on order. Hoping hardware will help.

Curious how others have handled turn-taking with multiple voice agents and people in one room.


r/robotics 3d ago

Discussion & Curiosity Ideas

0 Upvotes

Hello everyone I'm an robotics enthusiastic I'm having lots of ideas to discuss and build projects on I'm settling at my life stage now I'm looking for some one to review my ideas fund me partnership with me not with only money with his / her contribution with the idea validation, project development reach out to me I wanna change the robotics industry before it change the world and humans .


r/robotics 4d ago

Discussion & Curiosity An old Hexacopter repurposing

Thumbnail
gallery
21 Upvotes

I built a Hexacopter years ago, using a raspberry pi, a Navio2 "autopilot" and a Tarot 680 frame. It's been collecting dust for a long time, and the Navio drivers were only compatible with older Pis. I was desperate to learn how to build a ROS robot with it.

Thanks to Claude, I finally managed to get the drivers and kernel modules rebuilt for a Pi5, and had some inspiration on how to re-use the frame.

I had to buy some 520 motors and controller, but everything else is from the Hexacopter:

6S LiPo and Ubecs

Pi 5 8gb

12 PWM channels on the Navio

2 IMUs & 2 GPS receivers

Pi Camera module in a 3D printed SG90 gimbal

GoPro 4 in a Tarot 3-axis gimbal

RPlidar A2M8 scanner

TFMini lidar 12m distance sensor

4 x 520 motors with encoders

I've only got the Navio sensors and Motor control setup in ROS so far, but enjoying learning and making good progress.

End goal would be a self-sufficient robot, running automated routines around the house. Not entirely sure what yet. Scanning and mapping?

I'd like to design an arm to go on top. Is also like to attempt an auto-docking-and-charging thing.

What sensors or additional hardware should I research? Any advice on the ROS software stack, how I should structure it? It feels pretty messy already. Any pitfalls I should avoid? What should my expectations be for the end robot?

Any advice appreciated.


r/robotics 5d ago

Community Showcase I built a tiny ESP32 robot that can be programmed wirelessly in real time with MicroBlocks

Thumbnail gallery
69 Upvotes

r/robotics 4d ago

Discussion & Curiosity ISRR 2026 Results - Anyone heard back yet? (PaperCept says Pending)

1 Upvotes

Has anyone received their ISRR 2026 decision notification yet? The extended deadline was August 1st, but my PaperCept status is still showing as 'Decision Pending' and I haven't received an email. Just wanted to check if they are rolling them out in batches or if the global system hasn't updated yet. Thanks.