Ascento Interface¶
Note
Ensure your PC is set up correctly for network communication with the robot before proceeding.
Attention
Instructions on how to interface with the robot using Ubuntu 22.04 and ROS 2 Humble.
Static Network Connection¶
To configure a static network connection between your PC and the robot for the first time, follow these steps:
Connect via LAN Cable: Use a LAN cable to connect your PC directly to the robot. The LAN port is located on the back of the robot’s top cover.

The ethernet port can be used for setting up communication via LAN.¶
Set Up a Manual Connection:
On an Ubuntu system, navigate to Settings → Network.
Click on the “+” icon to create a new connection.
In the IPv4 settings, change the connection mode to Manual.
Enter the following details:
Address IP: 10.42.0.51
Netmask: 24
Save the configuration and restart your network.
Verify the Connection:
Check the local IP of the host PC:
ifconfig
Ping the robot to ensure connectivity:
ping 10.42.0.50
Access the Robot via SSH:
Use the following command to connect:
ssh -X administrator@10.42.0.50
Default password: mybotshop
Important
Disconnect from other active networks to avoid interference during this process.
IP Addresses¶
The table below provides a reference for the IP addresses and login credentials for various Ascento components:
Name |
IP Address |
Username |
Password |
---|---|---|---|
Ascento Router |
10.42.0.1 |
ascento |
ascento |
Ascento Livox Mid360 |
10.42.0.20 |
x |
x |
Ascento Nvidia |
10.42.0.50 |
administrator |
mybotshop |
Ascento MCU |
10.42.0.100 |
x |
x |
Ascento Fixposition |
10.42.0.109 |
x |
x |
Ascento Cameras |
10.42.0.115 |
root |
ascento |
Ascento Steamdeck |
10.42.0.150 |
deck |
mybotshop |
Attention
Use these credentials responsibly. Change default passwords where security is critical.
Ascento Quick Start¶
Powering On:
Tilt the robot upward, insert the key into the bottom slot, and turn it clockwise to unlock.
The robot’s flashlights will blink indicating that the power has turned on.
Wait for 1 minute after powering up for the PC to bootup.
Powering Off:
Press Soft E-Stop (L2 + B)—this will cause the robot’s motors to dampen, allowing it to gently fall to the ground.
Lock the robot with the key.
Connecting via LAN:
To quickly establish a connection, use the following command:
ssh -X administrator@10.42.0.50
Warning
Ensure proper safety measures are in place when operating the robot. If issues arise during operation, refer to the specific troubleshooting commands provided below.
Ascento ROS2 Drivers¶
Important
Please contact support@mybotshop.de to gain access to the MBS Ascento repository for the latest changes and updates. When contacting support, please include your Mybotshop Order ID as well as your GitHub Username or GitHub Email ID.
All ROS2 drivers for Ascento developed by MYBOTSHOP operate under ROS DOMAIN ID=0 and utilize the Zenoh bridge for communication. The drivers are pre-configured and should already be running on the Ascento.
The Ascento ROS2 driver package includes the following:
Joint States
Robot Description
Leg Control (High-level)
Inertial Measurement Unit Publisher
Sensor Fusion
Twist Mux
Steamdeck Control
D435i Depth Camera Driver
Livox Mid360 Lidar Driver
2D Scanner
Fixposition
Ascento Startup Services¶
Several essential Ascento drivers and services run in the background to ensure smooth operation. Below is a list of the main services:
Service Name |
Description |
---|---|
ascento-desc |
Launches the robot state publisher for visualization. |
ascento-zenoh |
Bridges the robot MCU with the onboard Nvidia. |
ascento-mid360 |
Activates the mid360 LiDAR. |
ascento-desc-re |
Launches the joint state publisher for visualization. |
ascento-3d-odom |
Activates 3D odometry and localization. |
ascento-webserver |
Activates the robot web server. |
ascento-realsense |
Activates the Intel RealSense D435i camera. |
ascento-utils-root |
Activates Steamdeck services. |
ascento-fixposition |
Activates Fixposition GPS. |
ascento-battery-status |
Displays RViz battery marker. |
You can query, start, stop, or restart these services using the following commands:
sudo service {service_name} status
sudo service {service_name} start
sudo service {service_name} stop
sudo service {service_name} restart
Example:
sudo service ascento-desc status
To remove a service:
ros2 run robot_upstart uninstall {service_name}
Important
If you encounter an error such as Unit ascento-{service_name}.service could not be found., this indicates that the startup service is not installed.
Service Status Markers:
Red Marker: Indicates the startup job has failed. Restart the service:
sudo service {service_name} restart
Green Marker: Indicates the service is running correctly.
Grey Marker: Indicates the service has not started.
To modify the upstart job or add additional ROS launch files, update the main upstart file (system.launch.py) in the ascento_bringup package. After making changes:
ros2 run ascento_bringup startup_installer.py
Ascento Visualization¶
To view the robot in the simulation environment:
ros2 launch ascento_viz view_robot.launch.py
Ascento Teleoperation¶
Keyboard Teleoperation:
To control the robot using keyboard commands:
ros2 run teleop_twist_keyboard teleop_twist_keyboard
Ascento Simultaneous Localization and Mapping¶
SLAM allows the robot to perform simultaneous localization and mapping. Follow these steps to perform SLAM:
Ensure the ascento_bringup service is running.
Launch the SLAM process:
ros2 launch ascento_nav2 slam.launch.py
Begin mapping using the teleoperation keyboard at a speed of 0.2 m/s.
Exporting the Map:
Once satisfied with your map, export it using:
cd /home/administrator/ros2_ws/src/mybotshop/ascento_nav2/maps
ros2 run nav2_map_server map_saver_cli -f map_
Rebuild the Workspace:
If the map name is not map_, rebuild the workspace:
colcon build --symlink-install && source install/setup.bash
Finally, source the updated environment:
source /home/$USER/ros2_ws/install/setup.bash
Note
Ensure all dependencies are properly installed and the environment is sourced before running these commands.
Ascento Intel RealSense D435i¶
![]() Color Image¶ |
![]() Depth Image¶ |
Note
The D435i is launched by default through the Ascento bringup. Do not re-run the following command unless the ascento-realsense service has been stopped.
ros2 launch ascento_depth_camera realsense_d435i.launch.py
The launch file is pre-configured to enable continuous depth stream from the RealSense D435i without lag.
To modify parameters, edit the configuration file:
ascento_depth_camera/launch/realsense_d435i.launch.py
Ascento Mid360 LiDAR¶
Note
The Mid360 LiDAR is launched by default through the Ascento bringup. Do not re-run the following command unless the ascento-mid360 service has been stopped.
ros2 launch ascento_livox system.launch.py
Ascento Fixposition¶
To configure Fixposition, connect to Ascento’s WiFi and open the following address in a web browser:
http://10.42.0.109
This interface allows you to configure Fixposition export topics and establish an internet connection for RTK corrections.
For detailed instructions on tuning and RTK connection, refer to the Fixposition documentation.
Note
The ascento-3d-odom service can be disabled and replaced with Fixposition odometry if GPS-based odometry is required.
To stop the ascento-3d-odom service, run the following command:
sudo service ascento-3d-odom stop
Ascento Data Recording¶
Important
The ROS 2 bag should be started before launching any drivers; otherwise, it will not capture all the data.
To store data for 30 minutes, limited to 1 GB, use the following command:
ros2 bag record -a -b 1000000000
Asento Gazebo Simulation¶
Note
Ascento Gazebo Simulation is currently under development.
Launch Gazebo Simulation:
To simulate the robot in Gazebo Fortress:
ros2 launch ascento_gazebo fortress_simulation.launch.py
Teleoperation:
Control the robot during simulation with teleoperation:
ros2 run teleop_twist_keyboard teleop_twist_keyboard
Add Custom Models:
You can add custom models to Gazebo Ignition as needed.
Gazebo GUI Cleanup:
If the GUI becomes cluttered, you can reset it:
cd src/mybotshop/ascento_gazebo/config
./kill_gz.sh
Ascento Development¶
For custom controls and interfaces, refer to the Ascento SteamDeck ROS 2 package as a reference for development.
Ascento Diagnostics¶
The Ascento Diagnostics system uses different LED colors to indicate various states.
The robot’s diagnostics are represented by the following color codes:
Color |
State |
---|---|
RED |
The robot is in an error state. |
WHITE |
The robot is operational. |
ORANGE |
The robot is in a soft e-stopped state. |
BLUE |
The hardware manager is in none of the above states. |
Note
These diagnostics provide immediate visual feedback on the robot’s current status.
Ascento Status Commands¶
This section provides commands to monitor the various statuses of the Ascento Research Robot, including IMU, joint states, battery state, diagnostics, and other key metrics.
The following commands can be used to echo the respective statuses of the robot:
Status |
Command |
---|---|
IMU |
ros2 topic echo /ascento/imu
|
Joint States |
ros2 topic echo /ascento/joint_states
|
Battery State |
ros2 topic echo /ascento/battery_state
|
Diagnostic Status |
ros2 topic echo /ascento/diagnostic_status
|
Robot Description |
ros2 topic echo /robot_description
|
Robot Speed |
ros2 topic echo /ascento/estimator/speed_bias
|
Current Height |
ros2 topic echo /ascento/estimator/base_height
|
Motor Homing Status |
ros2 topic echo /ascento/homing_status
|
Head Light Status |
ros2 topic echo /ascento/headlight_state
|
Hazard Light Status |
ros2 topic echo /ascento/hazardlight_state
|
Eyes Status |
ros2 topic echo /ascento/eyes_state
|
Note
These commands provide real-time status updates for the respective components of the robot. Use them as needed for diagnostics or monitoring during operation.
Ascento Service Commands¶
This section provides service commands to control and configure various features of the Ascento Research Robot.
Important
Always perform motor homing before initiating the Standup command to ensure proper robot alignment.
Below is a list of service commands and their purposes:
Command |
Description |
---|---|
Standup |
Makes the robot stand up. ros2 service call /ascento/cmd/standup std_srvs/srv/Trigger {}
|
Head Light |
Turns the headlight on or off. ros2 service call /ascento/cmd/headlight_set std_srvs/srv/SetBool "{data: true}"
|
Hazard Light |
Turns the hazard light on or off. ros2 service call /ascento/cmd/hazardlight_set std_srvs/srv/SetBool "{data: true}"
|
Eyes State |
Toggles the eyes state on or off. ros2 service call /ascento/cmd/eyes_set std_srvs/srv/SetBool "{data: true}"
|
Powercycle Robot |
Restarts the robot power system. ros2 service call /ascento/cmd/power_reset std_srvs/srv/Trigger {}
|
Speed Bias Increase |
Increases the robot’s speed bias by 0.002 per request. ros2 service call /ascento/cmd/speed_bias_increase std_srvs/srv/Trigger {}
|
Speed Bias Decrease |
Decreases the robot’s speed bias by 0.002 per request. ros2 service call /ascento/cmd/speed_bias_decrease std_srvs/srv/Trigger {}
|
MCU Reboot |
Reboots the robot’s MCU. ros2 service call /ascento/cmd/reboot_computer std_srvs/srv/Trigger {}
|
Motor Homing Start |
Starts the motor homing process. ros2 service call /ascento/cmd/homing_start std_srvs/srv/Trigger {}
|
Motor Homing Cancel |
Cancels the motor homing process. ros2 service call /ascento/cmd/homing_cancel std_srvs/srv/Trigger {}
|
Note
These commands are critical for controlling the robot’s operational features. Ensure the robot is powered on and connected before executing them.
Ascento Publish Commands¶
This section provides commands for publishing messages to control and configure various functionalities of the Ascento Research Robot.
Warning
The Ascento operates using a deep-learning control framework. Changing the height deactivates the leg lock, which maintains constant height stability. This makes the robot more susceptible to falling.
Below is a list of publish commands and their purposes:
Command |
Description |
---|---|
Standard Height |
Sets the robot’s base height. Minimum height: 0.3m. Maximum height: 0.8m. ros2 topic pub /ascento/cmd/base_height_meter_set std_msgs/msg/Float64 "{data: 0.3}"
|
Command Velocity |
Publishes velocity commands to the robot. ros2 topic pub /ascento/cmd/twist geometry_msgs/msg/Twist
|
Error Clear |
Clears error states of the robot. ros2 topic pub /ascento/cmd/clear_error std_msgs/msg/Empty {}
|
Hard E-Stop |
Engages or disengages the hard emergency stop. Engage ros2 topic pub /ascento/cmd/hard_estop_set std_msgs/msg/Bool "{data: true}"
Dis-engage ros2 topic pub /ascento/cmd/hard_estop_set std_msgs/msg/Bool "{data: false}"
|
Soft E-Stop |
Engages or disengages the soft emergency stop. Engage ros2 topic pub /ascento/cmd/soft_estop_set std_msgs/msg/Bool "{data: true}"
Dis-engage ros2 topic pub /ascento/cmd/soft_estop_set std_msgs/msg/Bool "{data: false}"
|
Attention
Ensure that commands for E-Stop and velocity are executed responsibly to avoid unintended robot behavior.
Note
These commands allow for precise control of the robot during operation. Confirm the robot is connected and powered on before issuing commands.
Ascento Installation¶
This Section provides instructions for installing and configuring the Ascento Research Robot software.
Important
The repository should already be pre-installed and built on Ascento’s Nvidia board if it has been configured by the MYBOTSHOP Team.
Clone the Repository
Clone the repository and copy it to the Ascento’s PC. Then, run the installer script:
cd && cd ros2_ws/src/mybotshop/ sudo chmod +x ascento_dependencies.sh ./ascento_dependencies.sh
Build the ROS2 Workspace
Build the workspace and set up the environment:
cd && cd ros2_ws colcon build --symlink-install source install/setup.bash
Update `.bashrc`
Add the following lines to your .bashrc file for automatic sourcing (replace existing Humble or Noetic configurations if needed):
source /opt/ros/Humble/setup.bash source /home/$USER/ros2_ws/src/ascento_bringup/config/setup.bash
Configure Zenoh
Ensure Zenoh version 0.11 is installed and correctly configured:
Check Zenoh Version
zenoh-bridge-ros2dds --version
Remove Incorrect Version
sudo apt-get remove zenoh-bridge-ros2dds -y
Install Correct Version
Use the appropriate package based on the hardware (Steamdeck -> AMD, Nvidia -> ARM64):
cd ros2_ws/src/mybotshop/ascento_hardware/launch/zenoh/arch64/ sudo dpkg -i zenoh-bridge-ros2dds_0.11.0_arm64.deb
Verify Installation
zenoh-bridge-ros2dds --version
Run Startup Installers
Run the following commands to complete the setup:
ros2 run ascento_bringup startup_installer.py ros2 run ascento_bringup startup_root_installer.py
Ascento External Computer Installation¶
Clone and Build
Clone the mbs_ascento package and build it:
colcon build --symlink-install source install/setup.bash
Configure Zenoh
Ensure Zenoh version 0.11 is installed. Follow the same steps as above to install the correct version.
Environment Configuration
Important
This Step is critical. Ensure the following configurations are exported to every terminal in use, adjusting the configuration path as necessary.
export ASCENTO_NS="ascento_0110" PACKAGE_NAME="ascento_bringup" CYCLONEDDS_CONFIG_PATH=/home/administrator/salman_work/bipeds/ascento/mbs_ascento/src/mybotshop/$PACKAGE_NAME/config/cyclonedds.xml export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp export CYCLONEDDS_URI="${CYCLONEDDS_CONFIG_PATH}"
Launching Zenoh and RViz2
Launch Zenoh
ros2 launch ascento_hardware zenoh.launch.py
Launch RViz2
ros2 launch ascento_viz view_robot.launch.py
Miscellaneous¶
This section includes additional commands and processes to enhance the usage and maintenance of the Ascento Research Robot.
Time Synchronization¶
Sync System Time Use the following command to sync the system time with Google’s server:
sudo date -s "$(wget --method=HEAD -qSO- --max-redirect=0 google.com 2>&1 | sed -n 's/^ *Date: *//p')"
Sync Host Computer and Ascento Computer Synchronize the files between the host computer and the Ascento computer:
rsync -avP -t --delete -e ssh src administrator@10.42.0.50://home/administrator/ros2_ws
Sync Host Computer and Steamdeck Synchronize the files between the host computer and the Steamdeck:
rsync -avP -t --delete -e ssh src deck@10.42.0.150://home/deck/ros2_ws
URDF Conversion¶
Convert a Xacro file to a URDF file using the following command:
ros2 run xacro xacro /home/administrator/ros2_ws/src/mybotshop/ascento_description/xacro/robot.xacro > /home/administrator/ros2_ws/src/mybotshop/ascento_description/xacro/ascento.urdf