Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Installing Seirios RNS onto your robot PC is easy! Follow these step-by-step guides to ensure seamless integration and deployment of Seirios RNS.
If you need help or have any inquiries along the way, reach out to us at sales@movel.ai or live chat at movel.ai/contact
If you're an existing client, please refer to this form to submit URLs to your required pre-installation videos and images
For seamless integration with Seirios RNS, it is important to set up some key robotics software and drivers in your robot system. The following is a checklist of things that Seirios RNS requires your robot system to have before Seirios is installed:
TF for base_link to scan:
Ensure that there is a direct tf link between the base_link
frame and the laser
frame as it is required by Seirios RNS
Seirios is designed to work with robots of all shapes and sizes.
However, checking that the robot is working correctly before software installation is crucial to preventing compounding errors.
Robot Checks:
Ensure odometry is working well
Align the bot appropriately to test 3-4 meters of linear, straight distance without an angular component. Test using the following command in Terminal: rostopic pub /cmd_vel geometry_msgs/Twist "linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0"
Restart motor
Check odom pose is zero.
Publish only linear vel x: 0.1 and stop the bot at the 3-4 m mark.
Echo the odom topic: rostopic echo /odom
.
Compare the pose of the updated odom with linear and angular bot travelled (offset 1-2%).
Align the bot properly. Mark the spot where the bot will begin rotating.
Restart the motors.
Rotate the bot clockwise. Quaternion should be updated to negative.
Restart the motor and rotate the bot anticlockwise. Quaternion should be updated to positive.
Restart the motor. Rotate and stop the bot at the original marked spot.
Make sure that the angular pose is a 0 rad change.
Validating Odometry Data
We provide you with a script that enables you to verify the odometry data by inputting the velocity and duration. The robot will then move at the specified velocity for the given duration. Subsequently, the script will calculate and provide the distance traveled by the robot based on these inputs.
This will facilitate the verification of your odometry data, making it easier and more efficient for you.
You can download the script here.
Ensure robot is moving linearly at the right speed
A minimum speed of 0.1 - 0.5 m/s needs to be tested. Also, manually check if the robot covers the distance correctly. A video recording is encouraged to troubleshoot any issues that may arise.
Open a new terminal window. Execute this command: rostopic pub /cmd_vel geometry_msgs/Twist "linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0"
Change the linear: x:
to 0.1-0.5 as we only want to move the robot straightly forward. Leave all the other values to 0.0.
Measure the distance the robot moved. And record the time between when the robot started to move and when the robot stopped. Calculate speed by dividing the distance over time.
Check whether your calculated speed matches up to the value that you have given for linear x.
If not, please recalibrate your wheels.
Alternatively, you may use rosrun telelop_twist_keyboard teleop_twist_keyboard.py
. Similarly, give it a linear speed between 0.1-0.5. Then repeat Steps 3 - 5 above.
Note:
If your robot is non-holonomic, it shouldn't be able to slide sideways. y should be 0.0.
If your robot is not flight-capable, z should be 0.0.
Validating Odometry Data
We provide you with a script that enables you to verify the odometry data by inputting the velocity and duration. The robot will then move at the specified velocity for the given duration. Subsequently, the script will calculate and provide the distance traveled by the robot based on these inputs.
This will facilitate the verification of your odometry data, making it easier and more efficient for you.
You can download the script here.
The goal of Part 1 of the installation is to install Docker and it’s dependencies
In the same directory in the Terminal, run the command bash install-1-docker.sh
Wait for the installation to complete
Then we move to the last part to install Seirios-RNS.
Before downloading or installing Seirios RNS, it's important to check the following (hardware and software) to ensure errors do not compound during or after installation
If you're an existing client, please refer to submit URLs to your required pre-installation videos and images
Click the following tab to view checklists
Ensure no wheel slippage occurs and that robot is able to teleoperate in a straight line
Move the robot straight, and echo the /odom
topic.
Align the wheels accordingly to test straight linear movement. It’s recommended to draw lines on the floor for accuracy.
Give only linear speed. Check the robot is travelling straight. A slight deviation is acceptable (1 - 2 degrees), but no more than 5 degrees.
After restarting the PC/machine, Seirios will automatically start every time the machine powers up.
To start Seirios manually, open a Terminal and enter your workspace by running the command cd ~/catkin_ws/movel_ai
Run docker-compose up
to start the docker containers for Seirios (output will be shown in the terminal)
Run docker-compose up -d
to start Seirios in the background (no output will be shown in the terminal)
To stop Seirios, go into the terminal where Seirios is currently running, and use Ctrl+C (if you run by using docker-compose up) OR run docker-compose down
in another terminal with the same directory. This will lead to the Docker containers being stopped.
To check for docker containers running at any point of time, run docker ps
.
If Seirios is up and running, you should expect to see the different containers of Seirios components being displayed. Otherwise, it should yield an empty table.
You can also check the version of Seirios by using docker ps
.
Ensure robot is moving linearly at the right speed
Before starting Robot checks:
Kill all Movel nodes (if you already have it previously installed)
Launch only the motor controller and the teleoperation keyboard twist for testing
[OR]
Run the following command:
rostopic pub -r 10 /cmd_vel - for linear linear: x-0.1 for rotation only : angular: z-0.1
Installation is easy with simple commands on the command line interface. Before you start, please ensure your system has both Ubuntu and ROS installed. Recommended;
(x86_64) Ubuntu 20.04 & ROS Noetic OR (arm64) Ubuntu 18.04 & ROS Melodic
The easy-deploy package can be obtained from our Movel AI representative or can be downloaded from the following mirrors. Please ensure the right mirror for the right architecture (arm64 or x86 is selected)
Follow the instructions on the following pages to completely install Seirios RNS:
Google Drive Link | Mirror (Terabox) |
---|---|
A trial license of 15 days is included in this easy-deploy package. Tuning of your robot parameters and configuration is required after installation. Please contact your Movel AI representative or email sales@movel.ai for support and assistance.
Custom features such as docking to charging stations are not included as it is a custom feature that requires development and integration. If you have a docking /custom feature code, please refer to this link for integration
Move the easy-deploy zip file to your home directory /home/<USER>
and extract the zip using the Archive Manager (<USER> refers to the account username).
Now, we need to run the installation in a Terminal
Right-click in the file explorer and open a Terminal in the extracted easy-deploy folder/directory
Then we move to the next part to install docker.
Taking the node “/motors_ctrl”
as an example. It is publishing to “/odom”
topic with “nav_msgs/Odometry”
message type, along with the other topics in the list. It also subscribes to “/cmd_vel”
topic with message type “geometry_msgs/Twist”
Go into the folder ‘/home/<user>/catkin_ws/movel_ai/config/movel/config/’
In the parameter file costmap_common_params.yaml, ensure that the robot footprint is defined correctly.
If the robot footprint is a polygon, configure the footprint parameter and comment out robot_radius. For example:
Here, the robot has a square footprint with the xy coordinates of the four corners as shown, while robot_radius is commented out.
If the robot footprint is circular, configure the robot_radius parameter and comment out footprint. For example:
In base_local_planner_params.yaml:
Go to “#Robot
” section. To tune the speed of the robot, configure max_vel_x
for linear speed, and max_vel_theta
for angular speed.
If the robot is not reaching the max speed, increase acc_lim_x
and acc_lim_theta
.
In footprint_model, select a suitable model type and configure the corresponding parameters.
In “#Obstacles
” section, tune the value of min_obstacle_dist
to set how far away the robot should keep away from obstacles. Reduce this parameter value if the robot is required to go through narrow spaces.
If the autonomous navigation motion is jerky, go to “catkin_ws/movel_ai/config/cmd_vel_mux/config”, find cmd_vel_mux.yaml, and increase the value set for timeout_autonomous
.
For in depth tuning of base_local_planner_params.yaml, refer to .
Launch the robot's motor and sensor drivers.
Run rosnode list
to find the names of the ROS nodes of the drivers.
Run rosnode info <node>
, where <node> is the name of the nodes determined from step 2.
Sample output:
From the information displayed from running step 3, make sure that:
The robot motor driver node subscribes to the topic /cmd_vel
for velocity commands.
The Lidar driver node publishes laser data to the topic /scan
If the topic names are not set as in step 4, remap them in the launch files of the drivers by adding a line in the launch files in the following format:
While the robot base and lidar are launched, run rosrun rqt_tf_tree rqt_tf_tree
and check that the frames are linked in this order: odom → base_link → laser.
If the frames of base_link and laser are not linked correctly, there are two options you can link them. You can select one of them. (Prefer use Broadcast a transformation)
Broadcast a transformation refer to this .
Create static transformation. Add the following line in the launch file of the lidar drivers:
In “args”, x = 0.22, y = 0, z = 0.1397, yaw = 0, pitch = 0, roll = 0 for this example. This should provide a transformation between the base_link and laser frame If you use static transformation, there will be several issues, one of the most is localizer mode, the UI won't visualize a laser scan in localizer mode.
With the driver nodes running, run RVIZ using: rosrun rviz rviz
, do the following checks:
Laser data ("/scan")
can be seen and is orientated in the correct direction.
Movement direction during teleoperation is correct.
Robot odometry ("/odom")
is updating correctly during teleoperation.
Skip this step if you are only evaluating Seirios RNS on a trial license
To view the remainder of the days left of your trial license, enter in your browser of choice
The Seirios RNS license is specific to the individual PC/robot that you are installing it on. The license that has been activated cannot be transferred and used on another machine.
Retrieve the c2v file
Generate your fingerprint of the PC by executing this command:
cd ~/catkin_ws/movel_ai/license/
./hasp_update_34404 f hasp_34404.c2v
(x86)
./hasp_update_34404_arm64 f hasp_34404.c2v
(arm64)
You will see the new c2v file on the /home/<USER>/catkin_ws/movel_ai/license/hasp_34404.c2v
c2v
(customer-to-vendor) is a fingerprint of your PC/robot that Movel AI requires to generate a licensed product
Send a c2v file to or your Movel AI representative to request the license activation
Movel AI will send a v2c file with installation instructions
Send Movel AI the updated c2v file with the license activated
Keep the v2c and c2v files safe for future reference with Movel AI
Angular speed calibration check - Test using pub /cmd_vel for accurate result
Check the angular speed for at least 0.1-0.6 rad/s, and check whether the robot rotates correctly. A video recording is encouraged to troubleshoot any issues that may arise.
Likewise, repeat the same method to check angular speed calibration.
Run rostopic pub /cmd_vel geometry_msgs/Twist "linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0"
Set angular x value between 0.1-0.6. Leave the other values as 0.0.
Measure how much the robot turns. And similarly, record the time it took to turn.
Check that your calculations match the value you set for angular z.
Alternatively, you may use rosrun telelop_twist_keyboard teleop_twist_keyboard.py
. Set angular speed between 0.1-0.5. Then repeat Steps 3 - 5 above.
Validating Odometry Data
We provide you with a script that enables you to verify the odometry data by inputting the velocity and duration. The robot will then move at the specified velocity for the given duration. Subsequently, the script will calculate and provide the distance traveled by the robot based on these inputs.
This will facilitate the verification of your odometry data, making it easier and more efficient for you.
You can download the script here.
arm64 (currently unavailable)
The goal of Part 2 of the installation is to install Seirios, prepare the catkin_ws
, and create the appropriate docker-compose.yaml
file.
In the same directory in Terminal, run the command bash install-2-seirios.sh
Wait for the installation to complete
Restart the PC/machine after the installation
The script install_2.sh will not overwrite existing files in /home/catkin_ws , and will maintain backups of configuration files for safekeeping
To view the remainder of days left of your trial licence, enter localhost:1947
in your browser of choice