EgtMachKernel :

- corretto controllo catena cinematica in assenza di assi lineari (eliminato anche possibile crash).
This commit is contained in:
Dario Sassi
2024-02-19 17:16:14 +01:00
parent 1d3c722fd3
commit 09bdd4852d
+8 -1
View File
@@ -490,10 +490,17 @@ Machine::CalculateKinematicChain( void)
nHParId = m_pGeomDB->GetParentId( nHParId) ;
}
// se non ci sono assi, né lineari né rotanti, sicuramente errore
if ( m_nTabLinAxes == 0 && m_nHeadLinAxes == 0 &&
m_nTabRotAxes == 0 && m_nHeadRotAxes == 0) {
LOG_ERROR( GetEMkLogger(), "Errors in Axes : none have been found")
return false ;
}
// se nessun asse lineare deve essere un robot (in futuro va permesso un lineare di tavola)
if ( m_nTabLinAxes == 0 && m_nHeadLinAxes == 0) {
// verifico ci siano 6 assi rotanti tutti di testa (in futuro va permesso un rotante di tavola)
if ( m_nTabRotAxes != 0 && m_nHeadRotAxes != 6) {
if ( m_nTabRotAxes != 0 || m_nHeadRotAxes != 6) {
LOG_ERROR( GetEMkLogger(), "Robot with errors in Rotary Axes : number or type")
return false ;
}