Please select Into the mobile phone version | Continue to access the computer ver.
DJI RoboMaster Development Boards now available
123Next >
19177 99 2019-8-6
Uploading and Loding Picture ...(0/1)
o(^-^)o
rhoude57 - YUL
lvl.4
Canada
Offline

Since the release of the RoboMaster S1, I have been scouring a number of aftermarket accessory sources. To my greated surprise, four items appeared today that made me jump out of my seat, literally... Those four items are:


From my past research, those boards are those used to develop programs for the RoboMaster competition robots. From the labelling, it appears the boards would also be compatible with the S1.
I ordered a complete set and will be trying out a few things, including whether the boards can be mounted in the S1 instead of the ones delivered with the S1.
This would unleash a whole new set of possibilities in terms of wath the S1 would be able to do.

The boards above are supported by an open-source software environment found on the RoboMaster GitHub:
https://github.com/RoboMaster


2019-8-6
Use props
gpvillamil
lvl.4
Flight distance : 210226 ft
United States
Offline

[sorry for the double post, not sure what happened]
2019-8-6
Use props
gpvillamil
lvl.4
Flight distance : 210226 ft
United States
Offline

Those have been available from DJI for a while, together with some motors, cables and other accessories.
Here's the store link: https://store.dji.com/category/robomaster?from=menu_products

Buying from DJI directly seems to be about half the price of buying from Amazon, so perhaps it might be worth returning them and re-ordering.

I don't think those boards will be compatible with the S1, they seem purpose built for the Robomaster competition robot:

https://www.robomaster.com/en-US/products/components/robot

I guess DJI contributes to the confusion by including the S1 as a robot type under the Robomaster competition.
2019-8-6
Use props
MarkusXL
lvl.4
United States
Offline

The "Standard" robots of the Robomaster battles, 3 per team, are the cheapest at about $2000 each to gear up, using these parts.   These are the inspiration for our comsumer grade S1s, which are tighly locked up by proprietary code.  If you really know what you are doing, you can use cmake and build and compile the open source software stack, and then from there figure out some basic stuff for these complex, custom made contraptions.  There is a huge knowledge gap between these machines and our highly newbie-friendly S1.



In related news:


I gleaned some interesting factoids from watching a few battles.



Each robot reports detailed stats on hit rate, kills, etc.
They only shoot small ammo, each shot does 10 damage.

Only the Standards can activate Power Runes which are rotating targets that light up if hit enough.

Power Runes give a team wide damage boost for 1 min.

The small ammo used to be ping pong balls but now DJI makes custom 17mm plastic glow-in-the-dark ball ammo.

The Hero robot, one per team, can shoot 42mm ball ammo, used to be golf balls, each do 100 damage.

The hit-plate sensors can tell the diff.

Hero's can cost $5000 to build up.

The aerial drone has no hit plates and is not allowed to be shot at for safety reasons.

It can cost $8000 to build up.

Then Engineer Drone is the only one that can grab the big ammo and must load up the Hero.

The Engineer can also drag or push dead fellows into a healing zone to regenerate hit points.

It can cost $10,000 to build up an Engineer.

The Sentry drone rides on an elevated track, and by rule must be fully autonomous.

The other robots are human controlled by the team which is in a hidden control room - they must use only FPV goggles or monitors and mostly control the robots with mouse and keybd.

The manually controlled 'bot are also running software for driver assist and target acquisition and some AR features like superimposed damage bars.

Over 700 student engineers competing this year, mostly from China.

The non-China teams are regarded as "breezey" by the Chinese teams as they are easy to breeze by in competition.

This is really great stuff, but to download and compile the RoboRTS software stack, get some booted up an running somehow, on this thing:

https://rm-static.djicdn.com/tem ... 20Manual%20V1.0.pdf

Seems quite daunting...






2019-8-6
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

MarkusXL Posted at 8-6 21:13
The "Standard" robots of the Robomaster battles, 3 per team, are the cheapest at about $2000 each to gear up, using these parts.   These are the inspiration for our comsumer grade S1s, which are tighly locked up by proprietary code.  If you really know what you are doing, you can use cmake and build and compile the open source software stack, and then from there figure out some basic stuff for these complex, custom made contraptions.  There is a huge knowledge gap between these machines and our highly newbie-friendly S1.

Yes. Diving into the RoboMaster RTS, the Robotics Operating System (ROS), Linux distributions and Command-Line Interfaces is a much ore daunting endeavor. Only serious programmers will want to take that path.
This, IMHO, shows once again how good a job DJI did putting together this consumer version of the robot.
2019-8-7
Use props
MarkusXL
lvl.4
United States
Offline

gpvillamil Posted at 8-6 14:59
Those have been available from DJI for a while, together with some motors, cables and other accessories.
Here's the store link: https://store.dji.com/category/robomaster?from=menu_products

Yes that is a bit irksome.  Those parts are clearly not for the S1, nor can they be used to easily repair the S1.  I don't think you could get this hardware to communicate with the S1 app.  Yet, the S1 is shown all over these places.  That looks to be intentionally confusing!

So, just to be clear, there are no spare computing parts or SDK for the S1.  Yet.

You can build a "forerunner" of the S1, from individual parts, that would be on par with those used in the Robomaster competitions, but it would be very expensive and the software complex.  Not for newbies.
2019-8-7
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

MarkusXL Posted at 8-7 10:58
Yes that is a bit irksome.  Those parts are clearly not for the S1, nor can they be used to easily repair the S1.  I don't think you could get this hardware to communicate with the S1 app.  Yet, the S1 is shown all over these places.  That looks to be intentionally confusing!

So, just to be clear, there are no spare computing parts or SDK for the S1.  Yet.

From the board'S specs and RTS software, all of this is ciompatible with the RoboMaster S1 motors and sensors.

I definitely do not intend to use the parts as repair parts for the S1.  They will serve to build a software test bench to do more sophisitcated programming possibly  for the S1. Instead of the DJI RoboMaster app, I hope to use a standard 2-joystick standard remote controllers.
2019-8-7
Use props
MarkusXL
lvl.4
United States
Offline

Hail to you sir, that is a worthy goal.  I think it's safe to say DJI did a good job of bridging the gap between competition grade 'bots and something within the grasp of most people to build and program.  At this time though, it looks like going "outside the box", that is, going beyond what DJI  has spoon fed us in the S1, looks to be really complex.  But if someone can break the new ground and come up with instructions we could follow along... weeeelllll that would be cool

That said, and going off topic a wee bit, what would be wrong with the S1 chassis, gimbal, cannons, etc, as a blank platform?  It seems just fine all around to me, more or less.  Needs more sensors and more ways to interact with the world.  If I could find the time and was smart enough, I would install a Jetson Nano to be the brain, letting go of the stock electronics, the app, and who know what with the video and WiFi.  Some ready to run frameworks exist for autonomous driving, but to get from here to there poses some suuuper tough questions...  I can only gnash my old teeth...    Meanwhile. I'm having fun programming the S1 as it is - there is plenty to explore and the thing takes actual Python.  Ok not a lot of modules to import but you can still do TONS of real life Python, like Arrays Lists and Classes blah blah blah there is a so much to try!  I wanna see if the PWM ports could be connected to a wee little XCVR board to allow S1's to communicate...  Projects like that stay within the framework of the stock S1 so easy in easy out.  I see no limits!

And yep, the stock live control of thing could be way better.  Tough one though.  I imagine an experiment project to convert the S1 into a pure RC control vehicle - but what receiver, ESC?  Could one control the gimbal?  Would all those devices and motors just plug in?  But then you would loose all the nifty app stuff, so...   I'm venting because I do yearn for something between the S1 and the competition grade 'bots.  Something I can grasp but really customize without breaking the bank.
2019-8-7
Use props
gpvillamil
lvl.4
Flight distance : 210226 ft
United States
Offline

Looking at it in more depth, it looks like the Robomaster A board is roughly equivalent to the module in the back of the Robomaster S1, where all the motors and sensors plug in. The Robomaster B board would appear to be comparable to the module in the turret. They both use CAN BUS and the A board has a bunch of PWM outputs as well. The motors in the S1 and in the Robomaster competition robot use CAN BUS and I suspect the control protocol has not changed much.

However, the Robomaster competition boards  seem to lack any kind of video processing or network. I suspect that they are intended to use Ocusync or similar for video, and DJI RC tech for control.

So a possible strategy would be to get the Robomaster B board talking to the module in the back of the S1 using CAN BUS, but you would still need to invest in a DJI air unit of some kind for video and control.  Maybe something like this: https://m.dji.com/product/dji-fpv-air-unit. That will hook into the DBUS port on the Robomaster B.

You could also potentially replace the module in the back of the S1 with the Robomaster A board, and connect motors and sensors to the various CAN BUS ports. It looks like there are more than enough. You’d need to manufacture your own cables and adapters.

So it looks like it might do-able, but with some work to figure out the CAN BUS connections, adapt the cables, and you would need to add hardware for video and control electronics.
2019-8-8
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

gpvillamil Posted at 8-8 08:27
Looking at it in more depth, it looks like the Robomaster A board is roughly equivalent to the module in the back of the Robomaster S1, where all the motors and sensors plug in. The Robomaster B board would appear to be comparable to the module in the turret. They both use CAN BUS and the A board has a bunch of PWM outputs as well. The motors in the S1 and in the Robomaster competition robot use CAN BUS and I suspect the control protocol has not changed much.

However, the Robomaster competition boards  seem to lack any kind of video processing or network. I suspect that they are intended to use Ocusync or similar for video, and DJI RC tech for control.

I concur with your analysis.
The Type A Board would replace the rear RoboMaster S1 interface unit.
The Type B Board would replace the intelligent controller on top of the turret.
The CAN-Bus connexion is pretty straightforward. CAN-Bus nodes aredaisy-chained onto a CAN-Bus. I will only require to know if there are more than one bus running on the RoboMaster S1.
The video would be replaced by a standard VTX set-up and the smart phone and control app would be replaced by a multi-channel Remote Control. I would consider using either one of my existing RC controller or, to staty true to form, get a DJI Smart Controller.
The RoboMaster code base is already capable of handling the RoboMaster S1 brushless motors used to drive the wheels and the turret, so there would not be much of an issue there.
2019-8-8
Use props
gpvillamil
lvl.4
Flight distance : 210226 ft
United States
Offline

I thought it was pretty interesting that the motors include a CAN BUS driver!
2019-8-8
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

gpvillamil Posted at 8-8 12:57
I thought it was pretty interesting that the motors include a CAN BUS driver!

The M3508 P19 Brushless DC Gear Motor used in the RoboMaster S1 incorporates an intelligent controller  that interface with the Interface Module through a CAN interface instead of the usual PWM three wire signal.
2019-8-8
Use props
MarkusXL
lvl.4
United States
Offline

rhoude57 - YUL Posted at 8-8 16:28
The M3508 P19 Brushless DC Gear Motor used in the RoboMaster S1 incorporates an intelligent controller  that interface with the Interface Module through a CAN interface instead of the usual PWM three wire signal.

I'm in awe at you guy's analysis.

So, I googled the CAN bus:

https://en.wikipedia.org/wiki/CAN_bus

Seems pretty complex.  There would have to be some sweet modules to import to make it do tricks.  But...


How does this thing A board B board idea even boot?  Does it boot Linux?  Is there a kernel built for this hardware, ready-to-image? From a micro SSD card?   To what console?  Can you connect a USB keyboard to get going with it?  I would need an internet connection right away to build up RoboRTS...  


2019-8-8
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

MarkusXL Posted at 8-8 20:49
I'm in awe at you guy's analysis.

So, I googled the CAN bus:

The processing boards run Ubuntu Linux, the RT-Preempt extension. and the Robotics Operating System (ROS).
Communications to the board are typically via a Remote Terminal (e.g. PuTTY) on a USB port and the Linux CLI. The Remote Terminal also fills in the Console duty.
CAN-bus is now well-known and supported, as it is used extensevily in road transportation, especially automobilesn. A running processor can generally interface with a standard video terminal, keyboard and mouse set-up.The processor card can boot from a SD Card, or an image held in Non-Volatile Memory. Most modern procesor boards also have a cabled Ethernet or WiFi capability for updates and downloads.
I run quite a number of drones and robots with this operating configuration.
It is definitely not for the uninitiated, howerver.


2019-8-9
Use props
gpvillamil
lvl.4
Flight distance : 210226 ft
United States
Offline

rhoude57 - YUL Posted at 8-8 09:42
I concur with your analysis.
The Type A Board would replace the rear RoboMaster S1 interface unit.
The Type B Board would replace the intelligent controller on top of the turret.

Maybe just replace the B board for starters, that means only having to hack 1 CAN BUS cable.

TBH I've also been looking into a Raspberry Pi -> CAN Bus interface. Then you could replace the intelligent controller with some flavor of Pi, and do networking/vision processing etc on that.

https://copperhilltech.com/pican ... e-for-raspberry-pi/

I am borrowing an Intel Realsense camera this weekend to do some experiments with...
2019-8-9
Use props
MarkusXL
lvl.4
United States
Offline

Oooohhhh you are applying existing DJI drone, eh, "equipment recipes", to the S1?  Now that I might be able to follow along but yes I know that stuff can get pretty hairy fast.

Now kajiggering a COM port to drive a console - that I've done, and it boots Linux you say? - so somebody already did a kernel for that particular hardware - what CPU is that? - is it public domain? Can we flash a micro SSD to boot to?

I feel the project now is slight more within my technical grasp but it would be pretty much a total conversion project.   The CAN bus should not be scary being widely supported.  Looks like that part of it is almost plug and play - so the physical wiring should be fairly straightforward.

So, wait a sec, is there a recipe to make the RPi control the whole deal?  Can RoboRTS be built on an RPi?  That sounds quite interesting.  The RPi could in theory handle everything and just command the B board to drive the robot.

So it seems most of the puzzle's parts are here.  By the way I just installed and configured my new RPI 4 (4 gig version!) on the work net.  I find it pretty handy to have on line.

Yeah I like the idea of an RPi-S1  
2019-8-9
Use props
gpvillamil
lvl.4
Flight distance : 210226 ft
United States
Offline

If we can figure out RPI to CAN bus, then all sorts of possibilities open up

2019-8-11
Use props
MarkusXL
lvl.4
United States
Offline

LOL Now you're talking!    If there is a Python module to handle a GPIO to CAN interface...
2019-8-11
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

gpvillamil Posted at 8-11 08:29
If we can figure out RPI to CAN bus, then all sorts of possibilities open up

[view_image]

You mean something like this?
https://copperhilltech.com/pican ... e-for-raspberry-pi/
2019-8-11
Use props
MarkusXL
lvl.4
United States
Offline

rhoude57 - YUL Posted at 8-11 21:08
You mean something like this?
https://copperhilltech.com/pican-2-can-bus-interface-for-raspberry-pi/

Lol that is exacty the thing!  But holy carp!  Look at the complexity...  And the cost...

It is tantalizing though - they put sample Python code up on GitHub...

So, anyway, now we have a RPi-CAN solution on the table.  At this point we could cobble up a block diagram...
2019-8-13
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

MarkusXL Posted at 8-13 06:53
Lol that is exacty the thing!  But holy carp!  Look at the complexity...  And the cost...

It is tantalizing though - they put sample Python code up on GitHub...

I'm thinking of hooking up my Minteye S stereo camera with IMU to my RPi3b to run something like GSLAM as a collection of ROS nodes that could feed the drive and the current aiming control logic running on the Type B board.

https://www.mynteye.com/products/mynt-eye-stereo-camera

We would possible end up with the RoboFranken S1!!!
2019-8-13
Use props
MarkusXL
lvl.4
United States
Offline

Project code name:  frankenSte1n
2019-8-13
Use props
wqiu
lvl.2

United States
Offline


can sniffer
2019-8-17
Use props
MarkusXL
lvl.4
United States
Offline

Love it!  It appears you're seeing every packet between the brain and the bus driver.  That's some cool cyberhacking there.
2019-8-17
Use props
wqiu
lvl.2

United States
Offline

No,systime,time,CAN channel,receive/send,ID ,frame type,frame,length,data
00000,="22:40:09.538",452.9922,ch1,接收,0x0201,数据帧,标准帧,0x06,x| A0 48 08 01 5C DB
00001,="22:40:09.538",512.3520,ch1,接收,0x0202,数据帧,标准帧,0x05,x| 00 00 00 D6 7C
00002,="22:40:09.538",512.3531,ch1,接收,0x0203,数据帧,标准帧,0x08,x| 55 16 04 FC 04 09 A2 9C
00003,="22:40:09.538",512.3532,ch1,接收,0x0203,数据帧,标准帧,0x08,x| 00 3F 76 35 FF 00 00 87
00004,="22:40:09.538",512.3533,ch1,接收,0x0203,数据帧,标准帧,0x06,x| 00 F2 FF 02 0B CE
00005,="22:40:09.538",512.3534,ch1,接收,0x0203,数据帧,标准帧,0x08,x| 55 11 04 92 04 03 D6 3A
00006,="22:40:09.538",512.3535,ch1,接收,0x0203,数据帧,标准帧,0x08,x| 00 3F 42 87 00 0D F8 74
00007,="22:40:09.538",512.3536,ch1,接收,0x0203,数据帧,标准帧,0x01,x| 2A
00008,="22:40:09.538",512.3537,ch1,接收,0x0203,数据帧,标准帧,0x08,x| 55 0F 04 A2 04 C3 D8 3A
00009,="22:40:09.538",512.3538,ch1,接收,0x0203,数据帧,标准帧,0x07,x| 00 3F 2E 80 00 18 BA
00010,="22:40:09.538",512.3539,ch1,接收,0x0203,数据帧,标准帧,0x08,x| 55 71 04 C8 04 1D 6D A8
00011,="22:40:09.538",512.3540,ch1,接收,0x0203,数据帧,标准帧,0x08,x| 00 00 F0 04 AF 8D CE C2
00012,="22:40:09.538",512.3542,ch1,接收,0x0203,数据帧,标准帧,0x08,x| 64 80 D4 F2 62 87 55 1D

we can receive ID 0x0201 0x0202,0x0203 CAN data frames. It is hard to analysis them.
2019-8-17
Use props
wqiu
lvl.2

United States
Offline

I find ID 0x0201,0x0202,0x0203,0x0204,0x0211,0x0212,0x0213,0x0214,0x0215,0x0216  from CAN frames so far, each of them correspond to one CAN node device. Most likely, the first two of them stand for DJI intellegent controller and motion controller.
2019-8-17
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

wqiu Posted at 8-17 06:59
I find ID 0x0201,0x0202,0x0203,0x0204,0x0211,0x0212,0x0213,0x0214,0x0215,0x0216  from CAN frames so far, each of them correspond to one CAN node device. Most likely, the first two of them stand for DJI intellegent controller and motion controller.

A quick way to establish which address corresponds to which component would be to run the wheel and armor addressing functions in the RoboMaster app or program.
You would then be able to see some traffic going both ways.
2019-8-17
Use props
rhoude57 - YUL
lvl.4
Canada
Offline


Intelesting!
What are you using as  a CAN-Bus Analyzer?
2019-8-17
Use props
wqiu
lvl.2

China
Offline

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.67002e8dToe8ZC&id=18286496283&_u=pv5v74jf273
2019-8-25
Use props
albertr
lvl.3
United States
Offline

So while you guys are discussing possibilities of replacing S1's controller boards with the ones from its big brother, I assume you already got schematics of S1's boards figured out and probably managed to interface them (serial UART or serial over USB?)?
I don't have S1, but I'm very interested into getting one, but only if I will be able to fully control software its running. So far, I cannot find even high-res pictures of S1 controller boards, save for any info on how easily it can be hacked.

So how are you so sure? Care to share what you got?

-albertr
2019-8-25
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

albertr Posted at 8-25 13:10
So while you guys are discussing possibilities of replacing S1's controller boards with the ones from its big brother, I assume you already got schematics of S1's boards figured out and probably managed to interface them (serial UART or serial over USB?)?
I don't have S1, but I'm very interested into getting one, but only if I will be able to fully control software its running. So far, I cannot find even high-res pictures of S1 controller boards, save for any info on how easily it can be hacked.

I am preparing to do a side-by-side comparison of the RoboMaster S1 Intelligent Controller and Interface Module with the RoboMaster Type B, Type a and OLED development boards.
I'll keep you posted and hopefully will compile the results in a video that I will post, probably on Youtube.
2019-8-25
Use props
albertr
lvl.3
United States
Offline

Great, thanks for doing this! While youtube is definitely entertaining, it might lack resolution/quality the close up pictures can do...

-albertr
2019-8-25
Use props
albertr
lvl.3
United States
Offline

Looking forward to see your comparison!

-albertr
2019-8-26
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

albertr Posted at 8-25 17:54
Great, thanks for doing this! While youtube is definitely entertaining, it might lack resolution/quality the close up pictures can do...

-albertr

I can certainly post higher resolution pictures in this forum as well.
2019-8-26
Use props
albertr
lvl.3
United States
Offline

rhoude57 - YUL Posted at 8-8 16:28
The M3508 P19 Brushless DC Gear Motor used in the RoboMaster S1 incorporates an intelligent controller  that interface with the Interface Module through a CAN interface instead of the usual PWM three wire signal.

I don't think S1 is using M3508 P19 motors.... Based on pictures from DJI website, this motor requires a speed controller, and it looks like S1 is using a motor with built-in controller - M3508 I, which is a different motor?


-albertr


2019-8-27
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

albertr Posted at 8-27 09:10
I don't think S1 is using M3508 P19 motors.... Based on pictures from DJI website, this motor requires a speed controller, and it looks like S1 is using a motor with built-in controller - M3508 I, which is a different motor?

You are right. DJI uses the M3508I, which has the CAN-Bus controller integrated with the brushless motor.
2019-8-27
Use props
albertr
lvl.3
United States
Offline

rhoude57 - YUL Posted at 8-26 11:11
I can certainly post higher resolution pictures in this forum as well.

rhoude57, how it's going? Maybe you can consider publishing your comparision in parts, i.e. starting with some high-res pictures of the boards, so we will have something while waiting for results of your analysis?

-albertr
2019-8-27
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

albertr Posted at 8-27 10:50
rhoude57, how it's going? Maybe you can consider publishing your comparision in parts, i.e. starting with some high-res pictures of the boards, so we will have something while waiting for results of your analysis?

-albertr

I received my set to Torx screwdrivers today in order to be able to dismantle the S1 Interface and Intelligent Controller Modules in the proper fashion.
Anyone reading this should be aware that by doing so will render the warranty mull and void on those components.
Story to follow...
2019-8-27
Use props
albertr
lvl.3
United States
Offline

Any update? Looking forward to see your comparison!

-albertr
2019-8-29
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

albertr Posted at 8-29 09:05
Any update? Looking forward to see your comparison!

-albertr

I'm waiting for the delivery of my RoboMaster Development Board Kit. It should be within a couple of weeks from now.

2019-8-29
Use props
123Next >
Advanced
You need to log in before you can reply Login | Register now

Credit Rules