We will use an RP2040 to generate PWM signals for the ESC’s to run the thrusters. We need some way to communicate with the RP2040, sending it the desired PWM duty cycles for each thruster (total 8).
To simplify wiring as well as prioritize reducing latency and preserving data integrity, we will utilize a TCP/ip connection between the Jetson and the RP2040.
Task:
Host a TCP server on the Jetson that writes a message in JSON format that includes the requested duty cycle for each PWM channel.
This TCP server should also be a ROS node that subscribes to a thruster output topic. (this topic does not exist yet but it should be assumed that the topic is a list of thruster values, maybe from 0-100)
This TCP server will sit on it’s own docker container which has the necessary ports exposed.
Since this requires ROS, may use Python or C++ (rospy or roscpp)
I recommend you copy the Dockerfile from a previous repo which has the ROS image set up already, and adjust the Docker parameters according to your needs.
Deliverables:
A fully containerized application that interacts with a rosmaster running elsewhere on the device
The application should build with no warnings
A set of yaml files: (1 docker-compose file), (2 kubernetes deployment file)
Please divide this ticket into subtickets and link them to this ticket. Subtickets are to be created for subtasks, decided via your common sense
We will use an RP2040 to generate PWM signals for the ESC’s to run the thrusters. We need some way to communicate with the RP2040, sending it the desired PWM duty cycles for each thruster (total 8).
To simplify wiring as well as prioritize reducing latency and preserving data integrity, we will utilize a TCP/ip connection between the Jetson and the RP2040.
Task:
Deliverables:
Please divide this ticket into subtickets and link them to this ticket. Subtickets are to be created for subtasks, decided via your common sense