Gopigo3 - Where are the calibration parameters?

If I want to tweak the constants because the robot goes 90cm when instructed to go 100cm, where do I look?

If you use the desktop GoPiGo3 Control Panel, you can test the wheel diameter and wheel base width values, then “Save and Exit” will write them to /home/pi/Dexter/gpg3_config.json

Check it though to make sure it worked - if root owns the file the permissions need to be 666, if pi owns the file then 644 will be ok.

Mine looks like: -rw-r–r-- 1 pi pi 52 Feb 15 22:12 gpg3_config.json
{“wheel-diameter”: 64.0, “wheel-base-width”: 114.05}

If you want to create some fine tune test routines, check out my wheelBaseRotateTest.py
and wheelDiaDriveTest.py for ideas.

3 Likes

Great… thanks. Do I have to run the gpg3 with local wifi directly to my desktop to get to that Gui or is there a way to do it when I boot it into ubuntu mate?

That desktop is the DI RaspbianForRobots customized version of Raspbian Stretch.

(Assuming that you have performed the GoPiGo3 software install previously so you have /home/pi/Dexter/ tree)

What ever way you get to the Raspberry Pi desktop, open a command shell on it and run:

/home/pi/Dexter/GoPiGo3/Software/Python/Examples/Control_Panel/control_panel_gui_3.py

BTW, if you have not tried some of the Examples and Projects under the Dexter tree, you really should take the time for them. You will really get to know your GoPiGo3 so that you can maximize the functions of your gopigo3 ROS node. The ROS gopigo3 nodes I have seen in Git usually only reference the motors and the encoders. A “real gopigo3 ROS node” should broadcast all aspects of the GoPiGo3, such as processor temperature, processor load, throttling status (to know when the processor was cheated on voltage, or driven too hard for the cooling the GoPiGo3 presents), battery voltage, stall alerts from the motor_status, and for folks with a tiltpan or servo mounted range sensor - servo angle(s) and IR range, the DI IMU, and for folks with a PiCam, commands to snap an image, start/stop recording video, and then getting fancy start a picam motion detect program and broadcast marked up motion detect frames! I would love to see someone implement a GoPiGo3 node that offered up the functions of the EasyGoPiGo3 class.

1 Like

I agree that there’s a lot to the EasyGoPiGo3 class. I played with it a little and as I continue to hack this I will look at going back and improvingg the ROS node.