As there were some questions related to how to modify the software to fit different motors regarding the proper odometry readings etc., here’s the info from @Blazej_Sowa :
You will probably want to override some parameters passed to the firmware on the core2 board.
Here you can find the list of available parameters.
Edit the /etc/ros/robot.launch
file by adding:
<rosparam command="load" file="/etc/ros/overrided.yaml"/>
jut before the ending </launch>
tag.
Then, add the /etc/ros/overrided.yaml
which should look like this:
core2:
motors:
encoder_resolution: 4741.44
max_speed: <max_motor_speed>
pid: {p: 0.0, i: 0.005, d: 0.0}
Change <max_motor_speed>
according to your motor. You can also change the default PID regulator coefficients.
Now, load the parameters by typing:
rosparam load /etc/ros/overrided.yaml
If you get any syntax errors, try to fix them and try to load the params again.
And softreset the core2 board so it loads the new parameters:
rosservice call /core2/reset_board
Now, check if the wheel odometry is correct:
rostopic echo /wheel_odom