Software guide

Connect a robot

Step 3 of 4. Each robot joins your 2.4 GHz network and talks to the ROS master over TCP. Set the SSID, the master IP, and a unique id — then it appears as /hero_N.

1. 2.4 GHz network

The computer that runs roscore is the ROS master. The robot needs that IP (port 11411 by default). A laptop hotspot or a lab router both work. HeRo Wi‑Fi is 2.4 GHz only.

2. Open the web configurator

The firmware has two modes: config (access-point + web page) and ROS. Start the robot in config mode.

Turn HeRo on with all IR sensors covered. The RGB LED flashes pink.

Config mode

The robot becomes a Wi‑Fi access point. Connect from a laptop or phone:

  • ESSID: HERO_ROBOT_*****
  • Password: s3cr3tp4ss

Access point

Open http://192.168.4.1/ and set the network the robot should join, the ROS master IP, and the robot id.

Configurator

Wi‑Fi fields

Save

Save, then power the robot off.

3. Start the ROS master

After the credentials are saved, the robot joins that network on the next boot. A 2-second blue blink means it connected; red means it did not.

Connection blink

You only need to configure it again if the Wi‑Fi or master IP changes. Keep the access point up whenever you use the robots.

Start the TCP rosserial server and leave it running:

$ roslaunch hero_bringup hero_bringup.launch

Turn the robots on. You should see connection messages like this.

Bringup

4. Topics and services

$ rostopic list
/hero_0/cmd_motor
/hero_0/encoder
/hero_0/imu
/hero_0/laser
/hero_0/led
/hero_0/odom
/hero_0/position_controller/cmd_vel
/hero_0/velocity_controller/cmd_vel
/tf
$ rosservice list
/hero_0/pid_calibration
/hero_0/set_frequency
/hero_0/set_odom
/hero_0/set_pid_parameters

Drive one robot from another terminal (set the id):

$ roslaunch hero_bringup hero_teleop.launch id:=0

Teleop