Wrapper of ROSLIB.Ros which automatically reconnects
npm install auto-ros
import AutoRos from 'auto-ros'
const autoRos = new AutoRos()
autoRos.connect()
import AutoRos, { type ConnectionStatus } from 'auto-ros'
const autoRos = new AutoRos({
reconnectTimeOut: 5000,
rosOptions: {
// transportFactory can be provided if you need a custom transport
}
})
autoRos.on('status', (status: ConnectionStatus) => {
console.log('Connection status:', status)
})
autoRos.connect('ws://localhost:9090')
new AutoRos(options?: AutoRosOptions)
reconnectTimeOut (number, optional): Reconnect timeout in milliseconds. Default: 5000rosOptions (object, optional): Options passed to the Ros constructor
transportFactory (ITransportFactory, optional): The factory to use to create a transport. Defaults to a WebSocket transport factory.connect(url?: string): voidConnect to rosbridge. If no URL is provided, uses the previous URL or a default based on hostname.
ros: RosThe underlying Ros instance from roslib.
status: ConnectionStatusCurrent connection status. Can be: 'connecting', 'connected', 'closed', or 'error'.
The class extends EventEmitter, so you can listen to events:
'status': Emitted when connection status changes# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Lint
npm run lint
See the repository license file.