![Josh Pieper](/img/default-banner.jpg)
- Видео 164
- Просмотров 595 953
Josh Pieper
Добавлен 10 май 2010
hoverbot - hoverboard motor balancing robot
Hardware and software design: github.com/mjbots/hoverbot
Project page: hackaday.io/project/196345-hoverbot
Read more: jpieper.com/2024/06/06/hoverbot/
Get moteus-c1: mjbots.com/products/moteus-c1
00:00 Intro
01:11 Hardware Design
02:45 Hardware Build
05:28 Software
06:05 Controls
10:50 Outro
11:48 Bloopers
Project page: hackaday.io/project/196345-hoverbot
Read more: jpieper.com/2024/06/06/hoverbot/
Get moteus-c1: mjbots.com/products/moteus-c1
00:00 Intro
01:11 Hardware Design
02:45 Hardware Build
05:28 Software
06:05 Controls
10:50 Outro
11:48 Bloopers
Просмотров: 7 916
Видео
moteus-c1 from mjbots
Просмотров 7 тыс.4 месяца назад
Buy moteus-c1: mjbots.com/products/moteus-c1 Read more: jpieper.com/2024/04/30/moteus-c1/
Arduino with moteus for brushless motor control
Просмотров 5 тыс.7 месяцев назад
Get moteus: mjbots.com moteus intro video: ruclips.net/video/6prAv9hbmeM/видео.html Read more: jpieper.com/2024/02/09/moteus-arduino/ 7C8KDRWAOCCRGWKJ #bldc #arduino #mjbots
moteus velocity mode improvements
Просмотров 1,5 тыс.7 месяцев назад
This shows a relatively straightforward new feature in the moteus brushless motor controller that improves transient response when external torques are applied that are larger than what the motor can produce. Read more: jpieper.com/2024/01/22/max_velocity_slip-with-moteus/ Get moteus: mjbots.com #bldc #mjbots #moteus
2 DoF gravity compensation - moteus w / C++
Просмотров 5 тыс.11 месяцев назад
Source code: github.com/mjbots/gravity-comp Get moteus: mjbots.com Video 1: ruclips.net/video/VTyuRj0TDcM/видео.html 00:00 - Intro 00:30 - Hardware 01:37 - moteus configuration 04:04 - Inverse dynamics 05:20 - Software 34:46 - Experiment iteration 38:24 - Final testing
1DoF gravity compensation - moteus w/ C++
Просмотров 68 тыс.11 месяцев назад
Source code: github.com/mjbots/gravity-comp Get moteus: mjbots.com Video 2: ruclips.net/video/jCM1n39dDWk/видео.html 00:00 - Intro 02:05 - Other examples 02:41 - Hardware 04:44 - Software 21:37 - moteus configuration 23:10 - Iteration on hardware 27:37 - Final testing
moteus developer kit getting started guide (2023 edition)
Просмотров 6 тыс.Год назад
Join the mjbots discord: discord.gg/W4hUpBb Buy a devkit: * mjbots.com/products/moteus-r4-11-developer-kit * mjbots.com/products/moteus-n1-developer-kit #mjbots #moteus #bldc OQHGKTDGQ1F6OVLK
DIY Five Side PCB Test Fixture
Просмотров 5 тыс.Год назад
This is the test fixture I built for end-of-line testing of the moteus-n1. It can probe 5 sides of the board and is actuated with a single manual lever. Read more: jpieper.com/2023/07/15/5-side-pcb-test-fixture/ mjbots things used: * pi3hat: mjbots.com/products/mjbots-pi3hat-r4-5 * power_dist: mjbots.com/products/mjbots-power-dist-r4-5b * moteus-n1: mjbots.com/products/moteus-n1 TBT7J3XEMOQR5GLY
9.5 encoder strategies for open source bldc control
Просмотров 11 тыс.2 года назад
The open-source moteus brushless motor controller has a new flexible I/O subsystem that lets you use it with many more types of encoders, motors, and external peripherals. Buy moteus: mjbots.com/products/moteus-r4-11 Join the mjbots Discord: discord.gg/W4hUpBb See the source: github.com/mjbots/moteus This video in article form can be found here: jpieper.com/2022/06/30/flexible-i-o-worked-exampl...
Experimenting with hoverboard hall effect commutation
Просмотров 3,2 тыс.2 года назад
Trying out other uses for the external encoder connector on moteus! #moteus #shorts #robots
Velocity and acceleration limited trajectories with moteus
Просмотров 2,7 тыс.2 года назад
Velocity and acceleration limited trajectories with moteus
Integrating a touch probe with the Pocket NC
Просмотров 3,6 тыс.2 года назад
Integrating a touch probe with the Pocket NC
mjbots quad A1 leg experimentation - part 3
Просмотров 2,2 тыс.2 года назад
mjbots quad A1 leg experimentation - part 3
quad A1 leg experimentation - part 2
Просмотров 2,3 тыс.3 года назад
quad A1 leg experimentation - part 2
Experimenting with a new quad A1 leg design
Просмотров 2,7 тыс.3 года назад
Experimenting with a new quad A1 leg design
Updating my PNC v2-50 to modern spindle power
Просмотров 1,2 тыс.3 года назад
Updating my PNC v2-50 to modern spindle power
OUT OF DATE - SEE DESCRIPTION (moteus with two encoders!)
Просмотров 3,2 тыс.3 года назад
OUT OF DATE - SEE DESCRIPTION (moteus with two encoders!)
Automatic torque bandwidth selection with moteus
Просмотров 3,5 тыс.3 года назад
Automatic torque bandwidth selection with moteus
moteus position "anti-windup" (pure velocity control mode)
Просмотров 3,2 тыс.3 года назад
moteus position "anti-windup" (pure velocity control mode)
bstrip - open source high speed wire cutter and stripper
Просмотров 19 тыс.3 года назад
bstrip - open source high speed wire cutter and stripper
Window machining with the Pocket NC v2-50 5 axis CNC
Просмотров 4,7 тыс.3 года назад
Window machining with the Pocket NC v2-50 5 axis CNC
New speed record, 2.5 m/s (watch to the end)
Просмотров 2,2 тыс.3 года назад
New speed record, 2.5 m/s (watch to the end)
BLDC robot dog walking on outdoor surfaces
Просмотров 1,8 тыс.3 года назад
BLDC robot dog walking on outdoor surfaces
How do I control multiple motors with one arduino
First change the `id.id` configuration for each servo using tview. Following the procedure here: github.com/mjbots/moteus/blob/main/docs/reference.md#idid you first change it, then immediately restart tview with the new id in order to issue the `conf write`. Note, this must be done with a CAN-FD interface that is compatible with tview, just like for calibration. Then, in your Arduino script, just assign unique IDs to each of the devices like in the BasicControl example: github.com/mjbots/moteus-arduino/blob/121db53dd9ff38d493652082b6ad0dd8edc963aa/examples/BasicControl/BasicControl.ino#L33
shorts that could have been a picture
ah the good old Cyanoacrylate Gel but if you dont have that at hand just use super glue :D
Pretty cool
can I use it in electric skateboard?
While you could for a low power skateboard, something like a VESC would be a more appropriate option.
Hello Josh, I am looking for the datasheet of the mj5208 motor but couldn't find it anywhere. I want to know its rated torque/rpm/current, etc.
All the information that is public is on the product page: mjbots.com/products/mj5208
Are u seling them or…? What are we looking at here ?
Nope, I am not selling them. You can get the non off the shelf parts at mjbots.com, including the 12x qdd100 servos needed.
how much does it cost
A lot? You can get most of the not off the shelf parts now at mjbots.com
Great tutorial, straightforward, to the point, and accurate. One question, I get this terrible whirring noise when I run the GUI, is this normal?
When you command motion or run the GUI? "terrible" audible noise is likely a result of inappropriate PID tuning. devkits should come decently well tuned out of the box. Are you using a devkit or some other motor?
@@awesjosh devkit! maybe 'terrible' is pretty subjective, I ended up recording it ruclips.net/video/HQof8PDN030/видео.html, does this seem normal? maybe a bit hard to tell. Anyhow, I am using the stop function so I can work without being irritated, but I hope I'm not running this thing at too high of voltage and increasing the chances of a problem.
That seems like a normal volume level for the tuning that comes with devkits by default. What voltage are you operating at? There are several knobs you can use to decrease audible noise. 1. lower the `servo.pid_position.kd` gain 2. calibrate with a lower bandwidth 3. set a non-zero `servo.velocity_threshold` While I'm happy to support here, YT comments are relatively high latency. If you would like quicker turn around, hop into the mjbots Discord: discord.gg/W4hUpBb
@@awesjosh ok glad to hear it sounds about right. I haven't touched the default voltage or calibration values. I'm considering this issue closed, thanks for your help!
What kind of tolerances can you achieve with this machine/spindle?
I largely only work in 6061. There, 0.005" is pretty easy. Tighter is possible, but requires patience and sometimes creativity. I've done plenty of features that are toleranced to 0.001", but you can't do that with every possible feature.
@@awesjosh Awesome, thank you for the reply!
This is great, do you also have a list of motor recommendations for your controllers, like for example for a linear system. I will make a purchasing decision for my department in the company but I realise its so hard to find a supplier that recommends example applications and motors
moteus only supports rotating PMSM motors. It supports a wide range of them that have compatible current limits and voltage limits, so there is not a recommended motor list. If you would like some help seeing if something would work, you can email info@mjbots.com, or join the mjbots Discord and ask in the #moteus channel: discord.gg/W4hUpBb
Do I have to have a CAN controller like MCP2517FD to control the moteus in teensy 4.1? Can't we just do this since teensy 4.1 supports CANFD?
You may be able to use the CAN-FD controller built in to the teensy, but it still requires an external transceiver as the system in the teensy only operates at logic levels. Also, the moteus Arduino library will only work currently with the MCP2517FD and you would have to modify it to work with the teensy's built in controller.
@@awesjosh It was very helpful!! Thank you.
amazing, thanks josh,where can I find the stewart platform?
It doesn't work well enough yet for me to have published anything!
what actuators are you using in this project?
The business end of this: mjbots.com/products/moteus-r4-11-developer-kit
I like the arbor press been used while the entire 3D printed part flex :P This is truly some impressive work! I would rather do a PCB re-spin with added test point and not mess with this mechanism with side actuation. yeah I don't know why can't you use "cup" pogo pin for the XT30 and use the 3 small pads for the CAN next to J2?!?
One observed failure mode is the CAN PH3 connector having one or more pins not soldered. You could imagine switching to a vertical PH3 connector, however part of the advantage of this specific board is the low profile when assembled.
@@awesjosh good point! that is a failure you hope the fab house would detect for you 😅 but that seems like a other fun project to create a visual inspection with the pi and chatgpt vision API!?!
Yeah, the AOI can only do so much! (And a homebrew one is unlikely to be better than the commercial offering the fab house uses)
Hey, I currently only know about arduino and am able to do control motors, relays, pair with bluetooth, work with sensors, motor drivers, servos and all that stuff. I've made a few helpful projects using it like 'smart' wheelchair and agriculture robot. But that's about it. All of them I've coded myself. I came across videos of James Bruton, your channel and many more. I was wondering, how can I get on that level where I can make my own 3d models on some 3d software, all that kinematics stuff. How do I develop the mechanics for it? Code for the balancing of Bipedal or Quadrupled robots. How do I use Computer Vision to control robots? I searched youtube for it but must of the videos are too small to explain the code and the structure. By that I mean, the logic and the thought process behind it. There is just the 3d files and the code. That wouldn't be innovating from a learner's perspective I think. There must be online courses I enroll do to achieve this. What are those? I couldn't understand which kind of course would be suitable for me. Please guide me.
I don't have much to offer you on that front. For robotics, I was largely self taught, and just kept grabbing projects that were a little bit harder than what I had done before.
Being self taught, i think you accomplished quite a feat. I'm currently in high school so I'll probably learn via youtube as well.
Thank you.
Hey this looks good. Kinda looking for similar options. Can you say on what principle this sensor is working?
The sensor in this video is the iC-PZ from IC-Haus. www.ichaus.de/product/ic-pz-series/
i believe that's very costly, how much you spend money to purchase those material?
Quite a lot! You can build it for a fair amount less now, buying the components from mjbots.com, although it is still not a cheap project.
Donde se compran esos motores?
mjbots.com
Is there a contact details please ?
info@mjbots.com
@@awesjoshthanks for the response. Let’s discuss on the email thread. Best Shomu
An excellent design/build. Appreciate you taking time to explain your thought process and detail the build. Looking forward to seeing how it evolves as you learn and experiment. That hoverbot has a fun factor, I'd expect you probably already have ideas as to future mods.
Can you show me how to measure the current pulse from the oscillocope? Where do I need to wear extra straps?
I'm not sure exactly what you are referring to. What current pulse are you trying to measure and why would you be wearing straps to do it?
@@awesjosh I need to measure the current pulse on the oscillocope, what should I do? Can you guide me?
Is this something to do with moteus, or just how to measure current with an oscilloscope generally?
@@awesjosh yesssss. Can you help me?
Unfortunately, I'm not really set up to give that kind of tutorial. If you google for "how to measure current with an oscilloscope", you can find many resources, including this article from tektronix: www.tek.com/en/blog/how-can-an-oscilloscope-measure-current
I believe if you change the walking pattern to trottle it could achieve greater speeds! However i can't stress enough how impressive is this work. Lovin it!
I want to export the motor current graph, what should I do?
Are you using an Arduino? If so, just print the current value to the serial console!
Looks its moving even better than SPOT!
I have to disagree with putting solder in the cup before putting the wire in. This makes it so that if the solder in the cup ever hardens, it makes it nearly impossible to put the wire fully in the cup after that.
Hi man! I love what you build! I am waiting for more videos (maybe like the type of DevLogs, similar to the robot dog video.)
Looks like fun! What's the power distribution (?) board beside the pi?
Thanks! You called it, it really just does pre-charging and over-current faulting: mjbots.com/products/mjbots-power-dist-r4-5b
@@awesjosh I end up building something like that into almost every board I make, so it makes a lot of sense to have that as a stand-alone unit 🙂 Those who haven't struggled with power management might wonder why they'd need to spend money on a glorified power switch; I think it's up to us who have stubbed our toes to explain why ...
put a claymore on it o_o
Hi! Thank you for sharing this video! Do you use any observers or filters to obtain wheel velocities?
moteus uses a pll filter on the hall effect sensors for commutation purposes, and that is the reported velocity that was used for the outer velocity control loop. The bandwidth of that filter was somewhere between 50-100Hz, so it doesn't do much at low speed with the coarse resolution of the hall encoders.
Thank you! I do similar project and for now use the similar control approach but with some differences ruclips.net/video/LMvEsF9Y2AY/видео.htmlsi=PAa4gED8A2Uu-Ezu In the future I'm going to ustilize mpc for increasing the stability and the robot's speed
Cool! Thanks for sharing! As you can see from my video, you don't need to go to MPC to get significantly improved results. Probably the easiest ways to improve your system would be to see if the structure of your control laws can be improved (or perhaps copy the ones here), and the second would be to ensure your attitude and attitude rate solution are operating well and with a sufficiently high bandwidth. It could also be that your tuning is just sub-optimal. Are you using integrative terms anywhere (you probably shouldn't)?
Thank you for recommendations! Yes, I use integrative terms both in attitude loop and in velocity control loop. I have some suspicious about imu. It outputs data only with 100hz. Probably if I replace IMU to better one, the whole system will be more stable.
I'm not sure an integrative term for attitude is useful, certainly this robot does not use one. A feedforward term is probably a lot more valuable there if a plain PD is insufficient. While a 100Hz IMU update rate is borderline feasible, there are lots of things that could potentially make it problematic. That could be if you are just using pitch and not pitch rate, or if the IMU has a software configured low-pass filter, or if it is poorly mounted, or a host of other things. This robot uses a 400Hz update IMU for instance with a 200Hz onboard filter, uses the pitch rate in addition to the pitch, and is known to work well at up to that rate.
Excellent! Nice work Bro!!
Thanks!
Thanks for another interesting project! Question: can the pi3hat be used with a raspberry pi 5? Wouldn't think there would be a problem - but would like to check.
Unfortunately no, it can't be used with a raspberry pi 5. It only works with a pi3 or pi4.
Opps checked the manual and it clearly states it isn't.
C'est juste splendide ❤
💙🤍❤ 🗼
Good to hear you're still doing awesome stuff. Keep it going, make more updates!
I'm working to keep them coming!
Thanks for including the design, checking it out now, looks solid
Super cool! Appreciate all of the details being included about the development process.
Nice to hear from you Karl! This was one of those projects where making the video and explaining it was 4x the work of actually building the thing, so it is great to see it appreciated!
Great video thank you for sharing
in the example at the end 1.5 was a fault because the range was set to -1 to 1. however after you power down completely, will it still remember that it was at fault? while its on its recording how much the position has changed and knows the position went beyon the bounds. but will it still be at fault after cycling the power?
Faults are cleared by sending a stop command, in tview that would be: d stop Power cycling will also work, but with the devkit you will need to remove power from the PSU for some time before it discharges completely. Also, don't hesitate to join and ask questions in the mjbots Discord, it is a lot easier to get support there than in youtube comments! discord.gg/W4hUpBb
Awesome feature! That will be very useful for us :).
Can you built one for me
Sadly no. You can get cheap options with more capabilities from Unitree now for instance.
Balancing robot is amazing! What algorithm for balance control do you use? Do you have other videos or information about this robot?
Thanks! Not much other info or video yet, but @mjbotsrs on x/twitter does have a video with a few new cuts. The control is just an inner pitch PID loop using the pi3hat ARS, and then an outer PID loop that controls velocity through selecting pitch.
Thank you!
Very cool! Impressive specs. I love that we all use XT30 connectors! The only thing it misses is an Ethernet connection. Absolutely phenomenal that it's all open source!
Yeah, standard ethernet connectors are very large for many of the applications moteus is used in, besides that since the micro mjbots has standardized on doesn't have an ethernet controller it would require either an external controller or a switch to a different micro. ethersweep is looking cool, keep up the good work! If you ever need performance beyond what steppers can provide, moteus is there for you!
Do you offer brushless out runner drivers for smaller diameter pancake motors? Like a 1803 motor? Would love to drive small robot parts (like in animatronics) in place of noisy traditional servos.
The smallest driver mjbots offers currently is this moteus-c1, which is 38mm x 38mm.
In the balancing robot, are you using C++ or Python?
C++, although it would likely be just as possible with python.
@@awesjosh Will wait the code for building
I almost bought a bunch of them for my company, but It has no Rust bindings. 😑
Heh, I guess that will severely limit your choices!
@@awesjosh Absolutely. We are memory safety first. Security is our highest priority. We just ended up designing our own Rust based ESC!
Yep, it is the way of things! In any event, bindings are not really a big effort and I would expect writing the rust code to generate and parse frames for the things you are using would not be a significant fraction of your integration effort.
ahhhh yessssssss
wonderful, excellent Josh
I want to build a steer by wire steering rack for a go kart and am considering this. Can it monitor and send output torque back to the Arduino?
Yep, you can.