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...
|
|