-
Notifications
You must be signed in to change notification settings - Fork 0
Tutorial 7: Control Robotont using TeMoto
Robotont is an omnidirectional mobile base with ROS support, developed by the Institute of Technology at the University of Tartu.
Figure 1: Robotont mobile base.
This tutorial walks you through the steps how to connect and control Robotont using TeMoto.
*Note: If this is the first time you connect to the robot, you need access to internet in order to download TeMoto. The simplest option is to connect it via an ethernet cable.
-
Using the ethernet wire, connect robotont to a switch with internet access.
-
Robotont broadcast its own hotspot upon start up with SSID "robotont-#" where # corresponds to the ID of the robot. For example, in order to access robotont with ID 7, you need to connect to the network called "robotont-7". Ask the instructor for the password.
-
SSH to the robot
Once you successfully connect to the robot, you can SSH to it to put your code on the onboard computer. Use the following command
ssh -X [email protected].#
# refers to the robot ID
- Accept the ECDSA key fingerprint
- Use the same password as the one provided for the Wi-Fi connection.
Before you start, make sure the robot service is not running, since we are going to launch it dynamically using TeMoto. To stop the robotont.service
use the following command:
systemctl stop robotont.service
- Create a new Catkin Workspace and clone the TeMoto framework
# Since "catkin_ws" already exists on Robotont, let's call it temoto_ws
mkdir -p temoto_ws/src
# Navigate to the src folder
cd temoto_ws/src
# Clone TeMoto
git clone --recursive https://github.com/temoto-framework/temoto
# Install the dependencies
cd ..
rosdep install --from-paths src --ignore-src -r -y
-
Create your own TeMoto Config Package
<your>_temoto_config
Refer to the Tutorial 2 - "TeMoto Config" -
Add the robot to the robot_description.yaml file
Refer to Tutorial 6 - "Using the Robot Manager" and/or robot_description.yaml
- robot_name: "robotont"
description: "robotont"
reliability: 0.8
urdf:
package_name: "robotont_nuc_description"
executable: "urdf/robotont_realsense.urdf.xacro"
navigation:
controller:
package_name: "robotont_demos"
executable: "2d_slam.launch"
global_planner: "navfn/NavfnROS"
local_planner: "teb_local_planner/TebLocalPlannerROS"
scan_topic: "scan"
driver:
package_name: "robotont_support"
executable: "robotont_bringup.launch"
odom_topic: "odom"
cmd_vel_topic: "cmd_vel"
-
Create a TeMoto action that loads the robot
-
Create a TeMoto action that sends a goal pose to the mobile base
You can copy and paste the temoto actions provided on the temoto tutorials. If you reuse one of those actions, remove the .so file inside of the lib folder before catkin build.
- Make sure you change the robot_name for robotont in the input_parameters of the umrfg.json files
You can unplug the ethernet wire.
- On one terminal launch temoto It should be something like:
roslaunch <your>_temoto_config temoto.launch
-
Use another terminal to initialize the robot
-
Trigger a navigation action to send a goal pose to the robot.
See the robot moving.
- Try the navigation cycle.