-
Notifications
You must be signed in to change notification settings - Fork 34
Using the real Limo Robot
This is the getting started guide to help you start using the real Limo robot.
Check the manufacturer's webpage and read Sections 1.1-1.6 of the manual whilst inspecting the real robot and its components. (Unfortunately the app suggested in Section 1.8 of the manual does not exist in UK app stores.)
When you are using the Limo robot you should make sure that you have read, understand and are following the risk assessment (intranet link). The high level overview of this is that you should check out the Limo before you use it, and take care not to drive it recklessly. You should not leave batteries charging unattended, and if you notice that the battery has been damaged, report this to a member of staff.
In all teaching settings, you should ensure that you are using a Lab PC to connect to the Limo robots. This is because of network segmentation between the robots and eduroam. The robots are not connected to eduroam.
- Take the box and scan the QR code on it. Fill out the online form to check out the robot for your use. Remember to use the same form to check it back in when you are done!
- Keep the robot always on the floor to avoid it accidentally driving off a table!
- Ensure you insert the battery correctly (so that the ribbon is underneath it).
- Press and hold the power button for about 5 seconds (until it beeps) to turn the robot on.
- Press and hold the power button for about 5 seconds (until it beeps) to turn the robot off again.
The robot uses Docker under the hood to run the ROS2 environment, don't worry — you don't need to know everything about it. You just need to know that it is a box that the docker environment runs in, and it needs to be running for ROS2 to work.
This container is called the 'Zenoh Container' as it makes use of Zenoh which is a tool we are going to be using to share data between the robot and the developer machine.
If you've previously used ROS1, the ROS_MASTER_URI is used to establish a client-server relationship with the robot. However, in ROS2, the system has shifted to using DDS (Data Distribution Service), which enables decentralized communication and coordination. DDS allows for more flexible and scalable control, facilitating the management of multiple robots in a coordinated fleet without relying on a single server.
On the display on the back of the Limo, you should now see a screen which tells you the state of the robot.

The hostname is displayed in big text, and it is the serial number of the Limo. We use this to track and maintain the robots we have.
The IP is the numbers that start with 10.82.0.x, you will need to use this to connect to the Limo from your developer machine.
Then you will see some text which shows the state of the container.
- If the container is
runningyou can continue with the next steps. - If the container is
shutdownyou will need to start the container. You should see on the desktop a blue icon that says 'Zenoh Docker On' press this, and wait a few seconds. It will then update to say it is running. Once it is running — you can continue. - If the container is in a
errorstate, ask for some help from the staff in the room. But, you may be able to resolve it by turning 'Zenoh Docker' off and then back on again.
In your own computer's devcontainer running in VSCode (the one you also run the simulation in!), you connect your local ROS2 system to the robots as follows:
- Make sure you are not running the simulation when connecting to the real robot! Stop it if you have to (
[Ctrl-c]) - start the bridge:
zenoh-bridge-ros2dds -e tcp/10.82.0.XXX:8888(you need to add your robot's IP again here!) and keep it running - run
ros2 topic list -vin a different terminal and you should see all the robot topics. Check which topic names are different to the simulation and which are the same.
To disconnect from the robot's ROS system, simply stop the zenoh-bridge-ros2dds process by pressing [Ctrl-c] in the terminal where it is running.
-
Now, let us use the graphical visualiser RVIZ to look at the robot and its sensor topics. Start by typing
rviz2. Explore different sensor stream -
Teleoperation. Leave the RVIZ running. In a new terminal start the keyboard teleoperation node
ros2 run teleop_twist_keyboard teleop_twist_keyboardand drive the robot around using the keyboard. Have fun, but pay attention to other robots and your human fellows, though!
If you are using the Limo robot as a part of teaching, you should now return to your module's specific instructions.
But, if you are using this for a research application, you might want to check out the advanced notes to fill you in on the details that have been omitted from here.
Copyright by Lincoln Centre for Autonomous Systems
-
CMP3103
- Using the Docker Image
- Week 1
- Week 2
- Week 3
- Week 4
- Week 5: Start working towards Coursework 2526
- Using the real Limo Robot