Recording/Reading CAN Stream - Need some info
3023 10 2019-10-3
Uploading and Loding Picture ...(0/1)
o(^-^)o
JB63
lvl.4
  • >>>
Offline

I have hardware that can read/record CAN streams, and thinking of 'exploring'.
I need the following 2 pieces of information:

1. Baud Rate of the CAN Stream
2. DBC file, to decode the stream and extract useful info

Any leads on how one can obtain those?


2019-10-3
Use props
Duane Degn
Second Officer
Flight distance : 622234 ft
Offline

The black CAN Bus uses 2Mbps baud.
I hope you've seen this thread.
2019-10-3
Use props
JB63
lvl.4
  • >>>
Offline

Thank you, lots of information there. It seems what I'm asking for (DBC file)  is not 'readily' available ... at least not yet.
2019-10-3
Use props
rhoude57 - YUL
lvl.4
Offline

JB63 Posted at 10-3 17:47
Thank you, lots of information there. It seems what I'm asking for (DBC file)  is not 'readily' available ... at least not yet.

The DBC file is definitely not available. I suspect DJI will never officially release one. At best, it may be possible to construct one using the RoboMaster S1 SDK Manual, if and when DJI releases one.
2019-10-4
Use props
Duane Degn
Second Officer
Flight distance : 622234 ft
Offline

I'm under the impression Tatsuya Ishikawa is able to communicate with the S1's CAN Bus. Here's (hopefully)  a clickable link to tatsuyai713's Github.
Tatsuya Ishikawa shared this link in this reply.
2019-10-4
Use props
rhoude57 - YUL
lvl.4
Offline

Duane Degn Posted at 10-4 06:36
I'm under the impression Tatsuya Ishikawa is able to communicate with the S1's CAN Bus. Here's (hopefully)  a clickable link to tatsuyai713's Github.
Tatsuya Ishikawa shared this link in this reply.

He apparently is! However, I'm waiting to see a video of the set-up in action before calling a total success.

This is a brilliant hack. Is it due to some internal knowledge of the S1 software architecture or the result of trial and error??? Not sure, but it works.

On the Nucleo Controller Board he adds on top of the S1 Intelligent Controller, he sets up a ROS Master plus 2 ROS Nodes: the first Node wraps the PS4 Controller, acquires joystick movements and key presses from the joystick. This Node was actually hacked from the http://wiki.ros.org/teleop_twist ... t Joy Joystick Node written by Mike Purvis at ClearPath Robotics.
the second Node is the Bridge between the Nuycleo Controller and the RM S1 Inteliigent Controller. The Bridge Node first sets up a UDP and Socket connexion over WiFi to the Intelligent Controller, which I assume must be placed into direct WiFi Access Port mode. Once a connexion is established, the Bridge Node  collects the joystick actions from the Joystick Node, then repackages the data collected from the Joystick into CAN- or Motor-Bus Messages. The CAN Chassis or Turret messages are then loaded into UDP Message Buffers and sent over to the Intellgent Controller. One must assume that the S1 Intelligent Controller receives the UDP messages, extracts the CAN-Bus messages sends them through the Interface Controller which in turns re-routes them to the Chassis or Turret motors, or issues Mode commands internally in the Intelligent Controller.

This, of sort, confirms to me that the S1 Intelligent Controller likely runs the ROS environment.

What intrigues me, still, is that the Nucleaus board was configured to intercept, and possibly inject CAN-Bus messages around the Intelligent Controller. I suspect this was part of the reverse engineering tooling he put in place to capture and analyze CAN-BUS traffic between the Intelligent and Interface Controllers.

I will investigate in the days/weeks to come whether I can Fork and Port this code to: 1) one the controllers I have on hand, perhaps a Beaglebone Blue already running ROS and equiped with a WiFi
interface; or a Raspberry Pi 4 I just received; I will also try to replace the PS4 Joystick Node with a Node wrapping one of the  three joysticks I have on hand, either a Gamesir T1d , a XBox One or a Logitech F310.

Story to follow...

2019-10-4
Use props
albertr
lvl.3
United States
Offline

Tatsuya Ishikawa has compiled a list of CAN messages used in RMS1 and published it here:

CAN messages

FWIW my son has compiled his code, but was not able to get it work on his RMS1, and Tatsuya Ishikawa is not responding to questions about his code/work...

-albertr
2020-2-8
Use props
albertr
lvl.3
United States
Offline

rhoude57 - YUL Posted at 2019-10-4 12:25
This, of sort, confirms to me that the S1 Intelligent Controller likely runs the ROS environment.

The RMS1' intelligent controller does not run ROS.

-albertr
2020-2-8
Use props
albertr
lvl.3
United States
Offline

Ok, we got Tatsuya Ishikawa's code sorta working. CAN bus rate is 1Mbit/s.
More deails will be posted in this topic.

-albertr
2020-2-8
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

albertr Posted at 2-8 08:25
The RMS1' intelligent controller does not run ROS.

-albertr

Indeed... It has become obvious with all the investigations that have been done.
2020-2-8
Use props
Thechomania
lvl.2
United States
Offline

You can just insert an SD card in the front and top of the gun. Then in solo mode, go to bottom left and press the recording button.
2020-3-8
Use props
Advanced
You need to log in before you can reply Login | Register now

Credit Rules