
Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-23 15:15
Là một phần của tốt nghiệp thạc sĩ của tôi tại dep. Thiết kế công nghiệp tại Đại học Eindhoven, tôi đã tạo ra một thiết bị vẽ xúc giác có thể được sử dụng để điều hướng một chiếc ô tô bán tự hành trong giao thông. Giao diện được gọi là nguệch ngoạc và cho phép người dùng trải nghiệm đồ đạc xúc giác trong không gian 2D thông qua một lực và vị trí thay đổi. Mặc dù khái niệm không phải là nội dung hướng dẫn này, bạn có thể đọc thêm về Scribble tại đây:
Scribble sử dụng cấu hình liên kết 5 thanh cho phép nó di chuyển hai bậc tự do theo phương (DoF). Thiết lập này khá phổ biến trong giới nguyên mẫu để tạo rô bốt vẽ, đây là một số ví dụ:
www.projehocam.com/arduino-saati-yazan-kol-…
blogs.sap.com/2015/09/17/plot-clock-weathe…
www.heise.de/make/meldung/Sanduhr-2-0-als-Bausatz-im-heise-shop-erhaeltlich-3744205.html
Về mặt cơ học, những robot này rất dễ chế tạo. Chúng chỉ cần các khớp nối cơ bản và có hai bộ truyền động có thể tạo ra một số chuyển động chất lỏng. Cấu trúc này lý tưởng cho những nhà thiết kế quan tâm đến việc chế tạo cấu trúc chuyển động. Tuy nhiên, tôi không phải là một kỹ sư cơ khí, tôi thấy động học khá khó để dịch sang mã. Do đó, tôi sẽ cung cấp mã Arduino cơ bản để tìm ra chuyển động học thuận và nghịch để bạn có thể dễ dàng sử dụng mã này trong các thiết kế trong tương lai của mình!;-)
Vui lòng tải xuống mã bên dưới!
* CHỈNH SỬA: cho một dự án tương tự, hãy xem tại https://haply.co *
Bước 1: Xây dựng cấu trúc

Tùy thuộc vào mục đích mà bạn có, trước tiên bạn nên thiết kế một cấu trúc liên kết 5. Suy nghĩ về các phép đo, bộ truyền động bạn muốn sử dụng và cách gắn các khớp để chuyển động trơn tru.
Đối với nguyên mẫu của tôi, tôi chạy mã của mình trên Arduino DUE được điều khiển nối tiếp bởi một chương trình trên máy Mac của tôi được tạo trong Open Frameworks. Chương trình sử dụng kết nối UDP để giao tiếp với trình mô phỏng lái xe dựa trên Unity 3D.
Nguyên mẫu Scribble sử dụng vòng bi 5mm và được làm từ acrilic cắt laser 5 mm. Bộ truyền động là Động cơ Haptic của Frank van Valeknhoef cho phép kích hoạt, đọc vị trí và tạo ra một lực thay đổi. Điều này làm cho chúng trở nên lý tưởng cho các thuộc tính xúc giác mong muốn của Scribble. Thông tin thêm về các thiết bị truyền động của anh ấy có thể được tìm thấy tại đây:
Bước 2: Biết giá trị phần cứng của bạn

Các chuyển động học phía trước dựa trên trạm thời tiết đồng hồ Plot của SAP:
Như được hiển thị trong cấu hình của chúng được mở rộng để cánh tay giữ một điểm đánh dấu để vẽ. Điều này đã bị loại bỏ vì nó không phục vụ mục đích cho nguyên mẫu viết nguệch ngoạc. Kiểm tra mã của họ nếu bạn muốn thêm lại thành phần này. Các tên trong hình được giữ nguyên trong cấu hình của tôi.
Tùy thuộc vào phần cứng của bạn, thuật toán cần biết các thuộc tính phần cứng của bạn:
int leftActuator, rightActuator; // góc để ghi vào bộ truyền động bằng độ, thay đổi thành số nổi nếu bạn muốn chính xác hơn
int posX, posY; // tọa độ của vị trí của con trỏ
Đặt độ phân giải của các giá trị đầu vào của bạn
int posStepsX = 2000;
int posStepsY = 1000;
Kích thước thiết lập của bạn, giá trị tính bằng mm (xem ảnh SAP)
#define L1 73 // chiều dài cánh tay động cơ, xem hình ảnh SAP (trái và phải giống nhau)
#define L2 95 // nhánh mở rộng chiều dài, xem ảnh SAP (trái và phải giống nhau)
#define rangeX 250 // phạm vi tối đa theo hướng X để điểm di chuyển (từ trái sang phải, 0 - maxVal)
#define rangeY 165 // phạm vi tối đa theo hướng Y để điểm di chuyển (từ 0 đến phạm vi tiếp cận tối đa trong khi vẫn ở giữa)
#define originL 90 // offset khoảng cách từ hầu hết giá trị minumim X đến vị trí trung tâm của thiết bị truyền động
#define originR 145 // bù khoảng cách từ hầu hết giá trị minumim X đến vị trí trung tâm của thiết bị truyền động, trong trường hợp này là khoảng cách giữa hai động cơ
Bước 3: Chuyển tiếp động học

Như đã đề cập ở bước trước, chuyển động học chuyển tiếp dựa trên thuật toán của SAP.
Khoảng trống cập nhật các giá trị góc mong muốn của bộ truyền động bên trái và bên phải được xác định trước đó. Dựa vào giá trị X và Y được cắm vào đó sẽ tính toán các góc vuông để đưa con trỏ đến vị trí này.
void set_XY (double Tx, double Ty) // nhập giá trị X và Y của bạn {// một số vals mà chúng tôi cần nhưng không muốn lưu cho các double dài dx, dy, c, a1, a2, Hx, Hy; // ánh xạ độ phân giải inpit thành phạm vi cấu hình của bạn trong thế giới thực int realX = map (Tx, 0, posStepsX, 0, rangeX); // hoán đổi ánh xạ if if inversed int realY = map (Ty, posStepsX, 0, 0, rangeY); // hoán đổi ánh xạ if nếu đảo ngược // góc calc cho bộ truyền động bên trái // cartesian dx / dy dx = realX - originL; // bao gồm offset dy = realY; // độ dài cực (c) và góc (a1) c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = return_angle (L1, L2, c); leftActuator = floor (((M_PI - (a2 + a1)) * 4068) / 71); // góc cuối cùng và chuyển đổi từ rad sang deg // góc calc cho bộ truyền động bên phải dx = realX - originR; // bao gồm offset dy = realY; c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = return_angle (L1, L2, c); rightActuator = floor (((a1 - a2) * 4068) / 71); // góc cuối cùng và chuyển đổi từ rad sang deg}
Khoảng trống bổ sung để tính toán góc:
double return_angle (double a, double b, double c) {// quy tắc cosin cho góc giữa c và a return acos ((a * a + c * c - b * b) / (2 * a * c)); }
Bước 4: Chuyển động học nghịch đảo

Động học nghịch đảo hoạt động theo chiều ngược lại. Bạn cắm chuyển động quay của bộ truyền động theo độ và khoảng trống sẽ cập nhật vị trí được xác định trước đó.
Xin lưu ý rằng bạn sẽ cần bộ truyền động hoặc một cảm biến riêng biệt có thể đọc góc của cánh tay. Trong trường hợp của tôi, tôi đã sử dụng bộ truyền động có thể đọc và ghi vị trí của chúng đồng thời. Hãy thử nghiệm điều này và xem xét thêm một số loại hiệu chỉnh để bạn chắc chắn rằng góc của bạn được đọc chính xác.
Đề xuất:
Máy ảnh hồng ngoại hình ảnh nhiệt tự làm: 3 bước (có hình ảnh)

Máy ảnh hồng ngoại hình ảnh nhiệt tự làm: Xin chào! Tôi luôn tìm kiếm các Dự án mới cho các bài học vật lý của mình. Hai năm trước, tôi đã xem một báo cáo về cảm biến nhiệt MLX90614 từ Melexis. Loại tốt nhất chỉ với 5 ° FOV (trường nhìn) sẽ phù hợp với máy ảnh nhiệt tự chế
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: 14 bước (có hình ảnh)

Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: Có rất nhiều hướng dẫn trực tuyến về cách xây dựng máy ảnh phim của riêng bạn, nhưng tôi không nghĩ rằng có bất kỳ hướng dẫn nào về việc xây dựng cảm biến hình ảnh của riêng bạn! Cảm biến hình ảnh có sẵn từ rất nhiều công ty trực tuyến và việc sử dụng chúng sẽ giúp thiết kế
Mô-đun tiệm cận Haptic - Giá rẻ và dễ dàng: 5 bước (có hình ảnh)

Mô-đun tiệm cận Haptic - Giá rẻ và dễ dàng: Thiên Chúa ban tặng khả năng nhìn xa trông rộng cho con người là một khía cạnh quan trọng trong cuộc sống của chúng ta. Nhưng có một số người kém may mắn thiếu khả năng hình dung mọi thứ. Có khoảng 37 triệu người trên toàn cầu bị mù, trên 15 mili
Hình ảnh - Máy ảnh Raspberry Pi in 3D.: 14 bước (có Hình ảnh)

Hình ảnh - Máy ảnh Raspberry Pi 3D được in: Cách đây trở lại vào đầu năm 2014, tôi đã xuất bản một máy ảnh có thể hướng dẫn được gọi là SnapPiCam. Máy ảnh được thiết kế để đáp ứng với Adafruit PiTFT mới được phát hành. Đã hơn một năm trôi qua và với bước đột phá gần đây của tôi vào in 3D, tôi nghĩ rằng n
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: 7 bước (với hình ảnh)

Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: Tôi biết bạn đang nghĩ gì. Bằng cách " thân mật, " Ý tôi là chiếu sáng cận cảnh trong các tình huống ánh sáng khó - không nhất thiết dành cho " các tình huống thân mật. &Quot; (Tuy nhiên, nó cũng có thể được sử dụng cho việc đó …) Là một nhà quay phim thành phố New York - hoặc