Resolving the Missing Joint Error in turtlebot3_manipulation with ROS2

When running the turtlebot3_manipulation package in ROS2, an error may arise indicating that a joint is not found:

Specifically, the error message can prevent the proper operation of the TurtleBot3 manipulator. This issue can be resolved by editing the URDF file associated with the TurtleBot3 manipulation description.

Continue reading

Ensuring Up-to-date Cloudflare IP Addresses in Nginx Configuration

When operating a web server, the reliability and performance of your server configuration can be heavily impacted by how well it handles traffic. One key aspect of this is managing IP addresses, particularly when dealing with reverse proxies like Cloudflare. Although Cloudflare’s IP addresses are not expected to change frequently, it remains crucial to stay synchronised with their most current IP ranges. This is where the cloudflare-nginx-snippets project steps in to automate the process.

Continue reading

Nginx 80 is blocked in Oracle Cloud Server?

The Oracle Always Free plan is an excellent option, but I found myself struggling with their firewall settings while attempting to run an Nginx web server. Despite enabling port 80 in both the network security groups and security lists, it was still being blocked for unknown reasons.

Firstly I checked the ufw settings and it was disabled definitely. However, when I looked at the iptable rules by executing sudo iptables -L, I was surprised by lots of existing rules there.

Continue reading

Spawn Objects in Gazebo of ROS Kinetic & Melodic (Python 2.7)

Spawn objects in the TIAGO’s gripper

Sometimes we need to add new objects to Gazebo to build a dynamic environment, particularly in some manipulation tasks. Suppose we test if the robot can pick up items from the floor. Thus, we may need a program to spawn models in a random position in the environment to verify our manipulation algorithms’ robustness. Like the top picture, a new cylinder is created in TIAGO’s gripper. Then TIAGO can deliver the cylinder to a free container.

Continue reading

macOS GPU Fan spins wildly

Some PCIe GPU fans spin uncontrollably on macOS computers, and it is very annoying to hear these fans’ buzzing. My computer is built with a Radeon RX 570 and sometimes has the above fan issue, especially after booting.

I searched the internet and found a tricky solution (source) that to install a benchmark software called LuxMark. After opening this software and running for a few seconds, the graphics card fan will magically return to the normal speed.

Continue reading

Socks5 Proxy Scheme with Remote DNS resolving

When using a Socks proxy, you must have written a string like socks5://127.0.0.1:8000 to represent the proxy protocol and address. Strings in this format are widely used in CURL based components such as Guzzle, pip, and urllib3. We often want these programs to use a Socks proxy to connect to the internet but get weird connection failures. An interesting part of these strange failures is that accessing some websites works fine, while others cannot. These failures persist even if you have confirmed that there is no failure of the proxy connection itself. At this time, I suggest you consider that these failures are caused by DNS issues, especially when you are in some special network environment, such as the network affected by DNS pollution, the Great Firewall of China or a public WIFI.

Continue reading