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.
2. Recommended Workflow
If you're new, follow this progression:
Simulate → Connect → Deploy
- Simulate first — develop and test your code in simulation before touching the real robot.
- Connect to the robot — once confident, SSH into the robot and test interactively.
- 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:
- Release E-Stops and flip the green power switch.
- Wait for the onboard PCs to boot (~2 min).
- Open the [WebCommander] at http://talos-7c:8080.
- Lift the robot off the ground before running the Initialization Script.
- Run the Initialization Script via WebCommander → Controllers → Initialization.
- 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 |