.. figure:: media/gifs/ascento_forward.webp :width: 100% :alt: ascento_forward :align: center :class: mbsrounded 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: 1. **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. .. figure:: media/pictures/ascento_network.jpg :width: 60% :alt: ascento_transport_two_person :align: center :class: mbsrounded The ethernet port can be used for setting up communication via LAN. 2. **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. 3. **Verify the Connection**: - Check the local IP of the host PC: .. code:: bash ifconfig - Ping the robot to ensure connectivity: .. code:: bash ping 10.42.0.50 4. **Access the Robot via SSH**: - Use the following command to connect: .. code:: bash 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**: 1. Tilt the robot upward, insert the key into the bottom slot, and turn it clockwise to unlock. 2. The robot’s flashlights will blink indicating that the power has turned on. 3. 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: .. code:: bash 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. .. Disengaging E-Stops .. ------------------- .. **Disengage Hard E-Stop**: .. To disable the hard emergency stop: .. .. code:: bash .. ros2 topic pub /ascento/cmd/hard_estop_set std_msgs/msg/Bool "{data: false}" .. **Disengage Soft E-Stop**: .. To disable the soft emergency stop: .. .. code:: bash .. ros2 topic pub /ascento/cmd/soft_estop_set std_msgs/msg/Bool "{data: false}" .. Motor Homing .. ------------ .. **Start Motor Homing**: .. To initiate motor homing: .. .. code:: bash .. ros2 topic pub /ascento/cmd/homing_start std_msgs/msg/Empty {} .. .. warning:: .. If motor homing fails, try power cycling the robot using the following command: .. .. code:: bash .. ros2 service call /ascento/cmd/power_reset std_srvs/srv/Trigger {} .. Standup .. ------- .. To make the robot stand up, use the following command: .. .. code:: bash .. ros2 service call /ascento/cmd/standup std_srvs/srv/Trigger {} .. Visualization .. ------------- .. To view the robot in the simulation environment: .. .. code:: bash .. ros2 launch ascento_viz view_robot.launch.py .. Teleoperation .. ------------- .. **Keyboard Teleoperation**: .. To control the robot using keyboard commands: .. .. code:: bash .. ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=/ascento/cmd/twist .. TF Tree .. ------- .. To view the robot's TF tree: .. .. code:: bash .. ros2 run rqt_gui rqt_gui --ros-args --remap tf:=/ascento_0110/tf --ros-args --remap tf_static:=/ascento_0110/tf_static .. .. note:: .. For best results during teleoperation or visualization, ensure all software dependencies are properly installed and the robot is powered on. 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** .. figure:: media/pictures/ascento_rviz.png :width: 100% :alt: cascento_rviz :align: center :class: mbsrounded 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: .. code:: bash sudo service {service_name} status sudo service {service_name} start sudo service {service_name} stop sudo service {service_name} restart **Example**: .. code:: bash sudo service ascento-desc status To remove a service: .. code:: bash 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: .. code:: bash 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: .. code:: bash ros2 run ascento_bringup startup_installer.py Ascento Visualization --------------------- To view the robot in the simulation environment: .. code:: bash ros2 launch ascento_viz view_robot.launch.py Ascento Teleoperation --------------------- **Keyboard Teleoperation**: To control the robot using keyboard commands: .. code:: bash ros2 run teleop_twist_keyboard teleop_twist_keyboard Ascento Simultaneous Localization and Mapping --------------------------------------------- .. figure:: media/pictures/ascento_slam.png :width: 100% :alt: ascento_slam :align: center :class: mbsrounded SLAM allows the robot to perform simultaneous localization and mapping. Follow these steps to perform SLAM: 1. Ensure the `ascento_bringup` service is running. 2. Launch the SLAM process: .. code:: bash ros2 launch ascento_nav2 slam.launch.py 3. 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: .. code:: bash 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: .. code:: bash colcon build --symlink-install && source install/setup.bash Finally, source the updated environment: .. code:: bash 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 Advanced Features .. ========================== .. This section covers advanced operations for the Ascento Research Robot, including odometric and map navigation, Fixposition integration, Gazebo simulation, and diagnostics. Ascento Odometric Navigation ---------------------------- .. note:: **Ascento Odometric Navigation** is currently under development. To launch odometric navigation for the robot: .. code:: bash ros2 launch ascento_nav2 odom_navi.launch.py Ascento Map Navigation ---------------------- .. note:: **Ascento Map Navigation** is currently under development. To perform map-based navigation: 1. Ensure a map is generated, saved, and available in the ROS package. 2. Perform a `colcon build` to integrate the map into the workspace. 3. Launch the map navigation: .. code:: bash ros2 launch ascento_nav2 map_navi.launch.py Ascento Intel RealSense D435i ----------------------------- +--------------------------------------------------------+--------------------------------------------------------+ | .. figure:: media/pictures/color_image.png | .. figure:: media/pictures/depth_image.png | | :width: 90% | :width: 90% | | :align: center | :align: center | | :class: mbsrounded | :class: mbsrounded | | | | | 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. .. code-block:: bash 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: .. code-block:: bash 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. .. code-block:: bash ros2 launch ascento_livox system.launch.py .. figure:: media/pictures/ascento_lidar.png :width: 100% :alt: ascento_lidar :align: center :class: mbsrounded Ascento Fixposition ------------------- To configure **Fixposition**, connect to **Ascento's WiFi** and open the following address in a web browser: .. code:: bash 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: .. code-block:: bash sudo service ascento-3d-odom stop .. _Fixposition documentation: https://docs.fixposition.com/fd/current-firmware-version 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: .. code-block:: bash ros2 bag record -a -b 1000000000 Ascento Gazebo Simulation ------------------------- .. note:: **Ascento Gazebo Simulation** is currently under development. **Launch Gazebo Simulation**: To simulate the robot in Gazebo Fortress: .. code:: bash ros2 launch ascento_gazebo fortress_simulation.launch.py **Teleoperation**: Control the robot during simulation with teleoperation: .. code:: bash 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: .. code:: bash 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 | .. code:: bash | | | | | | ros2 topic echo /ascento/imu | +-------------------------+-------------------------------------------------------------+ | Joint States | .. code:: bash | | | | | | ros2 topic echo /ascento/joint_states | +-------------------------+-------------------------------------------------------------+ | Battery State | .. code:: bash | | | | | | ros2 topic echo /ascento/battery_state | +-------------------------+-------------------------------------------------------------+ | Diagnostic Status | .. code:: bash | | | | | | ros2 topic echo /ascento/diagnostic_status | +-------------------------+-------------------------------------------------------------+ | Robot Description | .. code:: bash | | | | | | ros2 topic echo /robot_description | +-------------------------+-------------------------------------------------------------+ | Robot Speed | .. code:: bash | | | | | | ros2 topic echo /ascento/estimator/speed_bias | +-------------------------+-------------------------------------------------------------+ | Current Height | .. code:: bash | | | | | | ros2 topic echo /ascento/estimator/base_height | +-------------------------+-------------------------------------------------------------+ | Motor Homing Status | .. code:: bash | | | | | | ros2 topic echo /ascento/homing_status | +-------------------------+-------------------------------------------------------------+ | Head Light Status | .. code:: bash | | | | | | ros2 topic echo /ascento/headlight_state | +-------------------------+-------------------------------------------------------------+ | Hazard Light Status | .. code:: bash | | | | | | ros2 topic echo /ascento/hazardlight_state | +-------------------------+-------------------------------------------------------------+ | Eyes Status | .. code:: bash | | | | | | 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. | | | | | | .. code:: bash | | | | | | ros2 service call /ascento/cmd/standup std_srvs/srv/Trigger {} | +-------------------------+---------------------------------------------------------------------------------------+ | **Head Light** | Turns the headlight on or off. | | | | | | .. code:: bash | | | | | | ros2 service call /ascento/cmd/headlight_set std_srvs/srv/SetBool "{data: true}" | +-------------------------+---------------------------------------------------------------------------------------+ | **Hazard Light** | Turns the hazard light on or off. | | | | | | .. code:: bash | | | | | | ros2 service call /ascento/cmd/hazardlight_set std_srvs/srv/SetBool "{data: true}" | +-------------------------+---------------------------------------------------------------------------------------+ | **Eyes State** | Toggles the eyes state on or off. | | | | | | .. code:: bash | | | | | | ros2 service call /ascento/cmd/eyes_set std_srvs/srv/SetBool "{data: true}" | +-------------------------+---------------------------------------------------------------------------------------+ | **Powercycle Robot** | Restarts the robot power system. | | | | | | .. code:: bash | | | | | | 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. | | | | | | .. code:: bash | | | | | | 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. | | | | | | .. code:: bash | | | | | | ros2 service call /ascento/cmd/speed_bias_decrease std_srvs/srv/Trigger {} | +-------------------------+---------------------------------------------------------------------------------------+ | **MCU Reboot** | Reboots the robot's MCU. | | | | | | .. code:: bash | | | | | | ros2 service call /ascento/cmd/reboot_computer std_srvs/srv/Trigger {} | +-------------------------+---------------------------------------------------------------------------------------+ | **Motor Homing Start** | Starts the motor homing process. | | | | | | .. code:: bash | | | | | | ros2 service call /ascento/cmd/homing_start std_srvs/srv/Trigger {} | +-------------------------+---------------------------------------------------------------------------------------+ | **Motor Homing Cancel** | Cancels the motor homing process. | | | | | | .. code:: bash | | | | | | 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. | | | | | | .. code:: bash | | | | | | ros2 topic pub /ascento/cmd/base_height_meter_set std_msgs/msg/Float64 "{data: 0.3}" | +------------------------+-----------------------------------------------------------------------------------------+ | **Command Velocity** | Publishes velocity commands to the robot. | | | | | | .. code:: bash | | | | | | ros2 topic pub /ascento/cmd/twist geometry_msgs/msg/Twist | +------------------------+-----------------------------------------------------------------------------------------+ | **Error Clear** | Clears error states of the robot. | | | | | | .. code:: bash | | | | | | ros2 topic pub /ascento/cmd/clear_error std_msgs/msg/Empty {} | +------------------------+-----------------------------------------------------------------------------------------+ | **Hard E-Stop** | Engages or disengages the hard emergency stop. | | | | | | *Engage* | | | | | | .. code:: bash | | | | | | ros2 topic pub /ascento/cmd/hard_estop_set std_msgs/msg/Bool "{data: true}" | | | | | | *Dis-engage* | | | | | | .. code:: bash | | | | | | 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* | | | | | | .. code:: bash | | | | | | ros2 topic pub /ascento/cmd/soft_estop_set std_msgs/msg/Bool "{data: true}" | | | | | | *Dis-engage* | | | | | | .. code:: bash | | | | | | 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. 1. **Clone the Repository** Clone the repository and copy it to the Ascento's PC. Then, run the installer script: .. code:: bash cd && cd ros2_ws/src/mybotshop/ sudo chmod +x ascento_dependencies.sh ./ascento_dependencies.sh 2. **Build the ROS2 Workspace** Build the workspace and set up the environment: .. code:: bash cd && cd ros2_ws colcon build --symlink-install source install/setup.bash 3. **Update `.bashrc`** Add the following lines to your `.bashrc` file for automatic sourcing (replace existing Humble or Noetic configurations if needed): .. code:: bash source /opt/ros/Humble/setup.bash source /home/$USER/ros2_ws/src/ascento_bringup/config/setup.bash 4. **Configure Zenoh** Ensure Zenoh version 0.11 is installed and correctly configured: - **Check Zenoh Version** .. code:: bash zenoh-bridge-ros2dds --version - **Remove Incorrect Version** .. code:: bash sudo apt-get remove zenoh-bridge-ros2dds -y - **Install Correct Version** Use the appropriate package based on the hardware (Steamdeck -> AMD, Nvidia -> ARM64): .. code:: bash cd ros2_ws/src/mybotshop/ascento_hardware/launch/zenoh/arch64/ sudo dpkg -i zenoh-bridge-ros2dds_0.11.0_arm64.deb - **Verify Installation** .. code:: bash zenoh-bridge-ros2dds --version 5. **Run Startup Installers** Run the following commands to complete the setup: .. code:: bash ros2 run ascento_bringup startup_installer.py ros2 run ascento_bringup startup_root_installer.py .. Ascento Steamdeck Installation .. ============================== .. This section provides instructions for installing and configuring the Ascento Research Robot software on the Steamdeck. .. .. important:: .. The repository should already be pre-installed and built on the Steamdeck if configured by the MYBOTSHOP Team. .. 1. **Clone the Repository** .. Clone the repository, copy it to the Steamdeck, and run the installer script: .. .. code:: bash .. cd && cd /home/deck/ros2_ws/src/mybotshop/ascento_steamdeck .. sudo chmod +x deck_installation.sh .. ./deck_installation.sh .. 2. **Dependency Installation** .. Execute the dependency installer in the `ascento_steamdeck` directory: .. .. code:: bash .. ./deck_installation.sh .. Ensure configuration is aligned with `mbs_resources`. .. 3. **Configure Zenoh** .. Zenoh version 0.11 is required. Follow these steps: .. - **Check Zenoh Version** .. .. code:: bash .. zenoh-bridge-ros2dds --version .. - **Remove Incorrect Version** .. .. code:: bash .. sudo apt-get remove zenoh-bridge-ros2dds -y .. - **Install Correct Version** .. Use the package appropriate for the Steamdeck (AMD architecture): .. .. code:: bash .. cd ros2_ws/src/mybotshop/ascento_hardware/launch/zenoh/amd/ .. sudo dpkg -i zenoh-bridge-ros2dds_0.11.0_amd64.deb .. - **Verify Installation** .. .. code:: bash .. zenoh-bridge-ros2dds --version Ascento External Computer Installation -------------------------------------- 1. **Clone and Build** Clone the `mbs_ascento` package and build it: .. code:: bash colcon build --symlink-install source install/setup.bash 2. **Configure Zenoh** Ensure Zenoh version 0.11 is installed. Follow the same steps as above to install the correct version. 3. **Environment Configuration** .. important:: This Step is **critical**. Ensure the following configurations are exported to every terminal in use, adjusting the configuration path as necessary. .. code:: bash 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}" 4. **Launching Zenoh and RViz2** - **Launch Zenoh** .. code:: bash ros2 launch ascento_hardware zenoh.launch.py - **Launch RViz2** .. code:: bash 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 --------------------- 1. **Sync System Time** Use the following command to sync the system time with Google's server: .. code:: bash sudo date -s "$(wget --method=HEAD -qSO- --max-redirect=0 google.com 2>&1 | sed -n 's/^ *Date: *//p')" 2. **Sync Host Computer and Ascento Computer** Synchronize the files between the host computer and the Ascento computer: .. code:: bash rsync -avP -t --delete -e ssh src administrator@10.42.0.50://home/administrator/ros2_ws 3. **Sync Host Computer and Steamdeck** Synchronize the files between the host computer and the Steamdeck: .. code:: bash 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: .. code:: bash 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