diff --git a/Install_Documentation/README.md b/Install_Documentation/README.md index d4bee6690aa7791ee51dba3571ef68832752bc2c..ad06ab001df9949c5e0f05c4d5ebc060c9337de0 100644 --- a/Install_Documentation/README.md +++ b/Install_Documentation/README.md @@ -16,40 +16,123 @@ Ensure you have the following installed on your system: ```bash git clone https://git-ce.rwth-aachen.de/rene.ebeling/robot-sensor.git ``` - ``` - cd ~/robot-sensor/ - ``` -3. **Install Dependencies**: +2. **Install Dependencies**: ```bash pip install -r /Install_Documentation/requirements.txt ``` -## Getting Started - -1. **Build the Workspace**: +3. **Build the Workspace**: ```bash cd ~/robot-sensor/workspaces/COLCON_WS ``` ```bash colcon build ``` -2. **Source the Workspace and ROS2 installation**: +4. **Source the Workspace and ROS2 installation**: Ensure you are in the COLCON_WS Directory ```bash source install/setup.bash + ``` + ```bash source /opt/ros/<ROSDISTRO>/setup.bash ``` -3. **Verify Installation**: - Open your browser or terminal and follow the instructions provided by the application. +5. **Install the Universal Robots driver and replace the ur_description package in `/opt/ros/humble/share/` wtth the custom made one from the repository**: + ```bash + sudo apt-get install ros-${ROS_DISTRO}-ur + ``` + ```bash + sudo rm -r /opt/ros/humble/share/ur_description + ``` + ```bash + sudo cp -r ~/robot-sensor/workspaces/COLCON_WS/src/ur_description /opt/ros/humble/share/ + ``` +6. **Now start the ur_robot_driver with the following comand:** + ```bash + ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur10 robot_ip:=<IP_from_your_robot> + ``` +7. **Afterwards we gonna launch the MoveIt2 configuration with the following command:** + ```bash + ros2 launch ur_moveit_config ur_moveit.launch.py ur_type:=ur10 launch_rviz:=true + ``` ## Troubleshooting - If you encounter issues, ensure all prerequisites are installed correctly. - Check for missing dependencies or version mismatches. +- Use the `--show-args` flag with ROS2 commands to display the arguments and options available for a specific launch file or node. This can help debug or understand the configuration better. +### Additional Troubleshooting Tools and Flags + +- **`--ros-args`**: Use this flag with ROS 2 commands to pass additional arguments or parameters to nodes. For example: + ```bash + ros2 run <package_name> <node_name> --ros-args -p <parameter_name>:=<value> + ``` + +- **`ros2 topic echo`**: Monitor the messages being published on a specific topic. This is useful for debugging communication between nodes. + ```bash + ros2 topic echo /<topic_name> + ``` + +- **`ros2 topic list`**: List all active topics in the ROS 2 system to ensure the expected topics are being published. + +- **`ros2 node list`**: Display all active nodes in the system to verify that the required nodes are running. + +- **`ros2 param list`**: List all parameters for a specific node to check if they are set correctly. + ```bash + ros2 param list /<node_name> + ``` +- **`ros2 param get`**: Retrieve the value of a specific parameter for a node. + ```bash + ros2 param get /<node_name> <parameter_name> + ``` + +- **`ros2 service list`**: List all available services to ensure the required services are active. + +- **`ros2 service call`**: Call a service to test its functionality. + ```bash + ros2 service call /<service_name> <service_type> "{<arguments>}" + ``` + +- **`colcon test`**: Run tests in your workspace to verify that your packages are functioning as expected. + +- **`colcon test-result`**: Check the results of the tests run with `colcon test`. + +- **`rqt`**: A graphical user interface tool for visualizing and debugging ROS 2 systems. Install it using: + ```bash + sudo apt-get install ros-${ROS_DISTRO}-rqt + ``` + +- **`rqt_graph`**: Visualize the node and topic connections in your ROS 2 system. Launch it with: + ```bash + rqt_graph + ``` + +- **`rviz2`**: A powerful visualization tool for ROS 2. Use it to debug robot states, sensor data, and more. + +- **Log Levels**: Adjust the log level of nodes to get more detailed output for debugging. For example: + ```bash + ros2 run <package_name> <node_name> --ros-args --log-level debug + ``` + +- **Environment Variables**: Use environment variables like `ROS_DOMAIN_ID` to isolate your ROS 2 network or `RMW_IMPLEMENTATION` to switch between middleware implementations. + +- **`ros2 doctor`**: A diagnostic tool to check the health of your ROS 2 installation. + ```bash + ros2 doctor + ``` ## Additional Resources -- Refer to the [Wiki](https://github.com/your-username/robot-sensor/wiki) for detailed documentation. -- Open an issue on the [GitHub Issues page](https://github.com/your-username/robot-sensor/issues) for support. +For more detailed documentation and support, refer to the following resources: + +- **Universal Robots ROS 2 Documentation**: Comprehensive guide for integrating Universal Robots with ROS 2. + [Universal Robots ROS 2 Documentation](https://docs.universal-robots.com/Universal_Robots_ROS2_Documentation/index.html) + +- **PyMoveIt2 GitHub Repository**: A Python interface for MoveIt2, useful for understanding how to control robots with Python nodes. + [PyMoveIt2 GitHub Repository](https://github.com/AndrejOrsula/pymoveit2/tree/7f722fd3fda6e6c958c150cf7d8ad619119d6262) + +- **ROS 2 Tutorials**: Official tutorials for ROS 2 Humble, covering a wide range of topics from beginner to advanced. + [ROS 2 Tutorials](https://docs.ros.org/en/humble/Tutorials.html) + +- **GitHub Issues**: If you encounter any problems or have questions, open an issue on the [GitHub Issues page](https://github.com/rene-ebeling/robot-sensor/issues).