Traxxas RC Car Example
Complete OctoMY™ configuration for an RC car robot
Traxxas RC Car Example
A complete example of configuring OctoMY™ for a Traxxas RC car converted into an autonomous robot platform.
Pro Tip
This example shows a complex multi-controller setup. If you're just starting out, begin with the Basic Wheeled Robot tutorial first. Come back here once you're comfortable with the fundamentals.
Overview
This example demonstrates how to configure all OctoMY™ components for a wheeled robot based on a Traxxas RC car chassis. It covers:
- Identity and personality
- Controller configuration
- Actuators and sensors
- Puppet (3D model)
- Plans and triggers
Did You Know?
Traxxas RC cars are popular for robotics conversions because they have high-quality motors, suspensions, and drivetrains. The 1/10 scale Slash is particularly popular for autonomous car research.
Identity configuration
Every OctoMY™ Agent needs a unique identity.
identification:
id: xxxxxx # Unique identifier (generated)
keypair: yyyyyy # RSA keypair (generated)
personality:
name: "El Traxxo"
gender: male
The identity is created during the delivery (birth) process.
Controller configuration
This robot uses two controllers working together.
Controller 1: Arduino
The first controller handles sensors and cameras:
controller:
name: "Arduino #1"
type: arduino
sensors:
- name: imu
type: accelerometer_gyro
media:
- name: usb_cam
type: usb_camera
- name: android_back
type: android_camera
position: back
- name: android_front
type: android_camera
position: front
depth: true
lobes:
- name: wheeled
type: locomotion
stanzas:
- name: driving
Controller 2: ArduMY
The second controller handles the RC servo actuators:
controller:
name: "ArduMY #1"
type: ardumy
actuators:
- name: throttle
type: rc_servo
pin: 9
- name: steering
type: rc_servo
pin: 10
sensors:
- name: lidar
type: usb_lidar
media:
- name: usb_cam
type: usb_camera
- name: android_back
type: android_camera
- name: android_front
type: android_camera
depth: true
lobes:
- name: wheeled
type: locomotion
Security Consideration
When using multiple controllers, ensure each has proper fail-safe configuration. If one controller loses communication, the others should bring the robot to a safe stop automatically.
Puppet configuration
The puppet defines the 3D scene graph for visualization and simulation.
puppet:
name: "RC Car"
scene:
- body
- wheel_fl # Front left wheel
- wheel_fr # Front right wheel
- wheel_bl # Back left wheel
- wheel_br # Back right wheel
- rc_servo_throttle
- rc_servo_steering
- lidar
- cameras
The puppet connects to actuators and sensors by name, allowing the UI to visualize the robot's state in real-time.
Triggers configuration
Triggers enable autonomous responses to events.
triggers:
- name: "Trigger-set #1"
triggers:
- type: location_enter
zone: "home_base"
action: slow_down
- type: face_detected
action: wave_greeting
- type: obstacle_detected
distance: 0.5
action: emergency_stop
Grid configuration
Grids define sensor data processing pipelines.
grids:
- name: "Grid #1"
calculations:
- type: obstacle_map
inputs: [lidar, depth_camera]
- type: position_estimate
inputs: [imu, wheel_encoders]
Plan configuration
The main plan brings everything together:
plan:
name: "Main Plan"
autonomy: full
skeptron:
enabled: true
group_size: 2 # Collaborate with 2 other agents
waypoint_mission: true
trigger_set: "Trigger-set #1"
grid: "Grid #1"
audit_trail:
enabled: true
type: blockchain
Pro Tip
Start with
autonomy: remoteto test manual control first. Once you're confident the hardware works correctly, switch toautonomy: fullfor autonomous operation.
Agent mode summary
With this configuration, the Agent supports multiple operating modes:
| Mode | Configuration |
|---|---|
| Authority | Available (can be controlled by Remote) |
| Skeptron | On (part of a 3-agent group) |
| Control | Plan (following waypoint mission) |
Stanza: Driving
The "driving" stanza connects the wheeled locomotion lobe to the actuators:
stanza:
name: driving
mappings:
- lobe: wheeled
actuators:
- throttle
- steering
sensors:
- imu
- lidar
When this stanza is active, the locomotion lobe controls both servos while receiving sensor feedback.
Hardware setup summary
| Component | Purpose | Controller |
|---|---|---|
| Throttle servo | Speed control | ArduMY #1 |
| Steering servo | Direction | ArduMY #1 |
| IMU (MPU6050) | Orientation | Arduino #1 |
| USB LIDAR | Obstacle mapping | ArduMY #1 |
| Front camera | Vision, depth | Arduino #1 |
| Back camera | Rear view | Arduino #1 |
Summary
This Traxxas example demonstrates:
- Multi-controller setup - Distributing work between Arduino and ArduMY
- Rich sensor array - IMU, LIDAR, and multiple cameras
- Autonomous behavior - Plans, triggers, and grids working together
- Group collaboration - Skeptron authority for multi-agent operations
Next steps
- Create plans - Create a Plan
- Advanced topics - Advanced Tutorials
- OPAL reference - OPAL Language