- Created: 23-05-14
- Last update: 24-0-02
- Maintainer: GeonhaPark | Seunmul [email protected]
- Contributor:
- About:
- Zzangdol-ai-car Firmware codes for MCU (Arduino Mega).
- Version 1.
- Includes communication logic between MPU nodes and MCU -- car control logic for zzangdol-ai-car HW
- Dependency:
- ROS library - https://github.com/frankjoshua/rosserial_arduino_lib
- Servo library for motor control - https://github.com/arduino-libraries/Servo
- TimerOne library for supporting multithread in Arduino Mega - https://github.com/PaulStoffregen/TimerOne
- Reference codes
The above dependency codes must be included in the PATH of your Arduino library package.
- Linux : /home/$USER/Arduino/libraries
Arduino
└── libraries
├── MPU9250
├── ros_lib
├── Servo
└── TimerOne
vscode with Arduino Extension : https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.vscode-arduino (ver : 0.6.0)
- Install the extension and move to the Target directory.
- Execute with Ctrl+P, Search Arduino, and click the following menu.
- Arduino: Select Serial Port -> Select Port.
- Arduino: Board Config -> Select Arudino Mega or your MCU.
- Arduino: Upload -> .elf files will be created in the "build" directories. Execution files will be automatically uploaded to MCU
- Firmware codes with C++, Arduino Platform
- Platform: Arduino Mega 2560
- Once the Build is Finished, You can execute ROS nodes in the MCU with the below codes
rosrun rosserial_python serial_node.py __name:=zzangdol_core _port:= /dev/ttyUSB0 _baud:=115200
# requires zzangdol_bringup launch files & dependecies : https://github.com/zzangdol-2023/zzangdol_bringup
roslaunch zzangdol_bringup zzangdol_core.launch usb_config:=true
- zzangdol-ai-car Firmware codes for MCU(Arduino Mega)
- Pure firmware codes with moving-avg-filter, which calculates extern-RC-controller's input
- Backup and example codes for Arduino Mega and ROS platform