Skip to content

Getting Started

Welcome to Hainer! This page walks you through everything you need to get up and running, from setting up your development machine to running your first commands on the robot.


1. Set Up Your Development Environment

Follow the Development Environment guide to set up VS Code Dev Containers backed by the lab's Docker images. This is the recommended way to get a working ROS environment on your machine.

You'll also need network access — either on the Hainer LAN or connected via WireGuard VPN. See Network Topology.


If you're new, follow this progression:

Simulate → Connect → Deploy
  1. Simulate first — develop and test your code in simulation before touching the real robot.
  2. Connect to the robot — once confident, SSH into the robot and test interactively.
  3. Deploy — make your changes persistent on the robot.

3. Running in Simulation

Simulation is the safest way to start. Two simulators are available:

roslaunch talos_pal_physics_simulator talos_pal_physics_simulator.launch
roslaunch talos_gazebo talos_gazebo.launch

Then start the default controllers in a separate terminal:

roslaunch talos_controller_configuration default_controllers.launch

See Simulation for more options and the DefaultController page for what you can do next.


4. Connecting to the Real Robot

Read safety rules first

Before working with the physical robot, read Handling & Safety in full.

Once you're on the Hainer LAN or VPN:

ssh -X pal@talos-7c

To point your local ROS tools at the robot's ROS master:

export ROS_MASTER_URI=http://talos-7c:11311
export ROS_IP=<your.dev_pc.ip.address>

See Connecting for user account details.


5. Turning On the Robot

See Handling & Safety for the full startup procedure. In short:

  1. Release E-Stops and flip the green power switch.
  2. Wait for the onboard PCs to boot (~2 min).
  3. Open the [WebCommander] at http://talos-7c:8080.
  4. Lift the robot off the ground before running the Initialization Script.
  5. Run the Initialization Script via WebCommander → Controllers → Initialization.
  6. Start the DefaultController.

6. Deploying Your Code

To copy a ROS package to the robot permanently:

cd ~/catkin_ws
catkin_make
source devel/setup.bash
rosrun pal_deploy deploy.py --package <your_package> talos-7c

See Deployment for persistent filesystem changes and configuring autostart.


7. Key Pages to Know

Topic Page
Hardware specs Specifications
Network setup Network Topology
Robot startup/shutdown Handling & Safety
SSH & user accounts Connecting
Simulation Simulation
Walking & upper-body control DefaultController
MoveIt arm planning MoveIt
Persistent deployment Deployment
Known issues Known Problems
External resources Other Resources