-
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.
You should also take a point of noticing the LEDs at the front. They indicate what state the wheels are in. You should have them in the orange mode. This is for differential drive mode.
You may also want to stop the wheels, you do this by pressing the power button briefly. This will set the LEDs to red.
The wheels can also be used in Ackerman mode, this is when the LEDs are green. However, if you want to change the wheel mode, you should return it to the orange mode when you have finished.
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.
However, in research settings, you should contact the technician deploying the Limo for advice.
/// to be implemented
- Take the box and scan the QR code on it, or visit lncn.ac/LimoUse.
- Fill out the online form to check out the robot for your use.
- When you have finished using the robot, you will need to use the same form again to let us know you've finished using it!
- Make sure the leads coming from the battery are facing towards yourself, and on the left.
- Make sure the ribbon is laying underneath the battery (you should use this to lightly slide out the battery rather than the lead)
- You should then connect the two yellow connectors together.
- Then close the flap.
- Press and hold the power button for about 5 seconds (until it beeps) to turn the robot on.
- Press the shutdown button on the back of the display
- Wait until the screen is completely off, then...
- 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, you would use "ROS_MASTER" 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. This does not work in our setting, so we are using Zenoh as a replacement for DDS.
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 developer machine, go back to the devcontainer running in VSCode (the one you also run the simulation in).
- 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.
You will need to open multiple terminals in VS Code. You can do this by pressing either the + button for a new terminal window, or you can press the two boxes button to split the current window.

-
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