Pull to refresh

Ubuntu в техническом вузе

Configuring Linux *
Хотел бы рассказать об опыте использования Linux'a в целом и Ubuntu в частности в учебном процессе технического вуза — Ивановская государственная текстильная академия для студентов направления подготовки — «Моделирование и исследование в организационно-технических системах».

Прежде чем начать, хотелось бы высказать слова благодарности всем работникам отдела, обеспечивающего работу сети академии и отдельно Косинову Ю.А. за поддержку и помощь. Перед началом также хотелось бы сказать что по каждому пункту можно написать десятки листов текста с подробными объяснениями причин, настройками, но это выходит далеко за рамки обзорной статьи.

Почему собственно Ubuntu?


Дистрибутив выбирался на основании ряда критерий. Одним из самых главных факторов являлось дружелюбие и распространенность дистрибутива (с Fedora был не очень удачный опыт циклических зависимостей rpm, но это было в ранних версиях 1 или 2). Большое количество программного обеспечения и простота его установки тоже сыграли немаловажную роль. Далее в этой статье пойдет в основном обзор этого самого программного обеспечения.

С гуманитариями проще


Опыт использования открытых систем в целом и Ubuntu в частности показывает, что проще пересадить «гуманитария» чем «технаря» (а с выходом 1С нативно работающей в linux'e еще проще). И в первое место в списке причин подобного казалось бы парадокса заключается в CAD- системах, именно CAD, поскольку с CAM/CAE дела обстоят лучше.

Что же такого у нас технарю надо?


Специальность с информационными технологиями связано косвенно — они не самоцель, а средство (хотя в новом образовательном стандарте их роль и расширена). Основные же задачи можно описать так: считать, чертить, писать. При этом под «чертить» подразумевается еще и моделирование. Исходя из этих трех задач и выбиралось прикладное программное обеспечение.

Посчитать


Традиционно в ВУЗ'ах используют Matlab/MatCad/Maple и т.д. В общем — у кого какие лицензии есть, то и используют. У нас есть лицензия на Matlab+Simulink+SimMechanics и традиционно именно его у нас и используют. В каких-то случаях — на «посчитать» используют какой нибудь язык программирования. С языками, понятное дело, в Ubuntu'e все хорошо, и на этом останавливаться не будем, сказав лишь что используем Python, PyQT/PyGTK, Numpy, matplotlib, Eclipse+Pydev… одним словом, все что с Python'ом связано (хотя для OpenCv используем C++, может Python для него не умеем готовить? — медленно получается).
А вот о альтернативе/дополнении к Matlab+Simulink+SimMechanics сказать отдельно стоит. Конечно мы можем установить версию для Linux'a (и скорее всего так и сделаем, чтобы не перегружаться по необходимости), но кое чего нам в Matlab'e все же не хватает, например, не куплен модуль symbolic. Поэтому для замены мы используем следующий комплект (в дополнении к Python и Numpy) — Scilab+Scios, Maxima, и весьма редко Octave. Maxima на мой взгляд на две головы лучше чем пакет symbolic в Matlab'e, поэтому её используем наиболее часто. Scilab/Octave способны заменить Matlab, а вот Scios в качестве замены Simulink достаточно страшен. Хотя стоит отметить что для программы за 0 р. 0 коп. он более чем приличен. А SimMechanics спросите вы? Замены пока нет, что в общем то логично, поскольку он решает весьма специфичные задачи.

Почертить и не только


Как уже было сказано CAD — основная причина сложности перехода. Традиционно во всем мире используют Autocad… дьявола, мы — нет. Дело тут не только в лицензии и деньгах (хотя и в них в первую очередь). Тот кто начинал чертить 2D/3D в Компасе — тот никогда на автокад не вернется, не сломав себе голову. Но кроме Компаса нами еще используется SolidWorks+CosmosWorks+FloWorks — это один крупный программный комплекс, способных покрыть большинство задач проектирования и моделирования. Сразу понятно, что про достойную открытую альтернативу можно забыть, просто посмотрев на цену за установку SolidWorks'a. Поскольку лицензия есть, производились попытки установки Компас 3D LT и SolidWorks'a под Wine. Компас установился и заработал сразу, SolidWorks — установиться отказался, поэтому начались поиски альтернативных решений. К сожалению эксперименты проводились больше года назад, и, например, зайдя при подготовке к написанию данного обзора на сайт Wine, я обнаружил что SolidWorks 2009 имеет золотой статус, а значит следует снова попробовать.
При выборе или обзоре CAD системы под Linux в большинстве случаев следует сперва увидеть результаты работы программы и лишь после этого посмотреть на интерфейс, если таковой конечно вообще имеется. Короткий список того, что посмотрели используем или планируем использовать:

Blender [1]— замечательнейшая вещь (тем более что можно писать модули на Python). В качестве замены 3DsMax он подходит идеально. Хочется также отметить что студенты создали на его игровом движке пару игр, а вот в качестве CAD — использовать его очень и очень сложно (рис.1).

Рис. 1 Blender
Qcad[2](и его клон — LibreCad (рис. 2)) — очень похож на Autocad, поэтому, как уже было сказано выше, не рассматривался в качестве основного инструмента для создания чертежей. Справедливости ради хочется отметить что не рассматривали DraftSightCad по той же самой причине.

Рис. 2 LibreCad
OpenCasCade [3]— в одном из журналов LinuxFormat'a описывалась эта очень мощная библиотека и построенные на его основе системы. С использованием OpenCasCade можно построить собственную CAD систему, но для нас эта задача неподъемная и бессмысленная. Лучше примкнуть к очень перспективному на мой взгляд проекту FreeCad [4](рис.3) построенному на основе OpenCasCade (Python внутри, и снова радуемся что выбрали правильный язык).

Рис. 3 FreeCad
BRL-CAD [5] — создание 3D моделей в терминале? Узнав об этом студенты испытывают шок, как такое может быть в 21-м веке? Однако у системы есть только один большой недостаток. И как ни странно это невозможность штатными средствами нанести размеры. А вот текстовое описание моделей имеет ряд преимуществ, таких например как скорости создания моделей, возможность использования системы контроля ревизий для создания резервных копий, совместной работы (рис.4).

Рис. 4 BRL-CAD
OpenScad [6]— очень похож на BRL-CAD идеологией, только поменьше попроще и поудобнее. Вся сила так-же в тексте. (рис. 5)

Рис. 5 OpenScad

Для расчетов можно использовать мощный дистрибутив CAE-Linux [7], теперь основывающийся на Ubuntu, просто загрузил и считай. Или использовать отдельно программное обеспечение, такое как например Salome [8] (рис.6) (являющееся наверное самой крупной и мощной составляющей CAE-Linux и использующий в качестве ядра уже известный OpenCasCade).

Рис. 6 Salome и CaeLinux (Ubuntu)

Электроника и микропроцессорная техника


Для обучения студентов основам микроконтроллеров нами были изготовлены всем известные отладочные платы Arduino. Для Ubuntu из коробки есть IDE для разработки и загрузки приложений, а также среда для разработки схем. Для разработки дополнительных модулей мы используем KiCad [9] (рис.7). В KiCad'e конечно есть слегка непривычные моменты для перебежчика из PiCad'a и не хватает всех возможностей Altium'a, но это отличная программа, мало чем уступающая аналогам. Для моделирования схем, хотя нам редко приходится это делать, используем Qucs [10] (рис. 8).

Рис. 7 KiCad

Рис. 8 Qucs

Пишите сударь


Вот с подготовкой текстов и отчетов проблем нет. Из коробки доступны OpenOffice/LibreOffice, которые ничем не уступают продукту фирмы Microsoft. Даже больше того в плане удобства автоматизации (автоматическая простановка нумерации рисунков, таблиц, формул) OpenOffice/LibreOffice значительно превосходят вышеупомянутый продукт. Нельзя также забывать и о LaTex'e, на который мы пытаемся постепенно мигрировать.

1. Blender
2. Librecad
3. OpenCasCade
4. FreeCad
5. BRL-CAD
6. Open-Scad
7. CAE-Linux
8. Salome
9. KiCad
10. Qucs

В заключении хочется отметить что большинство программ упомянутых в данной статье обычно доступны в Ubuntu из коробки, а общая стабильность работы системы позволяет не распыляться на проблемы установки и настройки, а сосредоточится на решении инженерной задачи.

«Данный материал написан для «Первого конкурса русскоязычных статей для ОС Ubuntu 2011 года» (konkurs.ubuntu.ru)».

P.S. Только вот не уверен что попал в конкурс (статью отослал 30 сентября в 23.30, а срок был до 1-го октября).
P.P.S. Это моя первая статья на Хабре.
Tags:
Hubs:
Total votes 295: ↑272 and ↓23 +249
Views 38K
Comments Comments 64