Omnibot.jl
Description
A julia package for setting up client-side connection with Omnibots. Currently this is implemented via TCP-sockets. Note that for information on how to configure the server-side of this connection, you find information at https://gitlab.control.lth.se/processes/omnibot/omnibotserver.py.
Installation
using Pkg
Pkg.add("https://gitlab.control.lth.se/processes/omnibot/omnibot.jl")
Usage
Code
Use connectomnibot
to create a TCP-connection. Whenever your script is done or you catch an error, close the connection with close
.
Example: Make the robot go in a circle and print all available coordinates
using Omnibot
host = ...
port = ...
bot = connectomnibot(host, port)
for i = 1:100
setspeeds(bot,[100,100,100])
println("x:"*getx(bot))
println("y:"*gety(bot))
println("z:"*getz(bot))
println("theta:"*gettheta(bot))
sleep(0.1)
end
close(bot)
Example: Read the maximum set-point for servo speed
using Omnibot
host = ...
port = ...
bot = connectomnibot(host, port)
println(getmaxspeed(bot))
close(bot)
Network
At the department of automatic control, you should be connected to the omnibots via the same router. Currently this has been done with the router with name robotlab. IP and port conventions: Robot with name omniX has IP 192.168.0.10X
and port 900X
e.g.. omnibot omni10
has IP 192.168.0.110
and port 9006
.
Support
Contributing
Contributions and extensions are welcome. If you make any changes in the communication between server-and-client-side, make sure these changes are also extended to the server side package and the python client package.
License
MIT-license
Project status
Sporadically updated.