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.

The robot becomes a Wi‑Fi access point. Connect from a laptop or phone:
- ESSID:
HERO_ROBOT_***** - Password:
s3cr3tp4ss

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



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.

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.

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
