e-puck2 PC side development

From GCtronic wiki
Jump to navigation Jump to search

Robot standard firmware

The robot is initially programmed with a firmware that includes many demos that could be started based on the selector position:

  • Selector position 0: Aseba
  • Selector position 1: Shell
  • Selector position 2: Read proximity sensors
  • Selector position 3: Asercom protocol v2 (BT)
  • Selector positoin 4: Range and bearing extension (receiver)
  • Selector position 5: Range and bearing extension (transmitter)
  • Selector position 6: ESP32 UART communication test
  • Selector position 7: ...
  • Selector position 8: Asercom protocol v2 (USB)
  • Selector position 9: Asercom protocol (BT)
  • Selector position 10: This position is used to work with the gumstix extension.
  • Selector position 11: Simple obstacle avoidance + some animation
  • Selector position 12: Hardware test
  • Selector position 13: LEDs reflect orientation of the robot
  • Selector position 14: Read magnetometer sensor
  • Selector position 15: ...

The source code is available in the git repo https://github.com/e-puck2/e-puck2_main-processor.
The pre-built firmware is available here e-puck2-firmware.

Robot firmware update

Now and then there could be an official firmware update for the robot and it's important to keep the robot updated with the last firmware to get possibile new features, improvements and for bug fixes.
The onboard programmer run a GDB server, so we use GDB commands to upload a new firmware, for this reason a toolchain is needed to upload a new firmware to the robot.
The following steps explain how to update the robot firmware:
1. Download the package containing the required toolchain and script to program the robot: Windows, [Linux], [Mac OS]
2. Download the last version of the robot standard firmware, see section Robot standard firmware
3. Extract the package and put the firmware file (with elf extension) inside the package directory
4. Run the script:

Windows: double click program.bat
Linux:
Mac OS:

Webots

TBD

ROS

TBD