Wir haben mittlerweile auch die neuen Motoren bekommen, jedoch bekomme ich die nicht zum drehen.
Der IOT2050 kann mit dem Adapterboard kommunizieren, und der edu_drive_uart_node spuckt keine errors aus.
roslaunch edu_drive edu_drive_uart.launch
... logging to /root/.ros/log/727774f2-e53e-11ed-b8c9-8cf31945107e/roslaunch-iot2050-debian-71.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://192.168.178.167:41105/
SUMMARY
========
PARAMETERS
* /edu_drive_uart_node/eduDrive/antiWindup: 1
* /edu_drive_uart_node/eduDrive/canInterface: can0
* /edu_drive_uart_node/eduDrive/controller0/canID: 0
* /edu_drive_uart_node/eduDrive/controller0/drive0/channel: 0
* /edu_drive_uart_node/eduDrive/controller0/drive0/kinematics: [16.0, 0.0, -3.48]
* /edu_drive_uart_node/eduDrive/controller0/drive1/channel: 1
* /edu_drive_uart_node/eduDrive/controller0/drive1/kinematics: [16.0, 0.0, -3.48]
* /edu_drive_uart_node/eduDrive/controller0/encoderRatio: 1024.0
* /edu_drive_uart_node/eduDrive/controller0/gearRatio: 44.0
* /edu_drive_uart_node/eduDrive/controller0/rpmMax: 134.0
* /edu_drive_uart_node/eduDrive/controller1/canID: 1
* /edu_drive_uart_node/eduDrive/controller1/drive0/channel: 0
* /edu_drive_uart_node/eduDrive/controller1/drive0/kinematics: [-16.0, 0.0, -3.48]
* /edu_drive_uart_node/eduDrive/controller1/drive1/channel: 1
* /edu_drive_uart_node/eduDrive/controller1/drive1/kinematics: [-16.0, 0.0, -3.48]
* /edu_drive_uart_node/eduDrive/controller1/encoderRatio: 1024.0
* /edu_drive_uart_node/eduDrive/controller1/gearRatio: 44.0
* /edu_drive_uart_node/eduDrive/controller1/invertEnc: 0
* /edu_drive_uart_node/eduDrive/controller1/rpmMax: 134.0
* /edu_drive_uart_node/eduDrive/controllers: 2
* /edu_drive_uart_node/eduDrive/frequencyScale: 32
* /edu_drive_uart_node/eduDrive/inputWeight: 0.2
* /edu_drive_uart_node/eduDrive/invertEnc: 0
* /edu_drive_uart_node/eduDrive/kd: 0.0
* /edu_drive_uart_node/eduDrive/ki: 3.1
* /edu_drive_uart_node/eduDrive/kp: 0.2
* /edu_drive_uart_node/eduDrive/maxPulseWidth: 100
* /edu_drive_uart_node/eduDrive/responseMode: 0
* /edu_drive_uart_node/eduDrive/timeout: 300
* /rosdistro: noetic
* /rosversion: 1.16.0
NODES
/
edu_drive_uart_node (edu_drive/edu_drive_uart_node)
ROS_MASTER_URI=http://192.168.178.167:11311
process[edu_drive_uart_node-1]: started with pid [85]
/dev/ttyS3 has been successfully opened
[ INFO] [1682629200.768457186]: Instanciated robot with vMax: 0.5 m/s and omegaMax: 1 rad/s
#EduDrive Setting RPM to 0 0 0 0 0 0 0 0
...
Auch die LED am Adapterboard blinkt wenn der Knoten hochgefahren ist gruen, rot ist aus
Was bedeuten die LEDs und ihre blink-muster?
Ich habe keine ahnung ob die DIP-schalter richtig gestellt sind, jedenfalls habe ich alle stellungen an einem ausprobiert und nix drehte sich.
Wie funktioniert das mit welches Board (controller) 0 oder 1 ist/sein muss, und wie müssen die DIP-schalter für verschiedene Adressen (canID) geschaltet werden (ist es 2-bit binär?)
Es ist mega praktich dass ihr auf yaml-configs umgestellt sind, aber an der Dokumentation haperts noch, weshalb ich kaum Ahnung habe ob meine config valide ist / der hardware entspricht.
(z.b welche PWM frequenz ist das, wofür ist die pulse width, wie sind die dip switches zu belegen, etc)
{ps: vielleicht auch klar machen, dass die Board-Stapel auf einem bus liegen und das nicht 2 separate busse sind}
<launch>
<node pkg="edu_drive" type="edu_drive_uart_node" name="edu_drive_uart_node" output="screen">
<rosparam command="load" file="$(find edu_drive)/launch/edu_drive_uart.yaml" />
</node>
</launch>
edu_drive_uart.yaml
:
eduDrive:
canInterface: can0
frequencyScale: 32
inputWeight: 0.2
maxPulseWidth: 100
timeout: 300
kp: 0.2
ki: 3.1
kd: 0.0
antiWindup: 1
invertEnc: 0
responseMode: 0
controllers: 2
controller0:
canID: 0
gearRatio: 44.0
encoderRatio: 1024.0
rpmMax: 134.0
drive0:
channel: 0
kinematics: [16.0, 0.0, -3.48]
drive1:
channel: 1
kinematics: [16.0, 0.0, -3.48]
controller1:
canID: 1
gearRatio: 44.0
encoderRatio: 1024.0
rpmMax: 134.0
invertEnc: 0
drive0:
channel: 0
kinematics: [-16.0, 0.0, -3.48]
drive1:
channel: 1
kinematics: [-16.0, 0.0, -3.48]