CAN BUS Control Score 6674
Challenge. Go big or go home.
I'm looking into the CAN actuators used on the Cheetah mini. They are not poorly priced ($300) and offer 150 pound/inch of torque @ 24v. They are brush less, geared and have their own built in drivers, smooth motion and quiet operation. I have an up coming project and would like to control these with EZ Builder. There are arduino shields that support CAN and there is even a pre-written sketch to send data to a CAN actuator. The actuator protocol is somewhat like Dynamixels, in that you can change ID, monitor temperature, control speed, direction and position.
What say you? I'd like to see support added for more industrial actuators like this one, and Servos like ClearPath . Inspiration came from this guy (who cracks me up) and managed to pull this off very quickly using a few of the tools below. Hardware starts at 5:40.
Shield: https://learn.sparkfun.com/tutorials/can-bus-shield-hookup-guide/all Sketch: https://github.com/Seeed-Studio/CAN_BUS_Shield Actuator: Actuator
That'd be easy for anyone who takes this on... Here's how:
Done. That gives you 24 servos and default ARC 180 degree resolution
---- And your other option, if you want more servos and higher resolution:
Done. That gives you 99 servos and what ever resolution you want
I figured it would be easier, than say from scratch, since the arduino code was there. Both great options to try. Although the second one seems more intriguing, more actuators and control at 16 bit.
Anyone willing to take a crack at this? Thanks in advance. I've ordered items to test with.
To piggy back off this and to stay on topic, head over to this Kickstarter. This company decided to build a robot arm AND designed their own actuator as there is world shortage of harmonic drives. Better yet they are selling these actuators for on $99 each! They have so much going on gravity, object collision etc...run over and see the video..oh did i mention the complete robot arm is only $579? That right! and the 6 axis is a little more. This is using the same controller as shown in the above video and CANBUS.
https://www.kickstarter.com/projects/1383636492/the-smallest-servomotor-robotic-arm
It'll be easy to make a control and communicate with the protocols for this stuff. The only thing missing here is the protocol
The fellow youtuber from Skynetific, created a great video and wrote the python script to run these on the RPi.
Very simple protocol for these very similar queries to the Dynamixel. But actuators won’t be released until June next year.
https://github.com/SkyentificGit/InnfosGluon/blob/master/innfos.py
I love Skyentific!!!
Good findings...cannot wait to see your implementation!! When will we get the reveal in whats going on behind the scenes?
These canbus motors will be for a project next year, and if implementation happens by someone who writes a control for it...
The project I’m working on now will be showcased on my YouTube channel, set to launch in January. I usually create a robot project here, but I don’t want to spoil the surprise! This robot will cover probably 8 -10 episodes, releasing one 10-15 min video a week.
A control merely needs to bind to the OnServoMovement event of the EZB.Servo library and send respective commands to the canbus controller. It'll be easy. We just need to know what we're sending to the canbus controller to move the servos. That means we need a protocol document. Something that says "send this and a servo will move". If we know that, it's pretty much a copy and paste of the dynamixel skill control from here: https://github.com/synthiam/Behavior_Control_Dynamixel
In the example of the cheetah mini motors listed above ($300) he used this Ardurino library to control:
https://github.com/Seeed-Studio/CAN_BUS_Shield
The Gluon robotic arm motors are controlled using a small library Skyntific wrote using 11 simple commands seen here: (these motors not available til June 2020)
...from this video :
Nice find Will. I looked over his Kiskstarter page and was real impressed. That video with Naomi Wu is sure impressive. She really knows how to program and work that arm. Very smooth with hardly any bounce.
Yeah Naomi is a hoot. And really talented
Hey guys, just in case you are still thinking about implementation of those Cheetah Mini actuators, I found pretty good info on how to use them!
https://docs.google.com/document/d/1QIEI6IdHOcW4N1cRyucb33io4LriNYafIMs1sjLfTQU/edit
SCA QDD Lite-N30 actuators ($89/$99) is also supersweet...plus they offer kind of an all in one package, which is super easy to use!!
Thanks for the link! These CANBUS actuators are the future for robotics. The compliance portion of the motor will keep robots from hurting humans.
Yup...pretty good products, been thinking about a bigger humanoid arm lately, its becoming more easy and affordable these days!!
You guys have to agree on a specific model and product to use before investing time into creating a skill control for it. Remember, every single one of them use a different protocol - it's like dynamixel times 100. There's all different and use a different language - so once you decide on one, then you can support it. Otherwise, it is impossible to support all of them because there is no standard.
I've repeated that message a few times earlier in this thread. Get the product you want. Make sure it's the right one. Then support can be added for THAT one. It won't work for any other one. Every one you want till require a completely new reinvention of the skill control.
Yes, affordability is important but so is availability... No point creating a control for actuators that are difficult to find and/or buy.... I also would definitely be interested in these type of actuators....
That's your mission, if you choose to accept it - determine what actuators you wish to use so they can be supported.
I am completely with you guys.
Lets research...sit down, do our homework and also whoever thinks that a product is good enough to be worth the investment, will need to buy it anyways for further testing! I mean, for an arm that kinda works, you'd need at least four of them!
I just wanted to share what I found, I did not mean to imply that @DJSures will have to make a thousand skill controls for all those different actuators!!
The company I originally linked to in this thread with the robot arm must have broken TOS with Kickstarter as they have been taken down. They are in Beijing.
I believe the video I just posted is using those actuators. But how to know if they will be publicly available?! I also like the size.
Aliexpress has a robot parts section. Maybe we start there. I plan on covering this topic on a future episode on YouTube. If for anything the importance of compliance in larger robots.
But price vs strength is the ticket.
https://www.aliexpress.com/item/32985671853.html?spm=2114.12010612.8148356.4.3f551b49CcMhSK
They are US $359.00 at Aliexpress ...
edit I thought these were the ones that you meant when you talked about the original post...ups!!
Hey is also reviewing these ones...they come in two flavors!
US $448.00 https://www.aliexpress.com/item/10000018030781.html
US $379.00 https://www.aliexpress.com/item/10000004036730.html
INNFOS is no longer available on Kickstarter, but I guess they will be selling the product elsewhere soon?
https://innfos.com/
I’m curious about the Kickstarter. Maybe an investor stepped in to fund them completely.
I did see those other actuators reviewed on skytenifics channel. They are very pricey and physically bigger than Innfos, but I bet considerably stronger.
Given that innfos website is all rendered images (not real photos) and using stock photo clip art of a robot AND their banner ad is promoting stuff from last year AND the news page is broken AND AND AND AND.... I'd have to say they're no longer in business guys - move on to a real product.
Half their website doesn't work. Geez, i hope you guys do better due-diligence before purchasing stuff online than this You're gonna go broke buying vaporware!
Ummmm please watch the video I posted on #14. That is not computer generated.
Right - there's a few things but I'm guessing prototype. The company went kickstarter to try and recover from a financial crisis, I imagine. Companies that receive investment and thrive make money from sales - and sales requires a website.... something they don't quite have. Due to the price and promise, we wish they existed but my gut says no more
Also - china is a weird place for business because one business can have 10+ operating names. So that business could be a sub of another business which is sub of another that's no longer operational. Or, it was assembled as a concept to gain traction... the traction never happened so poof it's gone and the owners are onto something new.
Either way - a business that doesn't sell anything or makes it difficult to buy anything or use their product... isn't really a business
Totally agree. I'm sure their business plan (if they have one) has changed 100 times. How many times do we say if its too good to be true, it probably is. The price point on those motors was really low. My guess is someone like softbank is backing them into making robots instead of robots actuators for the general masses. Either way...we can X them off the list!
The actuators are real...but only time will tell, if this is just vaporware or a real product!!
One way to find out - maybe they can be saved if there's customers. Send them a message on their website and see if there's a response. They do have quite a bit of info in their wiki so hopefully the products exist and are available for purchase
Well probably not... Someone "raided" the office, maybe it was a bullied robot?
WOW! Thats a bunch of pissed off investors
Just in case someone might find this helpful... There is a link for a tool to calculate servo motor requirements, as for bigger projects it might be good to just kind of eyeball the right components before investing in the actual hardware!
I don't think these controls are needed anymore (CANBUS).
There are many companies coming out with different motors that run on 3 phase like the hoverboard motors. An example is the 9225-90KV Multistar brushless outrunner by Turnigy. James Bruton is using these for another one of his robot dogs. And they are 1/2 the cost (or cheaper) than the Canbus motors and very very powerful, when running at full capacity (48 v). They are also much lighter than hoverboard motors. They have no gearing they are therefore back drivable and compliant. The motors can be used with the same Flipsky FSESC 4.12 50A Based on VESC (Motor control interface: PPM signal (RC servo), analog, UART, I2C, USB or CANbus. ) controllers that I use in my hoverboard hack video.
Mind you these axis would be for large robots. So you bet I have a project with these in mind!
Definitely will see these in an upcoming video.
Mind you you would still have to add an encoder so the motor would not rotate non stop.
Hey, lets keep this thread alive for different ideas on heavy actuators...
I am also currently looking into cheap ways to get a bigger robot arm working!
I was leaning towards a 3d printed cycloidal gearbox, since the reduction ratio vs gearbox size is tempting and it is easy to print, while a harmonic drive is kind of impossible to 3d print!
I was thinking to start with standard Nema 17 stepper motors first and then switch to brushless motors and encoders?
But all of this is new to me, and just a fun thing to try...so lets pool ideas?
I'm really interested in seeing how James will incorporate the hall effects sensor on these motors for tuning position. The motors are designed for drones, so they are meant to be spun up at high speeds, not positional. Looking for torque and holding power on these when connected to the ODrive.
Yeah looking forward to discovering all the emerging new motors.
I will try to find out, how he is getting it done...but yes, those drone motors are nice, because they are pancake style and offer a lot of torque while consuming little space, and it is very easy to put a strong reducer on top!!
But getting those encoders and ODrive, or another system working will be a fun thing to play with!!
Also the Wattage, plus counting the power consumption at startup is essential!
The more I get into this, the more I realize how complicated it is... Which is a good thing!!
Hey, I just ordered an ODrive and some Tarot 4008 motors...
It will take a while for all the stuff to arrive, but it should be a lot of fun to play with!
The ODrive can handle two DC Motors, plus Encoders and Gear Boxes are needed, which adds up to the cost of those relatively cheap motors...
I got the encoders directly from Odrive, and I guess there could be cheaper options available...
Also hopefully I will be able to 3d print my gearbox to save some total cost!
At the moment the cost is about 100$ per joint, which would be 600$ for a 6DOF robotic arm...
This is all WIP and testing stuff, I might open a seperate thread on this, once all the items are shipped!!
Anyone also interested in building a silghtly bigger robot arm?
Could be really cool in tandem with ARCs Exosphere!!
This thread is almost 4 years old and now the robot world is exploding. So to return back to this thread is super important as nearly all the bipedal and dog robots are using some type of FOC motors for their axis. I've been keeping my eye on the development of controllers and the ODrive is continually making improvements to their controllers, encoders, and software for position control in closed loop, including anti-cogging which is a must for position control.
They have two newer products they've introduced including the S1s controller, which is a single motor driver. The software is browser based now and fairly easy to use/set up. Its all opensource as well. https://odriverobotics.com/shop/odrive-s1
The other controller is a micro version of the S1s so you can use it with any brushless motor to turn it into a servo. https://www.crowdsupply.com/odrive-robotics/odrive-micro
If we need to choose a protocol I think its safe to say that ODrive is here to stay and will likely to continue to grow. What say you @DJ? I think it would be a professional addition to ARC and eventually ArcX?!
from website..
Thank you for your feature request and for being an active member of our community. We appreciate your feedback and interest in CAN-BUS control and integrating new technologies into Synthiam ARC.
Regarding your inquiry about the O-Drive servo controller, it appears that the library needed to use this controller is not currently available. This limitation makes it impossible to implement a robot skill for O-Drive at this time.
As you may know, with the upcoming release of ARCx, we will no longer be adding new robot skills to the regular ARC. Since ARCx is still under development, we are unable to add new skills to it just yet. However, ARCx is being designed to support more complex APIs and SDKs thanks to its advanced technology and multi-platform support. This will enable more sophisticated integrations, including those for Linux-based technologies.
To move forward with getting robot skills created for ARCx, we recommend reaching out to the manufacturer of the desired technology or product. They can collaborate with Synthiam to develop the necessary integrations. We need to ensure compliance with the manufacturers' terms of use and legalities since Synthiam acts as a re-distributor of their APIs or SDKs within our robot skills.
In the meantime, planning for potential migrations and learning new technologies will be beneficial as we approach the ARCx release. Both ARC and ARCx are designed to be professional-grade platforms where any technology can be added as a robot skill. It's worth noting that while many advanced robot skills are not publicly available due to being owned by organizations, there are still opportunities for individual users to create their own skills using available SDKs or APIs.
Moreover, even if a technology’s robot skill is closed off from public use, you can still leverage open-source or closed-source SDKs or APIs to create your own integrations. Many of these technologies might require microcontrollers like Arduino or programming environments like Python. While Python is widely used by students for learning, it is also a powerful tool for custom integrations.
Synthiam also offers services to create custom robot skills for customers, which can be an excellent option if you prefer not to develop these skills on your own.
We hope this information helps and provides clarity on how to proceed with your robotics projects. We encourage you to wait until ARCx is released and out of beta, then let us know which technologies you’d like to see integrated as robot skills in ARCx.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
@DJ that is for the Micro only and does not apply to the S1s and other dual drivers boards they sell. They have been open source for 10 years. Please click the first link for the S1s.
I have two types of FOC controllers that are both open source.
1 from SimpleFOC that just uses an Arduino and you can use PWM but is really designed for low powered BLDC motors. My plan was to use these for micro expressions on a silicon face for inmove to control mouth (smile frown) eyebrows, eyes etc as they can be small and quiet. The problem is you can only control a couple per Arduino so you need to link them up together. I was thinking CAN-BUS for this. I was discussing in Discord channel for them but I need a CAN-BUS driver in ARC support for that. I haven't tested with ARC yet but theoretically it should work with ARC PWM servo controller or you could add to ARC Arduino controller. https://simplefoc.com/
The other boards I have are from MJBots in my Robot Dog, This drives the heavy duty BLDC motors and has various open source libraries including a python but I use ARC web sockets to talk to the web based interface for there robot controller. I think there was a thread where DJ and PTP were helping me get that to work. https://mjbots.com/
Oh yeah, I remember that @nink. It was interesting it used a WebSocket! So much overhead
As for the S1, it looks straightforward. It shouldn't be hard for someone to whip up an EZB firmware for it, although we prefer it when the company works with us; otherwise, it's difficult for our team to maintain it. Or a specific robot skill servo driver similar to how dynamixel, feetech, or others work. The example code pretty much sums up how to control it: https://docs.odriverobotics.com/v/latest/guides/arduino-can-guide.html
Although I think an ezb that has protocol extensions would be ideal.
@nink I have both Simple FOC and MJbots controllers. I used a Simple FOC controller for my hoverboard hack video but was unaware they offered a controller that supports position control!?! MjBots is a really a nice controller I have his test kit. I'm on his Discord...but I feel he is just one guy and fearful he won't last very long, but position control is pretty amazing on his boards.
@Dj I'll reach out to the ODrive guys, as they seem very approachable, and see if they would be interested in working with you. They support James Bruton on alot of his YouTube projects (which is where I saw the S1s being used). Of course they are helping him because he has over a 1 million subs. But sales are sales regardless where they come from. Protocol extension integration would be great , but as you said the Arduino code is there and the board can use PWM to control as well.
I'm going to order ODrives S1s test kit and put it through the ringer. I like ODrives software as it has an algorithm for anti cogging, a must for positional control. Thanks for the feed back!
That’s a good idea to reach out. A few of the robot skills we have are because others reached out and said I’ll be a customer if you have a robot skill for Synthiam arc
Often the company says nah we’re happy giving ppl an sdk and having no customers. I always find that strange. But I think it’s because they’re run by engineers who feel their product is elite if it’s unattainable.
I feel the opposite. Every product should be really easy to use so anyone creative can build with it. Making a robot skill does just that.
we can provide templates so all they have to do is fill in the blanks.
@fxrtst yeah there is some basic position control so you can set an angle.What I like is they are cheap and you can buy them on AliExpress for a couple of dollars. I really haven’t spent a lot of time playing with them yet but the discord provides good (although often condescending ) support I think they only support < 3amp motors though so not suitable for a robot dog etc https://docs.simplefoc.com/angle_loop yeah I agree that MJBots is a 1 man hobby project and unless he gets real funding the project will probably die.
@DJ yeah the web sockets I used on the MJBOTS dog are overkill but the good thing is I didn’t have to learn how to create a walking gate or control each leg directly. All I had to do was say go forward / backward / left / right / fast / slow etc so made controlling with ARC quite easy. ARC runs all the sensors and it’s more like just driving a remote control car with ARC then trying to move 4 legs in a complex walking gate and dealing with the FOC / PID controllers, accelerometers, power management etc as this was all handled by the existing software.
@DJ I totally agree. I don't understand why companies would pass up an opportunity to reach more users via partnerships. I just joined ODrives discord, so I have access to the developers now.
Looks like they've decided to make all their newer hardware controllers closed source and the firmware, control algorithm continued as opensource. China knocked off all their older controllers (anything below v3.6) prolly lost $$$..woops.
@nink Thanks for the link for SimpleFOC angle loop. But at 3 amps max it will have its limitations for sure. I'll take a look.
Revisiting this a year later (no need to create a new thread). I'm determined more than ever to create robots with BLDC motors in positional control. I know Mickymous666 has a good tut/code on ODrives, but the pricing is too steep. Same for MJ Bots. I'm trying to make smaller more affordable and quiet servo replacements, like around $100 or less per axis(Gimble motor, magnetic encoder, driver board and ESP32 controller, , < 3 amps). SimpleFOC has really taken off and has a great discord server with a great community of knowledgeable people, their own opensource driver boards and code/libraries for Arduino. There are not that many Youtube videos about simple FOC and that's the way I learn (visual). so I have alot of question marks to fill in.
But If I get it working with PWM there wouldn't need to be a plug in for ARC..? it should just work like a standard servo. If its not very accurate (degrees) or if it cogs badly, I may have to go with serial communication and there might need to be a plugin developed for it or no??! I Don't know enough about the SimpleFOC protocols yet. I think the my main concern is when these motors start up and are looking for home position with the magnetic encoders. What keeps the whole horn from going 360 as it homes. I can see any part of a robot flying off as it spins up looking for magnetic home. I purchased a robot dog recently and you have to put it in a very specific position on start up or the legs will home in the wrong position and its all wonky. I guess if you have gearing you could eliminate some of that but you also introduce noise by having the gear boxes, which voids the original reason for building these (quiet).
Use this: https://synthiam.com/Support/Skills/Servo/Custom-Servo-Controller?id=22238
Thats a good start to get things running for prototyping before you decide if a robot skill is needed.
Excellent. Will do.